Compare commits
414 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
278d0afc79 | ||
|
|
90031432da | ||
|
|
b11f0f16f4 | ||
|
|
b7895ad956 | ||
|
|
22b9f888fb | ||
|
|
61a260bc94 | ||
|
|
ced3c94dfa | ||
|
|
904ead1fb1 | ||
|
|
f6b6049bc5 | ||
|
|
ca1c4b0f9e | ||
|
|
58b4b3c8d6 | ||
|
|
25cc126ebc | ||
|
|
30bac19c5a | ||
|
|
7689d660dc | ||
|
|
e0d5ede296 | ||
|
|
2c25e22145 | ||
|
|
ffa9806d40 | ||
|
|
5ff41b9151 | ||
|
|
7e8ba59304 | ||
|
|
497d175ae9 | ||
|
|
de48d02c62 | ||
|
|
ac3e095e27 | ||
|
|
95a58358f8 | ||
|
|
cc72a34973 | ||
|
|
77b35dcda3 | ||
|
|
6ebb41b1e8 | ||
|
|
11cb22bd24 | ||
|
|
6fc3f5cea2 | ||
|
|
c8484e77d3 | ||
|
|
98c5d4a739 | ||
|
|
01d3d8fd6d | ||
|
|
47c2834ffa | ||
|
|
9f88e98d1b | ||
|
|
4b7055d0da | ||
|
|
563d7770d3 | ||
|
|
d62b58b1d9 | ||
|
|
4f78bb96a7 | ||
|
|
c94678e2be | ||
|
|
3c515d42f2 | ||
|
|
bb5869f8df | ||
|
|
faaa66eb3f | ||
|
|
14c60eb954 | ||
|
|
0234cd74f7 | ||
|
|
f637e81c8c | ||
|
|
ea82830a9f | ||
|
|
8b62c38e20 | ||
|
|
4667b4704d | ||
|
|
fe60614b41 | ||
|
|
1e833f542f | ||
|
|
faabfa11c2 | ||
|
|
959782835d | ||
|
|
412762ae9d | ||
|
|
6e4f4126b6 | ||
|
|
5dc212d1e5 | ||
|
|
a02c9b6589 | ||
|
|
18e18f240f | ||
|
|
96bdc7c74a | ||
|
|
812b96a571 | ||
|
|
a51145f9db | ||
|
|
36fc042e27 | ||
|
|
54f39318ba | ||
|
|
cbd5c2438d | ||
|
|
29e032d89c | ||
|
|
72a9696249 | ||
|
|
9ca89cdf63 | ||
|
|
227c900d1c | ||
|
|
49b304f3b7 | ||
|
|
ac77f0b879 | ||
|
|
54e02b1925 | ||
|
|
1489e42c46 | ||
|
|
684004bd89 | ||
|
|
80e68be9fa | ||
|
|
06af10e0d3 | ||
|
|
95b8aa38cb | ||
|
|
b010bff5d9 | ||
|
|
a8b73861a6 | ||
|
|
bd002fa96d | ||
|
|
5712dd05d9 | ||
|
|
694b0552c2 | ||
|
|
d9f5726d45 | ||
|
|
3c5a56b440 | ||
|
|
725cf83551 | ||
|
|
f91275ffd2 | ||
|
|
f0e46f4b12 | ||
|
|
57f7f21ecb | ||
|
|
9f673f27ef | ||
|
|
08db193b31 | ||
|
|
0be8b10995 | ||
|
|
b35df9062c | ||
|
|
f6f34c6341 | ||
|
|
22e4ca8925 | ||
|
|
4fd2be744e | ||
|
|
31e48437ec | ||
|
|
78f1bb3cc9 | ||
|
|
14cdb5fa16 | ||
|
|
533cd07cfd | ||
|
|
7232118978 | ||
|
|
7a1286ec1c | ||
|
|
a51a52268e | ||
|
|
6db43f9603 | ||
|
|
f7b5836c75 | ||
|
|
ffb2b27477 | ||
|
|
dd3c524c49 | ||
|
|
b92973df00 | ||
|
|
0b7e8f9720 | ||
|
|
f6342d3b52 | ||
|
|
013b3fb73c | ||
|
|
69527857f8 | ||
|
|
e0128a7817 | ||
|
|
62628b25c6 | ||
|
|
3f89b57c96 | ||
|
|
01537b401f | ||
|
|
30e846274c | ||
|
|
d340922fea | ||
|
|
8dd8d6f561 | ||
|
|
cdaa837d48 | ||
|
|
7576b5c602 | ||
|
|
fac3d8b8c4 | ||
|
|
cecf778381 | ||
|
|
0663a989f4 | ||
|
|
7b2d9d0b73 | ||
|
|
f220e11bce | ||
|
|
af4165d3e5 | ||
|
|
c82ca68c03 | ||
|
|
02e5029eb6 | ||
|
|
d98153ba9e | ||
|
|
4d913adcec | ||
|
|
5729d0b84a | ||
|
|
4a26cecd7d | ||
|
|
e5a3fa4cfa | ||
|
|
6268e82f35 | ||
|
|
348a5777d3 | ||
|
|
594af0c412 | ||
|
|
d6a81150b6 | ||
|
|
38b3413e94 | ||
|
|
762ec75601 | ||
|
|
6da9a39959 | ||
|
|
2938a1a312 | ||
|
|
eb517c8517 | ||
|
|
a79d2afb2d | ||
|
|
396f4ef566 | ||
|
|
c26b4803c3 | ||
|
|
4ccf12e988 | ||
|
|
74121fce78 | ||
|
|
0a7491d747 | ||
|
|
68bf3e7ff7 | ||
|
|
93dd8f535d | ||
|
|
0b993525f5 | ||
|
|
5dfdb68c75 | ||
|
|
443d1dc42b | ||
|
|
34f6c9514a | ||
|
|
2f2619403a | ||
|
|
d25cc847f3 | ||
|
|
769ad859e6 | ||
|
|
7ba0e5b42c | ||
|
|
201339345d | ||
|
|
6ee4205f1e | ||
|
|
2307e2cabe | ||
|
|
4becaa28ce | ||
|
|
cc45bd63ab | ||
|
|
757bcee4e2 | ||
|
|
1340b209f9 | ||
|
|
8f362d57fe | ||
|
|
d0b9c9b54a | ||
|
|
6284b0c489 | ||
|
|
8a211f98fd | ||
|
|
d6633397b7 | ||
|
|
0d06cc685e | ||
|
|
8de89a44a4 | ||
|
|
f3b1f10f6c | ||
|
|
2bced47762 | ||
|
|
7ba9b87064 | ||
|
|
a642c439ce | ||
|
|
d421bbfa60 | ||
|
|
3539ce1139 | ||
|
|
94b907f46d | ||
|
|
1e04622eb4 | ||
|
|
519269be9d | ||
|
|
7d6670ce3c | ||
|
|
50bd597baa | ||
|
|
4403b54fbc | ||
|
|
d6648b0b5c | ||
|
|
861e5c0be6 | ||
|
|
bf86b84d6c | ||
|
|
605dd02217 | ||
|
|
b33a62f2dc | ||
|
|
8a320eb0a1 | ||
|
|
83c4ced407 | ||
|
|
e094dead91 | ||
|
|
6cdf86b6b3 | ||
|
|
3e8bbb07ea | ||
|
|
e3ddd8e7d0 | ||
|
|
aa67982129 | ||
|
|
8aa645ae5d | ||
|
|
20540cb843 | ||
|
|
d338930d69 | ||
|
|
35c1763792 | ||
|
|
7a87bdcb1b | ||
|
|
50b6bd1884 | ||
|
|
db853d9023 | ||
|
|
5be44705f7 | ||
|
|
fdfa46099b | ||
|
|
f987e5f13d | ||
|
|
c766230118 | ||
|
|
bb2b1204b4 | ||
|
|
cf3690a434 | ||
|
|
7062acf10f | ||
|
|
7ace9c4d51 | ||
|
|
23887ce2a3 | ||
|
|
e8b8677bfe | ||
|
|
3603bc7c6a | ||
|
|
1e44941db6 | ||
|
|
f71da9e843 | ||
|
|
1b4a20a8af | ||
|
|
d8e179ed09 | ||
|
|
8016cf7ae9 | ||
|
|
7774426eb9 | ||
|
|
9fa522c29a | ||
|
|
b92295ad2c | ||
|
|
d7c8a5d193 | ||
|
|
0d8d6dceb0 | ||
|
|
8a5e793b3d | ||
|
|
8fcbed6481 | ||
|
|
ac2ed286e1 | ||
|
|
3c3c1f702d | ||
|
|
c33be29f56 | ||
|
|
d8ae2dcba2 | ||
|
|
3b14c0a04e | ||
|
|
0e3d6465eb | ||
|
|
d381a0b89b | ||
|
|
5df0fa145b | ||
|
|
f0ff0e1400 | ||
|
|
53f5a92dc8 | ||
|
|
d5c31273ee | ||
|
|
22ea58a849 | ||
|
|
67d96993ce | ||
|
|
96dd4f9835 | ||
|
|
3bef6be7c1 | ||
|
|
b83d38a72e | ||
|
|
5b73960f34 | ||
|
|
505a7f4ac9 | ||
|
|
e8acfb2b51 | ||
|
|
dcd5dc4c7f | ||
|
|
2702cdf889 | ||
|
|
669e7c32a2 | ||
|
|
294eb0feb5 | ||
|
|
a7ddbd0d53 | ||
|
|
c745dd6362 | ||
|
|
a4cf9f956e | ||
|
|
02aa68b24a | ||
|
|
4e731e1dce | ||
|
|
eee341e907 | ||
|
|
aad96bb1c4 | ||
|
|
50d3ee5703 | ||
|
|
08dfb78815 | ||
|
|
6949a5d075 | ||
|
|
893d3b0473 | ||
|
|
f5128e13f2 | ||
|
|
8318ea919f | ||
|
|
bde20e78f0 | ||
|
|
02db9525e7 | ||
|
|
8d4586bd57 | ||
|
|
8872659621 | ||
|
|
46c7677643 | ||
|
|
4b9f4b1b63 | ||
|
|
b64c93897b | ||
|
|
a7939f18d1 | ||
|
|
15efbc29be | ||
|
|
6e5466a4ec | ||
|
|
737c897624 | ||
|
|
c317a876dd | ||
|
|
72c67aacc4 | ||
|
|
ba7e3fc0b5 | ||
|
|
61cf679b8c | ||
|
|
ba55bacab4 | ||
|
|
9445bd2205 | ||
|
|
6ed1f45ffd | ||
|
|
81be1d2e2f | ||
|
|
52abf74088 | ||
|
|
623bc6dbf3 | ||
|
|
04b23ec68f | ||
|
|
b65f362f0d | ||
|
|
7c30f35b12 | ||
|
|
9e976f06b4 | ||
|
|
369801dbeb | ||
|
|
2c3c7e8a73 | ||
|
|
bb8f34de83 | ||
|
|
6c98658fe1 | ||
|
|
3f06c2bc04 | ||
|
|
9e38b091a9 | ||
|
|
62d7b883f0 | ||
|
|
e56a9c5681 | ||
|
|
03aa180472 | ||
|
|
bbb0775e1a | ||
|
|
c41d285131 | ||
|
|
cc63876b7e | ||
|
|
08769ec0b6 | ||
|
|
5615c21797 | ||
|
|
48d2b4c902 | ||
|
|
a43db7233d | ||
|
|
25143c92f4 | ||
|
|
c4ab7e9bbf | ||
|
|
1d082fc026 | ||
|
|
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 | ||
|
|
ff94c5a143 | ||
|
|
81f999f761 | ||
|
|
17b5c0400a | ||
|
|
ac937b9549 | ||
|
|
0c223de045 | ||
|
|
564235d44c | ||
|
|
92a2361306 | ||
|
|
9f27654729 | ||
|
|
f4013c7a5c | ||
|
|
9e7eff4a3e | ||
|
|
5b2bdd138a | ||
|
|
90d3c5c51d | ||
|
|
b00e531626 | ||
|
|
b1c1b01184 | ||
|
|
739b1e11a0 | ||
|
|
a3541ff0d9 | ||
|
|
8fb5476a1c | ||
|
|
fc8a46f15a | ||
|
|
2e21f7cf72 | ||
|
|
a317d79016 | ||
|
|
4722b89cc3 | ||
|
|
5a4b71ba90 | ||
|
|
a6ee142f21 | ||
|
|
35427ed4f1 | ||
|
|
bce63d3168 | ||
|
|
0426d1d8d5 | ||
|
|
f9aaa732b2 | ||
|
|
7b82c5e12b | ||
|
|
db305687d5 | ||
|
|
f527fe3774 | ||
|
|
3428bebb67 | ||
|
|
73822dc5f5 | ||
|
|
961757f717 | ||
|
|
7d5c985004 | ||
|
|
cd16995503 | ||
|
|
3a3b5bac85 | ||
|
|
9f6b83eece | ||
|
|
4456b440d8 | ||
|
|
f61e2f5f5c | ||
|
|
a8eecac0ff | ||
|
|
9a6b4da33c | ||
|
|
cb53d0b85c | ||
|
|
318b9b18af | ||
|
|
cdf970d4b6 | ||
|
|
1ee3803265 | ||
|
|
b25c4d07a7 | ||
|
|
330e7b312d | ||
|
|
01f921541f | ||
|
|
cc52f4a260 | ||
|
|
eb71474c95 | ||
|
|
69681cdc9a | ||
|
|
c958e2d0fd | ||
|
|
9c964eaf1b | ||
|
|
0500480d75 | ||
|
|
37a09b7be1 | ||
|
|
d8c734124d | ||
|
|
25b6b562d9 | ||
|
|
f2315d28f9 | ||
|
|
9b93931de6 | ||
|
|
47a2fd36e1 | ||
|
|
be19802f78 | ||
|
|
35746251fd | ||
|
|
a2b014ccbf | ||
|
|
95131dc252 | ||
|
|
f3acb27d61 | ||
|
|
a904d51cf7 | ||
|
|
30ad3d670f | ||
|
|
63615cb657 |
178
.gitlab-ci.yml
178
.gitlab-ci.yml
@@ -1,40 +1,168 @@
|
||||
include:
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||
|
||||
stages:
|
||||
- commit_check
|
||||
- source_check
|
||||
- build
|
||||
- pre_review
|
||||
- prepare
|
||||
- review
|
||||
- build
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
retry:
|
||||
max: 1
|
||||
when:
|
||||
- 'runner_system_failure'
|
||||
- 'stuck_or_timeout_failure'
|
||||
- 'scheduler_failure'
|
||||
- 'api_failure'
|
||||
|
||||
variables:
|
||||
LINT_LOG: "eslint-report.txt"
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
workflow:
|
||||
rules:
|
||||
- if: '$CI_MERGE_REQUEST_IID'
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- if: '$CI_COMMIT_BRANCH'
|
||||
|
||||
.pipeline_guard: &pipeline_guard
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
||||
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
|
||||
- when: 'manual'
|
||||
|
||||
.gnome-shell-extensions.fedora:34:
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 34
|
||||
FDO_DISTRIBUTION_TAG: '2021-08-31.0'
|
||||
FDO_DISTRIBUTION_PACKAGES: >
|
||||
meson git gettext sassc
|
||||
|
||||
.prereview_req: &prereview_req
|
||||
needs:
|
||||
- check_commit_log
|
||||
- check-merge-request
|
||||
|
||||
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
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
script:
|
||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
||||
then
|
||||
ci-fairy check-commits --junit-xml=commit-message-junit-report.xml ;
|
||||
else
|
||||
echo "Not a merge request" ;
|
||||
fi
|
||||
<<: *pipeline_guard
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- commit-message-junit-report.xml
|
||||
reports:
|
||||
junit: commit-message-junit-report.xml
|
||||
|
||||
check-merge-request:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
script:
|
||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
||||
then
|
||||
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
|
||||
else
|
||||
echo "Not a merge request" ;
|
||||
fi
|
||||
<<: *pipeline_guard
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- check-merge-request-report.xml
|
||||
reports:
|
||||
junit: check-merge-request-report.xml
|
||||
|
||||
build-fedora-container:
|
||||
extends:
|
||||
- .fdo.container-build@fedora@x86_64
|
||||
- .gnome-shell-extensions.fedora:34
|
||||
stage: prepare
|
||||
<<: *prereview_req
|
||||
|
||||
js_check:
|
||||
stage: review
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- gjs-check-syntax
|
||||
|
||||
eslint:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: source_check
|
||||
stage: review
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- eslint -o $LINT_LOG --no-color || { cat $LINT_LOG; false; }
|
||||
<<: *only_default
|
||||
- eslint -o $LINT_LOG -f junit --resolve-plugins-relative-to $(npm root -g) extensions
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
when: on_failure
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
|
||||
build-shell-extensions:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
build-bundles:
|
||||
stage: build
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- meson _build .
|
||||
- ninja -C _build test install
|
||||
<<: *only_default
|
||||
- ./export-zips.sh
|
||||
artifacts:
|
||||
name: 'Extension bundles'
|
||||
expose_as: 'Get Extension bundles here'
|
||||
paths:
|
||||
- zip-files/
|
||||
|
||||
fedora-build:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell-extensions.fedora:34
|
||||
stage: build
|
||||
needs:
|
||||
- build-fedora-container
|
||||
script:
|
||||
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C build
|
||||
- meson test -C build
|
||||
- meson install -C build
|
||||
artifacts:
|
||||
paths:
|
||||
- build
|
||||
|
||||
fedora-dist:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell-extensions.fedora:34
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-build
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
script:
|
||||
- meson dist -C build
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
- "**/meson.build"
|
||||
- meson/*
|
||||
|
||||
fedora-dist-tarball:
|
||||
extends: fedora-dist
|
||||
artifacts:
|
||||
expose_as: 'Get tarball here'
|
||||
paths:
|
||||
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
@@ -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
|
||||
13
.gitlab-ci/commit-rules.yml
Normal file
13
.gitlab-ci/commit-rules.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
patterns:
|
||||
deny:
|
||||
- regex: '^$CI_MERGE_REQUEST_PROJECT_URL/(-/)?merge_requests/$CI_MERGE_REQUEST_IID$'
|
||||
message: Commit message must not contain a link to its own merge request
|
||||
- regex: '^extensions/'
|
||||
message: Commit message subject should not be prefixed with 'extensions/', use the extension name instead
|
||||
where: subject
|
||||
- regex: '^[^:]+: [a-z]'
|
||||
message: "Commit message subject should be properly Capitalized. E.g. 'window: Marginalize extradicity'"
|
||||
where: subject
|
||||
- regex: '^\S*\.js:'
|
||||
message: Commit message subject prefix should not include .js
|
||||
where: subject
|
||||
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
|
||||
@@ -28,4 +28,4 @@ imports (like imports.lang or imports.dbus) and introspection,
|
||||
the other for Shell API. Within the same group, put everything
|
||||
in alphabetic order.
|
||||
|
||||
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Style_Guide.md
|
||||
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/HEAD/doc/Style_Guide.md
|
||||
|
||||
396
NEWS
396
NEWS
@@ -1,3 +1,399 @@
|
||||
45.alpha
|
||||
========
|
||||
* window-list: Modernize default styling [Alexander; !253]
|
||||
* Replace classic styling with built-in light style [Florian; !254]
|
||||
* window-list: Add tooltip for long window titles [Arik; !251]
|
||||
* light-style: New extension [Florian; !256]
|
||||
* Misc. bug fixes and cleanups [Florian; !255, !257]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Arik W, Alexander Weichart
|
||||
|
||||
44.0
|
||||
====
|
||||
* Bump version
|
||||
|
||||
44.rc
|
||||
=====
|
||||
* Bump version
|
||||
|
||||
44.beta
|
||||
=======
|
||||
* Tweak menu alignment [robxnano; !246]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, robxnano
|
||||
|
||||
Translators:
|
||||
Vasil Pupkin [be]
|
||||
|
||||
43.1
|
||||
====
|
||||
* Fixed crash [Florian; !243]
|
||||
* Misc. bug fixes and cleanups [mowemcfc; !244]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, mowemcfc
|
||||
|
||||
Translators:
|
||||
Sabri Ünal [tr]
|
||||
|
||||
43.0
|
||||
====
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Pawan Chitrakar [ne], Zurab Kargareteli [ka], Aleksandr Melman [ru]
|
||||
|
||||
43.rc
|
||||
=====
|
||||
* Misc. bug fixes and cleanups [Florian; !240]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
43.beta
|
||||
=======
|
||||
* Misc. bug fixes and cleanups [Florian; !237, !238]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Nart Tlisha [ab]
|
||||
|
||||
43.alpha
|
||||
========
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Marco Ciampa [it]
|
||||
|
||||
42.3
|
||||
====
|
||||
* screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232]
|
||||
* window-list: Improve touch support [Florian; !233]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
42.2
|
||||
====
|
||||
* native-window-placement: Adjust to gnome-shell 42 changes [Florian; !229]
|
||||
* window-list: Fix visibility on non-primary monitors [Jason; !230]
|
||||
|
||||
Contributors:
|
||||
Jason Lynch, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Cheng-Chia Tseng [zh_TW]
|
||||
|
||||
42.1
|
||||
====
|
||||
* Misc. bug fixes and cleanups [Florian; !223, !222, !225]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Milo Casagrande [it], Rūdolfs Mazurs [lv], Nathan Follens [nl],
|
||||
Ngọc Quân Trần [vi], Zurab Kargareteli [ka]
|
||||
|
||||
42.0
|
||||
====
|
||||
|
||||
Translators:
|
||||
Philipp Kiemle [de], Balázs Úr [hu], Марко Костић [sr], sicklylife [ja],
|
||||
Baurzhan Muftakhidinov [kk]
|
||||
|
||||
42.rc
|
||||
=====
|
||||
* Misc. bug fixes and cleanups [Florian; !215, !218]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Marek Černocký [cs], Dušan Kazik [sk], Piotr Drąg [pl], Jiri Grönroos [fi],
|
||||
Luna Jernberg [sv], Alan Mortensen [da], Charles Monzat [fr],
|
||||
Changwoo Ryu [ko]
|
||||
|
||||
42.beta
|
||||
=======
|
||||
* workspace-indicator: Fix cancelling editing with Esc [Florian; !208]
|
||||
* window-list: Update window tracking to avoid missing icons [Florian; !207]
|
||||
* Use libadwaita for preferences [Florian; !209, !213]
|
||||
* Adapt to Clutter grab API changes [Florian; !212]
|
||||
* Misc. bug fixes and cleanups [Jan, Florian; !210, !214]
|
||||
|
||||
Contributors:
|
||||
Jan Beich, Florian Müllner, Naala Nanba
|
||||
|
||||
Translators:
|
||||
Boyuan Yang [zh_CN], Matej Urbančič [sl], Naala Nanba [ab],
|
||||
Alexander Shopov [bg], Emin Tufan Çetin [tr]
|
||||
|
||||
42.alpha
|
||||
========
|
||||
* native-window-placement: Fix distorted layout in app grid [Sebastian; !189]
|
||||
* window-list: Fix on-screen keyboard [Florian; !199]
|
||||
* Misc. bug fixes and cleanups [Neal; Just; !195, !197]
|
||||
|
||||
Contributors:
|
||||
Piotr Drąg, Neal Gompa, Sebastian Keller, Florian Müllner, Just Perfection
|
||||
|
||||
Translators:
|
||||
Goran Vidović [hr], Sveinn í Felli [is], Yuri Chornoivan [uk],
|
||||
Fabio Tomat [fur], Quentin PAGÈS [oc], Hugo Carvalho [pt],
|
||||
Yaron Shahrabani [he], Jordi Mas i Hernandez [ca], MohammadSaleh Kamyab [fa],
|
||||
Fran Dieguez [gl], Daniel Mustieles [es], Aleksandr Melman [ru],
|
||||
Aurimas Černius [lt], Asier Sarasua Garmendia [eu], Kukuh Syafaat [id],
|
||||
Rafael Fontenelle [pt_BR]
|
||||
|
||||
41.0
|
||||
====
|
||||
* Bump version
|
||||
|
||||
41.rc.1
|
||||
=======
|
||||
* Fix pre-generating stylesheets in tarball [Florian; !190]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
41.rc
|
||||
=====
|
||||
* window-list: Adapt to overview-on-startup [Florian; !185]
|
||||
* apps-menu: Use a custom 'toggle-menu' shortcut [Florian; !173]
|
||||
* Misc. bug fixes and cleanups [Florian; !186]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
41.beta
|
||||
=======
|
||||
* window-list: Extend reactive area of minimap to screen edges [Adam; !171]
|
||||
* drive-menu: Improve detection of network mounts [Florian; !27, !176]
|
||||
* Use distinct gettext domain for e.g.o uploads [Florian; #335]
|
||||
* Misc. bug fixes and cleanups [Florian; !172, !174, !177, !167, !178, !180,
|
||||
!181, !182, !183]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Adam Goode, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Hugo Carvalho [pt], Juliano de Souza Camargo [pt], Alexander Shopov [bg]
|
||||
|
||||
40.1
|
||||
====
|
||||
* Disable welcome dialog in classic session [Florian; !169]
|
||||
* windowsNavigator: Adjust to a late gnome-shell change [Florian; !170]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Ngọc Quân Trần [vi], Anders Jonsson [sv], Carmen Bianca BAKKER [eo],
|
||||
Pawan Chitrakar [ne], Quentin PAGÈS [oc]
|
||||
|
||||
40.0
|
||||
====
|
||||
|
||||
Translators:
|
||||
Jiri Grönroos [fi]
|
||||
|
||||
40.rc
|
||||
=====
|
||||
* native-window-placement: Adjust to gnome-shell changes [Florian; !164]
|
||||
* windows-navigator: Adjust to gnome-shell changes [Florian; !163]
|
||||
* window-list, workspace-indicator: Only show previews for up to six workspaces
|
||||
[Florian; !165]
|
||||
* window-list, workspace-indicator: Improve workspace preview appearance
|
||||
[Florian; !166]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl]
|
||||
|
||||
40.beta
|
||||
=======
|
||||
* Add tooltips to workspace thumbnails [Florian; !155]
|
||||
* Drop arrows from top bar menus [Florian; !156]
|
||||
* drive-menu: Mark mounts that can be unmounted as removable [Michael; !152]
|
||||
* Remove horizontal-workspaces extension [Florian; !158]
|
||||
* Adjust to shell overview changes [Florian; !159, !160]
|
||||
* Fix crashes [Daniel; !157]
|
||||
* Misc. bug fixes and cleanups [Florian; !154, !161]
|
||||
|
||||
Contributors:
|
||||
Michael Lawton, Florian Müllner, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Аляксей [be], A S Alam [pa]
|
||||
|
||||
40.alpha.1
|
||||
==========
|
||||
* Don't depend on sassc when building from tarball [Florian; !150]
|
||||
* Port extensions preferences to GTK4 [Florian; !148]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas; !149, !151, !153]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Florian Müllner
|
||||
|
||||
40.alpha
|
||||
========
|
||||
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
|
||||
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
|
||||
* window-list, workspace-indicator: Improve previews in workspace thumbs
|
||||
[Florian; #260, !142]
|
||||
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
|
||||
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas Å, Jordan, Ray; !131, !136,
|
||||
!137, !140, !141, !144, !146, !145]
|
||||
|
||||
Contributors:
|
||||
Sergio Costas, Florian Müllner, Jordan Petridis, Thun Pin, Ray Strode,
|
||||
Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Jordi Mas [ca]
|
||||
|
||||
3.38.1
|
||||
======
|
||||
|
||||
Contributors:
|
||||
Yacine Bouklif, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Yacine Bouklif [kab], Cheng-Chia Tseng [zh_TW], Stas Solovey [ru],
|
||||
Yosef Or Boczko [he]
|
||||
|
||||
3.38.0
|
||||
======
|
||||
|
||||
Translators:
|
||||
Balázs Meskó [hu], Alan Mortensen [da], Juliano Camargo [pt], Tim Sabsch [de],
|
||||
Milo Casagrande [it], Rūdolfs Mazurs [lv]
|
||||
|
||||
3.37.92
|
||||
=======
|
||||
|
||||
Translators:
|
||||
Nathan Follens [nl], Zander Brown [en_GB], Aurimas Černius [lt],
|
||||
Marek Černocký [cs], Changwoo Ryu [ko], Dušan Kazik [sk]
|
||||
|
||||
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]
|
||||
|
||||
13
README.md
13
README.md
@@ -69,6 +69,19 @@ GSettings key.
|
||||
|
||||
Adds a simple workspace switcher to the top bar.
|
||||
|
||||
## Default branch
|
||||
|
||||
The default development branch is `main`. If you still have a local
|
||||
checkout under the old name, use:
|
||||
```sh
|
||||
git checkout master
|
||||
git branch -m master main
|
||||
git fetch
|
||||
git branch --unset-upstream
|
||||
git branch -u origin/master
|
||||
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
GNOME Shell Extensions are distributed under the terms of the GNU General
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="24"
|
||||
height="24"
|
||||
id="svg10621"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="calendar-today.svg">
|
||||
<defs
|
||||
id="defs10623">
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient99561-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient34508-1-3">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop34510-1-9" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop34512-4-5" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="42"
|
||||
fy="30"
|
||||
fx="51"
|
||||
cy="30"
|
||||
cx="51"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient10592"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
inkscape:collect="always" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient3770"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient3001"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient3007"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient3067"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient3072"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient2997"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#d3d3d3"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="-55.349829"
|
||||
inkscape:cy="-31.442864"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="2133"
|
||||
inkscape:window-height="1241"
|
||||
inkscape:window-x="238"
|
||||
inkscape:window-y="89"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3109"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata10626">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-469.08263,-537.99307)">
|
||||
<circle
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#555753;fill-opacity:0.23756906;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
id="path7305"
|
||||
cx="481.57138"
|
||||
cy="559.4649"
|
||||
r="1.5" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.6 KiB |
@@ -1,262 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg10865"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="classic-toggle-off-intl.svg">
|
||||
<defs
|
||||
id="defs10867">
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5">
|
||||
<stop
|
||||
id="stop62854-6-7"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0" />
|
||||
<stop
|
||||
id="stop62860-5-3"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0"
|
||||
effect="spiro" />
|
||||
<linearGradient
|
||||
id="linearGradient62821-5-8">
|
||||
<stop
|
||||
id="stop62823-2-4"
|
||||
offset="0"
|
||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop62825-3-8"
|
||||
offset="1"
|
||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5-3">
|
||||
<stop
|
||||
id="stop62854-6-7-6"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0-3" />
|
||||
<stop
|
||||
id="stop62860-5-3-9"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect62829-6-8-0"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
id="linearGradient62821-5-8-1">
|
||||
<stop
|
||||
id="stop62823-2-4-2"
|
||||
offset="0"
|
||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop62825-3-8-9"
|
||||
offset="1"
|
||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="507.42715"
|
||||
x2="702.58966"
|
||||
y1="484.49405"
|
||||
x1="702.58966"
|
||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient11647"
|
||||
xlink:href="#linearGradient62821-5-8-1"
|
||||
inkscape:collect="always" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath65663">
|
||||
<rect
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
||||
id="rect65665"
|
||||
width="96.999924"
|
||||
height="24.292892"
|
||||
x="708.71954"
|
||||
y="406.96973"
|
||||
rx="3.1139846"
|
||||
ry="1.9595497"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||
id="linearGradient65582"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
||||
x1="207.17195"
|
||||
y1="497.39584"
|
||||
x2="207.17195"
|
||||
y2="531.48669" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
||||
<stop
|
||||
style="stop-color:#f4f6f4;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
||||
<stop
|
||||
style="stop-color:#d7dad7;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient65584">
|
||||
<stop
|
||||
style="stop-color:#f1f1f1;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop65586" />
|
||||
<stop
|
||||
style="stop-color:#a7aba7;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop65588" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||
id="linearGradient65582-5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,-75.348673,-359.16458)"
|
||||
x1="207.17195"
|
||||
y1="497.39584"
|
||||
x2="207.17195"
|
||||
y2="531.48669" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient65584"
|
||||
id="linearGradient65590-6"
|
||||
x1="716.62506"
|
||||
y1="537.23358"
|
||||
x2="716.62506"
|
||||
y2="535.23358"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0139469,0,0,1.0139469,-705.52354,-521.99915)" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="23.565368"
|
||||
inkscape:cy="19.596892"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g62929"
|
||||
showgrid="false"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1342"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="1"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11512" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata10870">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||
style="display:inline"
|
||||
id="g62929"
|
||||
transform="translate(-643.91421,517.29894)">
|
||||
<g
|
||||
transform="translate(0,30)"
|
||||
id="g62931">
|
||||
<rect
|
||||
style="fill:#cecece;fill-opacity:1;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;solid-color:#000000;solid-opacity:1;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
|
||||
id="rect62935"
|
||||
width="63.856125"
|
||||
height="21.093594"
|
||||
x="644.5"
|
||||
y="483.5"
|
||||
rx="2"
|
||||
ry="2" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient65582);fill-opacity:1;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;color:#000000;clip-rule:nonzero;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
id="rect62937"
|
||||
width="29.97398"
|
||||
height="17.022524"
|
||||
x="646.55896"
|
||||
y="485.61429"
|
||||
rx="1"
|
||||
ry="1" />
|
||||
<g
|
||||
transform="translate(-38.048674,-1.9445437)"
|
||||
id="g62939" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
||||
inkscape:path-effect="#path-effect62989-8-0"
|
||||
id="path62947"
|
||||
d="m 647.78241,486.57192 27.73523,0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g11665"
|
||||
transform="matrix(0.78906097,0,0,0.78906097,178.78814,111.57844)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
id="path3016"
|
||||
sodipodi:cx="50.375"
|
||||
sodipodi:cy="11.875"
|
||||
sodipodi:rx="4.625"
|
||||
sodipodi:ry="4.625"
|
||||
d="M 55,11.875 A 4.625,4.625 0 0 1 50.375,16.5 4.625,4.625 0 0 1 45.75,11.875 4.625,4.625 0 0 1 50.375,7.25 4.625,4.625 0 0 1 55,11.875 Z"
|
||||
transform="translate(642.41421,512.02037)"
|
||||
style="fill:none;stroke:#2e3436;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.5 KiB |
@@ -1,222 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg10865"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="classic-toggle-off-us.svg">
|
||||
<defs
|
||||
id="defs10867">
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5">
|
||||
<stop
|
||||
id="stop62854-6-7"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0" />
|
||||
<stop
|
||||
id="stop62860-5-3"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0"
|
||||
effect="spiro" />
|
||||
<linearGradient
|
||||
id="linearGradient62821-5-8">
|
||||
<stop
|
||||
id="stop62823-2-4"
|
||||
offset="0"
|
||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop62825-3-8"
|
||||
offset="1"
|
||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5-3">
|
||||
<stop
|
||||
id="stop62854-6-7-6"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0-3" />
|
||||
<stop
|
||||
id="stop62860-5-3-9"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect62829-6-8-0"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
id="linearGradient62821-5-8-1">
|
||||
<stop
|
||||
id="stop62823-2-4-2"
|
||||
offset="0"
|
||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop62825-3-8-9"
|
||||
offset="1"
|
||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="507.42715"
|
||||
x2="702.58966"
|
||||
y1="484.49405"
|
||||
x1="702.58966"
|
||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient11647"
|
||||
xlink:href="#linearGradient62821-5-8-1"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||
id="linearGradient65582"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
||||
x1="207.17195"
|
||||
y1="497.39584"
|
||||
x2="207.17195"
|
||||
y2="531.48669" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
||||
<stop
|
||||
style="stop-color:#f4f6f4;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
||||
<stop
|
||||
style="stop-color:#d7dad7;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0-6"
|
||||
effect="spiro" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="78.222729"
|
||||
inkscape:cy="-3.6620078"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g62929"
|
||||
showgrid="false"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1342"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="1"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11512" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata10870">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||
style="display:inline"
|
||||
id="g62929"
|
||||
transform="translate(-643.91421,517.29894)">
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(0,30)"
|
||||
id="g62931">
|
||||
<rect
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cecece;fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
|
||||
id="rect62935"
|
||||
width="63.856125"
|
||||
height="21.093594"
|
||||
x="644.5"
|
||||
y="483.5"
|
||||
rx="2"
|
||||
ry="2" />
|
||||
<rect
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient65582);fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
id="rect62937"
|
||||
width="29.97398"
|
||||
height="17.022524"
|
||||
x="646.55896"
|
||||
y="485.61429"
|
||||
rx="1"
|
||||
ry="1" />
|
||||
<g
|
||||
transform="translate(-38.048674,-1.9445437)"
|
||||
id="g62939" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
||||
inkscape:path-effect="#path-effect62989-8-0-6"
|
||||
id="path62947"
|
||||
d="m 647.78241,486.57192 27.73523,0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g11665"
|
||||
transform="matrix(0.78906097,0,0,0.78906097,167.78814,111.57844)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12.69556618px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#2e3436;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
x="644.46393"
|
||||
y="533.87158"
|
||||
id="text62949"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(1.0113976,0.98873084)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan62951"
|
||||
x="644.46393"
|
||||
y="533.87158">OFF</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 8.0 KiB |
@@ -1,175 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg10865"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="classic-toggle-on-intl.svg">
|
||||
<defs
|
||||
id="defs10867">
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5">
|
||||
<stop
|
||||
id="stop62854-6-7"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0" />
|
||||
<stop
|
||||
id="stop62860-5-3"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0"
|
||||
effect="spiro" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient38513"
|
||||
id="linearGradient38519"
|
||||
x1="690"
|
||||
y1="506.25049"
|
||||
x2="690"
|
||||
y2="480.93414"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient38513">
|
||||
<stop
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop38515" />
|
||||
<stop
|
||||
style="stop-color:#6f9ccd;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop38517" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient62852-6-5"
|
||||
id="linearGradient62981-1-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
||||
x1="740"
|
||||
y1="486.10501"
|
||||
x2="740"
|
||||
y2="505.3204" />
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0-8"
|
||||
effect="spiro" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="9.3225163"
|
||||
inkscape:cy="-0.1588306"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g62929"
|
||||
showgrid="false"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1342"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="1"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11512" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata10870">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||
style="display:inline"
|
||||
id="g62929"
|
||||
transform="translate(-643.91421,517.29894)">
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(0,30)"
|
||||
id="g62931">
|
||||
<rect
|
||||
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient38519);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
id="rect62935"
|
||||
width="63.856125"
|
||||
height="21.093594"
|
||||
x="644.5"
|
||||
y="483.5"
|
||||
rx="2"
|
||||
ry="2" />
|
||||
<rect
|
||||
style="display:inline;fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect62937"
|
||||
width="29.97398"
|
||||
height="17.022524"
|
||||
x="676.49646"
|
||||
y="485.67679"
|
||||
rx="1"
|
||||
ry="1" />
|
||||
<g
|
||||
transform="translate(-7.9861743,-1.9445437)"
|
||||
id="g62939" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
||||
inkscape:path-effect="#path-effect62989-8-0-8"
|
||||
id="path62947"
|
||||
d="m 677.59874,486.57192 27.94632,0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4444"
|
||||
d="m 661.91421,522.09451 0,7"
|
||||
style="fill:#3465a4;stroke:#3465a4;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;fill-opacity:1;fill-rule:nonzero;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 18,7.96875 0,7"
|
||||
id="path3922"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(643.91421,513.06326)" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.2 KiB |
@@ -1,209 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg10865"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="classic-toggle-on-us.svg">
|
||||
<defs
|
||||
id="defs10867">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient62852-6-5"
|
||||
id="linearGradient62981-1-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
||||
x1="740"
|
||||
y1="486.10501"
|
||||
x2="740"
|
||||
y2="505.3204" />
|
||||
<linearGradient
|
||||
id="linearGradient62852-6-5">
|
||||
<stop
|
||||
id="stop62854-6-7"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0.97726452"
|
||||
id="stop62858-8-0" />
|
||||
<stop
|
||||
id="stop62860-5-3"
|
||||
offset="1"
|
||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect62989-8-0"
|
||||
effect="spiro" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath65663">
|
||||
<rect
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
||||
id="rect65665"
|
||||
width="96.999924"
|
||||
height="24.292892"
|
||||
x="708.71954"
|
||||
y="406.96973"
|
||||
rx="3.1139846"
|
||||
ry="1.9595497"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient38513"
|
||||
id="linearGradient38519"
|
||||
x1="690"
|
||||
y1="506.25049"
|
||||
x2="690"
|
||||
y2="480.93414"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient38513">
|
||||
<stop
|
||||
style="stop-color:#729fcf;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop38515" />
|
||||
<stop
|
||||
style="stop-color:#6f9ccd;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop38517" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
gradientTransform="translate(-644,-483)"
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient38513"
|
||||
id="linearGradient38519-3"
|
||||
x1="690"
|
||||
y1="506.25049"
|
||||
x2="690"
|
||||
y2="480.93414"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="20.775745"
|
||||
inkscape:cy="7.0434022"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g62929"
|
||||
showgrid="false"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1342"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="28"
|
||||
inkscape:window-maximized="1"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11512" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata10870">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-1030.3622)">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||
style="display:inline"
|
||||
id="g62929"
|
||||
transform="translate(-643.91421,517.29894)">
|
||||
<g
|
||||
transform="translate(0,30)"
|
||||
id="g62931">
|
||||
<rect
|
||||
style="fill:url(#linearGradient38519);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
id="rect62935"
|
||||
width="63.856125"
|
||||
height="21.093594"
|
||||
x="644.5"
|
||||
y="483.5"
|
||||
rx="2"
|
||||
ry="2" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
id="rect62937"
|
||||
width="29.97398"
|
||||
height="17.022524"
|
||||
x="676.49646"
|
||||
y="485.67679"
|
||||
rx="1"
|
||||
ry="1" />
|
||||
<g
|
||||
transform="translate(-7.9861743,-1.9445437)"
|
||||
id="g62939" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
||||
inkscape:path-effect="#path-effect62989-8-0"
|
||||
id="path62947"
|
||||
d="m 677.59874,486.57192 27.94632,0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<text
|
||||
transform="scale(1.0113976,0.98873084)"
|
||||
sodipodi:linespacing="125%"
|
||||
id="text62949-7"
|
||||
y="534.96918"
|
||||
x="646.71399"
|
||||
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3465a4;fill-opacity:1;stroke:none;display:inline;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold;"
|
||||
xml:space="preserve"><tspan
|
||||
y="534.96918"
|
||||
x="646.71399"
|
||||
id="tspan62951-7"
|
||||
sodipodi:role="line">ON</tspan></text>
|
||||
<text
|
||||
transform="scale(1.0113976,0.98873084)"
|
||||
sodipodi:linespacing="125%"
|
||||
id="text62949"
|
||||
y="533.94482"
|
||||
x="646.71399"
|
||||
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
xml:space="preserve"><tspan
|
||||
y="533.94482"
|
||||
x="646.71399"
|
||||
id="tspan62951"
|
||||
sodipodi:role="line">ON</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 7.5 KiB |
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"parentMode": "user",
|
||||
"stylesheetName": "gnome-classic.css",
|
||||
"colorScheme": "force-light",
|
||||
"hasOverview": false,
|
||||
"showWelcomeDialog": false,
|
||||
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
||||
"panel": { "left": ["appMenu"],
|
||||
"panel": { "left": [],
|
||||
"center": [],
|
||||
"right": ["a11y", "keyboard", "dateMenu", "aggregateMenu"]
|
||||
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
@import url("gnome-classic.css");
|
||||
|
||||
stage {
|
||||
-st-icon-style: symbolic;
|
||||
}
|
||||
8
data/gnome-classic-wayland.desktop.in
Normal file
8
data/gnome-classic-wayland.desktop.in
Normal file
@@ -0,0 +1,8 @@
|
||||
[Desktop Entry]
|
||||
Name=GNOME Classic on Wayland
|
||||
Comment=This session logs you into GNOME Classic
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME-Classic;GNOME;
|
||||
X-GDM-SessionRegisters=true
|
||||
8
data/gnome-classic-xorg.desktop.in
Normal file
8
data/gnome-classic-xorg.desktop.in
Normal file
@@ -0,0 +1,8 @@
|
||||
[Desktop Entry]
|
||||
Name=GNOME Classic on Xorg
|
||||
Comment=This session logs you into GNOME Classic
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME-Classic;GNOME;
|
||||
X-GDM-SessionRegisters=true
|
||||
@@ -1,7 +1,8 @@
|
||||
[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;
|
||||
X-GDM-SessionRegisters=true
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
/* Use the gnome-shell theme, but with light colors */
|
||||
$variant: 'light';
|
||||
|
||||
@import "gnome-shell-sass/_colors"; //use gtk colors
|
||||
@import "gnome-shell-sass/_drawing";
|
||||
@import "gnome-shell-sass/_common";
|
||||
|
||||
/* Overrides */
|
||||
|
||||
#panel, #panel.solid {
|
||||
font-weight: normal;
|
||||
background-color: $bg_color;
|
||||
background-gradient-direction: vertical;
|
||||
background-gradient-end: darken($bg_color,5%);
|
||||
border-top-color: #666; /* we don't support non-uniform border-colors and
|
||||
use the top border color for any border, so we
|
||||
need to set it even if all we want is a bottom
|
||||
border */
|
||||
border-bottom: 1px solid #666;
|
||||
app-icon-bottom-clip: 0px;
|
||||
&:overview {
|
||||
background-color: #000;
|
||||
background-gradient-end: #000;
|
||||
border-top-color: #000;
|
||||
border-bottom: 1px solid #000;
|
||||
.panel-button { color: #fff; }
|
||||
}
|
||||
|
||||
.panel-button {
|
||||
-natural-hpadding: 8px;
|
||||
-minimum-hpadding: 4px;
|
||||
font-weight: normal;
|
||||
color: $fg_color;
|
||||
text-shadow: none;
|
||||
&:hover {
|
||||
color: lighten($fg_color,10%);
|
||||
text-shadow: none;
|
||||
& .system-status-icon { icon-shadow: none; }
|
||||
}
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
// Trick due to St limitations. It needs a background to draw
|
||||
// a box-shadow
|
||||
background-color: $selected_bg_color;
|
||||
color: $selected_fg_color;
|
||||
box-shadow: none;
|
||||
& > .system-status-icon { icon-shadow: none; }
|
||||
}
|
||||
|
||||
.app-menu-icon { width: 0; height: 0; margin: 0; } // shell's display:none; :D
|
||||
|
||||
.system-status-icon {
|
||||
icon-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-corner,
|
||||
.panel-corner:active,
|
||||
.panel-corner:overview,
|
||||
.panel-corner:focus {
|
||||
-panel-corner-radius: 0;
|
||||
}
|
||||
&.lock-screen,
|
||||
&.unlock-screen,
|
||||
&.login-screen {
|
||||
background-color: transparentize($bg_color, 0.5);
|
||||
background-gradient-start: transparentize($bg_color, 0.5);
|
||||
background-gradient-end: transparentize($bg_color, 0.5);
|
||||
border-bottom: none;
|
||||
.panel-button { color: $osd_fg_color; }
|
||||
}
|
||||
.popup-menu-arrow { width: 0; height: 0; } // shell's display: none;
|
||||
}
|
||||
|
||||
#appMenu {
|
||||
padding: 0 8px 0 8px;
|
||||
spinner-image: url("classic-process-working.svg");
|
||||
}
|
||||
.tile-preview-left.on-primary,
|
||||
.tile-preview-right.on-primary,
|
||||
.tile-preview-left.tile-preview-right.on-primary {
|
||||
/* keep in sync with -panel-corner-radius */
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@each $v in us, intl {
|
||||
.toggle-switch-#{$v} {
|
||||
background-image: url("classic-toggle-off-#{$v}.svg");
|
||||
&:checked { background-image: url("classic-toggle-on-#{$v}.svg"); }
|
||||
}
|
||||
}
|
||||
|
||||
.calendar-day-with-events {
|
||||
background-image: url("calendar-today.svg");
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[GNOME Session]
|
||||
Name=GNOME Classic
|
||||
RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;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 34d65e70d8
@@ -1,17 +1,33 @@
|
||||
sessions = [
|
||||
['gnome-classic.session.desktop.in', sessiondir],
|
||||
['gnome-classic.desktop.in', xsessiondir]
|
||||
session_desktop_base = 'gnome-classic'
|
||||
|
||||
session_desktops = [
|
||||
session_desktop_base,
|
||||
session_desktop_base + '-xorg',
|
||||
session_desktop_base + '-wayland',
|
||||
]
|
||||
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'
|
||||
)
|
||||
|
||||
foreach name: session_desktops
|
||||
session_desktop = name + '.desktop'
|
||||
if name.endswith('-xorg')
|
||||
session_instdir = xsessiondir
|
||||
elif name.endswith('-wayland')
|
||||
session_instdir = wlsessiondir
|
||||
else
|
||||
# FIXME: The same target can not be copied into two directories.
|
||||
# There is a workaround in meson/session-post-install.py until proper
|
||||
# solution arises:
|
||||
# https://github.com/mesonbuild/meson/issues/2416
|
||||
session_instdir = xsessiondir
|
||||
#session_instdir = [ xesssiondir, wlsessiondir ]
|
||||
endif
|
||||
i18n.merge_file(
|
||||
input: session_desktop + '.in',
|
||||
output: session_desktop,
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: session_instdir,
|
||||
type: 'desktop'
|
||||
)
|
||||
endforeach
|
||||
|
||||
classic_uuids = []
|
||||
@@ -30,34 +46,5 @@ configure_file(
|
||||
install_dir: modedir
|
||||
)
|
||||
|
||||
theme_sources = files(
|
||||
'gnome-shell-sass/_colors.scss',
|
||||
'gnome-shell-sass/_common.scss',
|
||||
'gnome-shell-sass/_drawing.scss',
|
||||
'gnome-shell-sass/_high-contrast-colors.scss'
|
||||
)
|
||||
|
||||
theme_data = [
|
||||
'calendar-today.svg',
|
||||
'classic-process-working.svg',
|
||||
'classic-toggle-off-intl.svg',
|
||||
'classic-toggle-off-us.svg',
|
||||
'classic-toggle-on-intl.svg',
|
||||
'classic-toggle-on-us.svg',
|
||||
'gnome-classic-high-contrast.css'
|
||||
]
|
||||
|
||||
style = 'gnome-classic'
|
||||
custom_target(style + '.css',
|
||||
input: style + '.scss',
|
||||
output: style + '.css',
|
||||
depend_files: theme_sources,
|
||||
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
|
||||
install: true,
|
||||
install_dir: themedir
|
||||
)
|
||||
|
||||
install_data(theme_data, install_dir: themedir)
|
||||
|
||||
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
|
||||
install_data(classic_override, install_dir: schemadir)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
srcdir=`dirname $0`
|
||||
srcdir=`(cd $srcdir && pwd)`
|
||||
@@ -7,30 +7,40 @@ builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1
|
||||
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
|
||||
|
||||
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
|
||||
ninja -C$builddir install
|
||||
meson install -C $builddir
|
||||
|
||||
rm -rf $srcdir/zip-files
|
||||
mkdir $srcdir/zip-files
|
||||
|
||||
extensiondir=$installdir/share/gnome-shell/extensions
|
||||
schemadir=$installdir/share/glib-2.0/schemas
|
||||
localedir=$installdir/share/locale
|
||||
|
||||
for f in $extensiondir/*; do
|
||||
name=`basename ${f%%@*}`
|
||||
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
|
||||
olddomain=gnome-shell-extensions
|
||||
newdomain=gnome-shell-extension-$name
|
||||
sed -i "/gettext-domain/ s:$olddomain:$newdomain:" $f/metadata.json
|
||||
|
||||
if [ -f $schema ]; then
|
||||
mkdir $f/schemas
|
||||
cp $schema $f/schemas;
|
||||
glib-compile-schemas $f/schemas
|
||||
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
|
||||
|
||||
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
|
||||
|
||||
0
extensions/.lock
Normal file
0
extensions/.lock
Normal file
@@ -4,7 +4,7 @@
|
||||
const {
|
||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
||||
} = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
const {EventEmitter} = imports.misc.signals;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
@@ -12,8 +12,7 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
const appSys = Shell.AppSystem.get_default();
|
||||
|
||||
@@ -25,10 +24,13 @@ const NAVIGATION_REGION_OVERSHOOT = 50;
|
||||
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
||||
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
||||
|
||||
var ApplicationMenuItem = GObject.registerClass(
|
||||
class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(button, app) {
|
||||
super._init();
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(button, app) {
|
||||
super();
|
||||
this._app = app;
|
||||
this._button = button;
|
||||
|
||||
@@ -94,12 +96,15 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
icon.style_class = 'icon-dropshadow';
|
||||
this._iconBin.set_child(icon);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var CategoryMenuItem = GObject.registerClass(
|
||||
class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(button, category) {
|
||||
super._init();
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(button, category) {
|
||||
super();
|
||||
this._category = category;
|
||||
this._button = button;
|
||||
|
||||
@@ -112,7 +117,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
else
|
||||
name = _('Favorites');
|
||||
|
||||
this.add_child(new St.Label({ text: name }));
|
||||
this.add_child(new St.Label({text: name}));
|
||||
this.connect('motion-event', this._onMotionEvent.bind(this));
|
||||
this.connect('notify::active', this._onActiveChanged.bind(this));
|
||||
}
|
||||
@@ -181,11 +186,14 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
}
|
||||
|
||||
_onMotionEvent(actor, event) {
|
||||
let device = event.get_device();
|
||||
if (!device.get_grabbed_actor()) {
|
||||
if (!this._grab) {
|
||||
this._oldX = -1;
|
||||
this._oldY = -1;
|
||||
device.grab(this);
|
||||
const grab = global.stage.grab(this);
|
||||
if (grab.get_seat_state() !== Clutter.GrabState.NONE)
|
||||
this._grab = grab;
|
||||
else
|
||||
grab.dismiss();
|
||||
}
|
||||
this.hover = true;
|
||||
|
||||
@@ -195,7 +203,8 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
this._oldX = -1;
|
||||
this._oldY = -1;
|
||||
this.hover = false;
|
||||
device.ungrab();
|
||||
this._grab?.dismiss();
|
||||
delete this._grab;
|
||||
|
||||
let source = event.get_source();
|
||||
if (source instanceof St.Widget)
|
||||
@@ -211,7 +220,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
this._button.selectCategory(this._category);
|
||||
this._button.scrollToCatButton(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
class ApplicationsMenu extends PopupMenu.PopupMenu {
|
||||
constructor(sourceActor, arrowAlignment, arrowSide, button) {
|
||||
@@ -230,8 +239,10 @@ class ApplicationsMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
}
|
||||
|
||||
class DesktopTarget {
|
||||
class DesktopTarget extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this._desktop = null;
|
||||
this._desktopDestroyedId = 0;
|
||||
|
||||
@@ -348,12 +359,14 @@ class DesktopTarget {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Signals.addSignalMethods(DesktopTarget.prototype);
|
||||
|
||||
let ApplicationsButton = GObject.registerClass(
|
||||
class ApplicationsButton extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(1.0, null, false);
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(1.0, null, false);
|
||||
|
||||
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
|
||||
Main.panel.menuManager.addMenu(this.menu);
|
||||
@@ -363,17 +376,13 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
// role ATK_ROLE_MENU like other elements of the panel.
|
||||
this.accessible_role = Atk.Role.LABEL;
|
||||
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
|
||||
this._label = new St.Label({
|
||||
text: _('Applications'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
hbox.add_child(this._label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
|
||||
this.add_actor(hbox);
|
||||
this.add_actor(this._label);
|
||||
this.name = 'panelApplications';
|
||||
this.label_actor = this._label;
|
||||
|
||||
@@ -383,9 +392,12 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this._hidingId = Main.overview.connect('hiding', () => {
|
||||
this.remove_accessible_state(Atk.StateType.CHECKED);
|
||||
});
|
||||
Main.layoutManager.connect('startup-complete',
|
||||
this._setKeybinding.bind(this));
|
||||
this._setKeybinding();
|
||||
Main.wm.addKeybinding(
|
||||
'apps-menu-toggle-menu',
|
||||
ExtensionUtils.getSettings(),
|
||||
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
|
||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||
() => this.menu.toggle());
|
||||
|
||||
this._desktopTarget = new DesktopTarget();
|
||||
this._desktopTarget.connect('app-dropped', () => {
|
||||
@@ -397,7 +409,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
});
|
||||
});
|
||||
|
||||
this._tree = new GMenu.Tree({ menu_basename: 'applications.menu' });
|
||||
this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
|
||||
this._treeChangedId = this._tree.connect('changed',
|
||||
this._onTreeChanged.bind(this));
|
||||
|
||||
@@ -436,11 +448,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this._tree.disconnect(this._treeChangedId);
|
||||
this._tree = null;
|
||||
|
||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||
Main.sessionMode.hasOverview
|
||||
? Main.overview.toggle.bind(Main.overview)
|
||||
: null);
|
||||
Main.wm.removeKeybinding('apps-menu-toggle-menu');
|
||||
|
||||
this._desktopTarget.destroy();
|
||||
}
|
||||
@@ -482,12 +490,6 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
super._onOpenStateChanged(menu, open);
|
||||
}
|
||||
|
||||
_setKeybinding() {
|
||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||
() => this.menu.toggle());
|
||||
}
|
||||
|
||||
_redisplay() {
|
||||
this.applicationsBox.destroy_all_children();
|
||||
this.categoriesBox.destroy_all_children();
|
||||
@@ -508,7 +510,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
}
|
||||
let app = appSys.lookup_app(id);
|
||||
if (!app)
|
||||
app = new Shell.App({ app_info: entry.get_app_info() });
|
||||
app = new Shell.App({app_info: entry.get_app_info()});
|
||||
if (app.get_app_info().should_show())
|
||||
this.applicationsByCategory[categoryId].push(app);
|
||||
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
||||
@@ -554,13 +556,11 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
_createLayout() {
|
||||
let section = new PopupMenu.PopupMenuSection();
|
||||
this.menu.addMenuItem(section);
|
||||
this.mainBox = new St.BoxLayout({ vertical: false });
|
||||
this.leftBox = new St.BoxLayout({ vertical: true });
|
||||
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',
|
||||
x_expand: true,
|
||||
});
|
||||
this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
let vscroll = this.applicationsScrollBox.get_vscroll_bar();
|
||||
@@ -571,38 +571,22 @@ 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',
|
||||
});
|
||||
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,
|
||||
});
|
||||
this.leftBox.add_child(this.categoriesScrollBox);
|
||||
|
||||
this.applicationsBox = new St.BoxLayout({ vertical: true });
|
||||
this.applicationsBox = new St.BoxLayout({vertical: true});
|
||||
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
||||
this.categoriesBox = new St.BoxLayout({ vertical: true });
|
||||
this.categoriesBox = new St.BoxLayout({vertical: true});
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -691,21 +675,24 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
|
||||
return applist;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let appsMenuButton;
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
appsMenuButton = new ApplicationsButton();
|
||||
let index = Main.sessionMode.panel.left.indexOf('activities') + 1;
|
||||
Main.panel.addToStatusArea('apps-menu', appsMenuButton, index, 'left');
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
Main.panel.menuManager.removeMenu(appsMenuButton.menu);
|
||||
appsMenuButton.destroy();
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
@@ -3,3 +3,5 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"extension-id": "@extension_id@",
|
||||
"uuid": "@uuid@",
|
||||
"settings-schema": "@gschemaname@",
|
||||
"gettext-domain": "@gettext_domain@",
|
||||
"name": "Applications Menu",
|
||||
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<schemalist gettext-domain="gnome-shell-extensions">
|
||||
<schema id="org.gnome.shell.extensions.apps-menu"
|
||||
path="/org/gnome/shell/extensions/apps-menu/">
|
||||
<key name="apps-menu-toggle-menu" type="as">
|
||||
<default>["<Alt>F1"]</default>
|
||||
<summary>Keybinding to open the applications menu</summary>
|
||||
<description>
|
||||
Keybinding to open the applications menu.
|
||||
</description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
@@ -2,7 +2,7 @@
|
||||
// Start apps on custom workspaces
|
||||
/* exported init enable disable */
|
||||
|
||||
const { Shell } = imports.gi;
|
||||
const {Shell} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
@@ -35,17 +35,16 @@ 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 && !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',
|
||||
@@ -73,7 +72,7 @@ class WindowMover {
|
||||
}
|
||||
|
||||
_moveWindow(window, workspaceNum) {
|
||||
if (window.skip_taskbar)
|
||||
if (window.skip_taskbar || window.is_on_all_workspaces())
|
||||
return;
|
||||
|
||||
// ensure we have the required number of workspaces
|
||||
@@ -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 => {
|
||||
@@ -109,18 +108,24 @@ class WindowMover {
|
||||
let prevCheckWorkspaces;
|
||||
let winMover;
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {bool} - false (used as MetaLater handler)
|
||||
*/
|
||||
function myCheckWorkspaces() {
|
||||
let keepAliveWorkspaces = [];
|
||||
let foundNonEmpty = false;
|
||||
for (let i = this._workspaces.length - 1; i >= 0; i--) {
|
||||
if (!foundNonEmpty)
|
||||
foundNonEmpty = this._workspaces[i].list_windows().length > 0;
|
||||
else if (!this._workspaces[i]._keepAliveId)
|
||||
if (!foundNonEmpty) {
|
||||
foundNonEmpty = this._workspaces[i].list_windows().some(
|
||||
w => !w.is_on_all_workspaces());
|
||||
} else if (!this._workspaces[i]._keepAliveId) {
|
||||
keepAliveWorkspaces.push(this._workspaces[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// make sure the original method only removes empty workspaces at the end
|
||||
@@ -131,6 +136,7 @@ function myCheckWorkspaces() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
|
||||
Main.wm._workspaceTracker._checkWorkspaces = myCheckWorkspaces;
|
||||
@@ -138,6 +144,7 @@ function enable() {
|
||||
winMover = new WindowMover();
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
Main.wm._workspaceTracker._checkWorkspaces = prevCheckWorkspaces;
|
||||
winMover.destroy();
|
||||
|
||||
@@ -2,282 +2,350 @@
|
||||
// Start apps on custom workspaces
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = e => e;
|
||||
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
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,
|
||||
};
|
||||
class NewItem extends GObject.Object {}
|
||||
GObject.registerClass(NewItem);
|
||||
|
||||
const Widget = GObject.registerClass({
|
||||
GTypeName: 'AutoMoveWindowsPrefsWidget',
|
||||
}, class Widget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
this.set_orientation(Gtk.Orientation.VERTICAL);
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._settings.connect('changed', this._refresh.bind(this));
|
||||
this._changedPermitted = false;
|
||||
|
||||
this._store = new Gtk.ListStore();
|
||||
this._store.set_column_types([
|
||||
Gio.AppInfo,
|
||||
GObject.TYPE_STRING,
|
||||
Gio.Icon,
|
||||
GObject.TYPE_INT,
|
||||
Gtk.Adjustment,
|
||||
]);
|
||||
|
||||
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();
|
||||
class NewItemModel extends GObject.Object {
|
||||
static [GObject.interfaces] = [Gio.ListModel];
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_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);
|
||||
#item = new NewItem();
|
||||
|
||||
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());
|
||||
vfunc_get_item_type() {
|
||||
return NewItem;
|
||||
}
|
||||
|
||||
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,
|
||||
snap_to_ticks: true,
|
||||
});
|
||||
dialog._spin.set_value(1);
|
||||
grid.attach(dialog._spin, 1, 1, 1, 1);
|
||||
dialog.get_content_area().add(grid);
|
||||
vfunc_get_n_items() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
vfunc_get_item(_pos) {
|
||||
return this.#item;
|
||||
}
|
||||
}
|
||||
|
||||
class Rule extends GObject.Object {
|
||||
static [GObject.properties] = {
|
||||
'app-info': GObject.ParamSpec.object(
|
||||
'app-info', 'app-info', 'app-info',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
Gio.DesktopAppInfo),
|
||||
'workspace': GObject.ParamSpec.uint(
|
||||
'workspace', 'workspace', 'workspace',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
1, WORKSPACE_MAX, 1),
|
||||
};
|
||||
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
}
|
||||
|
||||
class RulesList extends GObject.Object {
|
||||
static [GObject.interfaces] = [Gio.ListModel];
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
#settings = ExtensionUtils.getSettings();
|
||||
#rules = [];
|
||||
#changedId;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.#changedId =
|
||||
this.#settings.connect(`changed::${SETTINGS_KEY}`,
|
||||
() => this.#sync());
|
||||
this.#sync();
|
||||
}
|
||||
|
||||
append(appInfo) {
|
||||
const pos = this.#rules.length;
|
||||
|
||||
this.#rules.push(new Rule({appInfo}));
|
||||
this.#saveRules();
|
||||
|
||||
this.items_changed(pos, 0, 1);
|
||||
}
|
||||
|
||||
remove(id) {
|
||||
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
||||
if (pos < 0)
|
||||
return;
|
||||
|
||||
this.#rules.splice(pos, 1);
|
||||
this.#saveRules();
|
||||
|
||||
this.items_changed(pos, 1, 0);
|
||||
}
|
||||
|
||||
changeWorkspace(id, workspace) {
|
||||
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
||||
if (pos < 0)
|
||||
return;
|
||||
|
||||
this.#rules[pos].set({workspace});
|
||||
this.#saveRules();
|
||||
}
|
||||
|
||||
#saveRules() {
|
||||
this.#settings.block_signal_handler(this.#changedId);
|
||||
this.#settings.set_strv(SETTINGS_KEY,
|
||||
this.#rules.map(r => `${r.app_info.get_id()}:${r.workspace}`));
|
||||
this.#settings.unblock_signal_handler(this.#changedId);
|
||||
}
|
||||
|
||||
#sync() {
|
||||
const removed = this.#rules.length;
|
||||
|
||||
this.#rules = [];
|
||||
for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) {
|
||||
const [id, workspace] = stringRule.split(':');
|
||||
const appInfo = Gio.DesktopAppInfo.new(id);
|
||||
if (appInfo)
|
||||
this.#rules.push(new Rule({appInfo, workspace}));
|
||||
else
|
||||
log(`Invalid ID ${id}`);
|
||||
}
|
||||
this.items_changed(0, removed, this.#rules.length);
|
||||
}
|
||||
|
||||
vfunc_get_item_type() {
|
||||
return Rule;
|
||||
}
|
||||
|
||||
vfunc_get_n_items() {
|
||||
return this.#rules.length;
|
||||
}
|
||||
|
||||
vfunc_get_item(pos) {
|
||||
return this.#rules[pos] ?? null;
|
||||
}
|
||||
}
|
||||
|
||||
class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
|
||||
this.install_action('rules.add', null, self => self._addNewRule());
|
||||
this.install_action('rules.remove', 's',
|
||||
(self, name, param) => self._rules.remove(param.unpack()));
|
||||
this.install_action('rules.change-workspace', '(si)',
|
||||
(self, name, param) => self._rules.changeWorkspace(...param.deepUnpack()));
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
title: _('Workspace Rules'),
|
||||
});
|
||||
|
||||
this._rules = new RulesList();
|
||||
|
||||
const store = new Gio.ListStore({item_type: Gio.ListModel});
|
||||
const listModel = new Gtk.FlattenListModel({model: store});
|
||||
store.append(this._rules);
|
||||
store.append(new NewItemModel());
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
css_classes: ['boxed-list'],
|
||||
});
|
||||
this.add(this._list);
|
||||
|
||||
this._list.bind_model(listModel, item => {
|
||||
return item instanceof NewItem
|
||||
? new NewRuleRow()
|
||||
: new RuleRow(item);
|
||||
});
|
||||
}
|
||||
|
||||
_addNewRule() {
|
||||
const dialog = new NewRuleDialog(this.get_root());
|
||||
dialog.connect('response', (dlg, id) => {
|
||||
if (id !== Gtk.ResponseType.OK) {
|
||||
dialog.destroy();
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
const appInfo = id === Gtk.ResponseType.OK
|
||||
? dialog.get_widget().get_app_info() : null;
|
||||
if (appInfo)
|
||||
this._rules.append(appInfo);
|
||||
dialog.destroy();
|
||||
});
|
||||
dialog.show_all();
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceSelector extends Gtk.Widget {
|
||||
static [GObject.properties] = {
|
||||
'number': GObject.ParamSpec.uint(
|
||||
'number', 'number', 'number',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
1, WORKSPACE_MAX, 1),
|
||||
};
|
||||
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
|
||||
this.set_layout_manager_type(Gtk.BoxLayout);
|
||||
}
|
||||
|
||||
_deleteSelected() {
|
||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
if (any) {
|
||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
||||
this.layout_manager.spacing = 6;
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._removeItem(appInfo.get_id());
|
||||
this._changedPermitted = true;
|
||||
this._store.remove(iter);
|
||||
}
|
||||
}
|
||||
|
||||
_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;
|
||||
}
|
||||
|
||||
_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,
|
||||
const label = new Gtk.Label({
|
||||
xalign: 1,
|
||||
margin_end: 6,
|
||||
});
|
||||
let { APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT } = Columns;
|
||||
this._store.set(iter,
|
||||
[APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT],
|
||||
[appInfo, icon, displayName, workspace, adj]);
|
||||
this.bind_property('number',
|
||||
label, 'label',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
label.set_parent(this);
|
||||
|
||||
const buttonProps = {
|
||||
css_classes: ['circular'],
|
||||
valign: Gtk.Align.CENTER,
|
||||
};
|
||||
|
||||
this._decButton = new Gtk.Button({
|
||||
icon_name: 'list-remove-symbolic',
|
||||
...buttonProps,
|
||||
});
|
||||
this._decButton.set_parent(this);
|
||||
this._decButton.connect('clicked', () => this.number--);
|
||||
|
||||
this._incButton = new Gtk.Button({
|
||||
icon_name: 'list-add-symbolic',
|
||||
...buttonProps,
|
||||
});
|
||||
this._incButton.set_parent(this);
|
||||
this._incButton.connect('clicked', () => this.number++);
|
||||
|
||||
this.connect('notify::number', () => this._syncButtons());
|
||||
this._syncButtons();
|
||||
}
|
||||
|
||||
_checkId(id) {
|
||||
let items = this._settings.get_strv(SETTINGS_KEY);
|
||||
return !items.some(i => i.startsWith(`${id}:`));
|
||||
_syncButtons() {
|
||||
this._decButton.sensitive = this.number > 1;
|
||||
this._incButton.sensitive = this.number < WORKSPACE_MAX;
|
||||
}
|
||||
}
|
||||
|
||||
class RuleRow extends Adw.ActionRow {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_appendItem(id, workspace) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
currentItems.push(`${id}:${workspace}`);
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
constructor(rule) {
|
||||
const {appInfo} = rule;
|
||||
const id = appInfo.get_id();
|
||||
|
||||
super({
|
||||
activatable: false,
|
||||
title: rule.appInfo.get_display_name(),
|
||||
});
|
||||
|
||||
const icon = new Gtk.Image({
|
||||
css_classes: ['icon-dropshadow'],
|
||||
gicon: appInfo.get_icon(),
|
||||
pixel_size: 32,
|
||||
});
|
||||
this.add_prefix(icon);
|
||||
|
||||
const wsButton = new WorkspaceSelector();
|
||||
rule.bind_property('workspace',
|
||||
wsButton, 'number',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
this.add_suffix(wsButton);
|
||||
|
||||
wsButton.connect('notify::number', () => {
|
||||
this.activate_action('rules.change-workspace',
|
||||
new GLib.Variant('(si)', [id, wsButton.number]));
|
||||
});
|
||||
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'rules.remove',
|
||||
action_target: new GLib.Variant('s', id),
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
has_frame: false,
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
this.add_suffix(button);
|
||||
}
|
||||
}
|
||||
|
||||
class NewRuleRow extends Gtk.ListBoxRow {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_removeItem(id) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
||||
constructor() {
|
||||
super({
|
||||
action_name: 'rules.add',
|
||||
child: new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}),
|
||||
});
|
||||
this.update_property(
|
||||
[Gtk.AccessibleProperty.LABEL], [_('Add Rule')]);
|
||||
}
|
||||
}
|
||||
|
||||
if (index < 0)
|
||||
return;
|
||||
currentItems.splice(index, 1);
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
class NewRuleDialog extends Gtk.AppChooserDialog {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_changeItem(id, workspace) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
||||
constructor(parent) {
|
||||
super({
|
||||
transient_for: parent,
|
||||
modal: true,
|
||||
});
|
||||
|
||||
if (index < 0)
|
||||
currentItems.push(`${id}:${workspace}`);
|
||||
else
|
||||
currentItems[index] = `${id}:${workspace}`;
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
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();
|
||||
}
|
||||
});
|
||||
|
||||
_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();
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Gtk.Widget} - the prefs widget
|
||||
*/
|
||||
function buildPrefsWidget() {
|
||||
let widget = new Widget({ margin: 12 });
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new AutoMoveSettingsWidget();
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/* This extensions requires no special styling */
|
||||
@@ -1,9 +1,6 @@
|
||||
/* exported init enable disable */
|
||||
// Drive menu extension
|
||||
const { Gio, GObject, Shell, St } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const {Clutter, Gio, GObject, Shell, St} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
@@ -11,13 +8,26 @@ const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const ShellMountOperation = imports.ui.shellMountOperation;
|
||||
|
||||
var MountMenuItem = GObject.registerClass(
|
||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(mount) {
|
||||
super._init();
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
this.label = new St.Label({ text: mount.get_name() });
|
||||
this.add(this.label, { expand: true });
|
||||
Gio._promisify(Gio.File.prototype, 'query_filesystem_info_async');
|
||||
|
||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(mount) {
|
||||
super({
|
||||
style_class: 'drive-menu-item',
|
||||
});
|
||||
|
||||
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;
|
||||
@@ -28,10 +38,15 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon',
|
||||
});
|
||||
let ejectButton = new St.Button({ child: ejectIcon });
|
||||
let ejectButton = new St.Button({
|
||||
child: ejectIcon,
|
||||
style_class: 'button',
|
||||
});
|
||||
ejectButton.connect('clicked', this._eject.bind(this));
|
||||
this.add(ejectButton);
|
||||
|
||||
this.hide();
|
||||
|
||||
this._changedId = mount.connect('changed', this._syncVisibility.bind(this));
|
||||
this._syncVisibility();
|
||||
}
|
||||
@@ -45,7 +60,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
super.destroy();
|
||||
}
|
||||
|
||||
_isInteresting() {
|
||||
async _isInteresting() {
|
||||
if (!this.mount.can_eject() && !this.mount.can_unmount())
|
||||
return false;
|
||||
if (this.mount.is_shadowed())
|
||||
@@ -53,23 +68,31 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
let volume = this.mount.get_volume();
|
||||
|
||||
if (!volume) {
|
||||
// probably a GDaemonMount, could be network or
|
||||
// local, but we can't tell; assume it's local for now
|
||||
return true;
|
||||
if (volume)
|
||||
return volume.get_identifier('class') !== 'network';
|
||||
|
||||
const root = this.mount.get_root();
|
||||
|
||||
try {
|
||||
const attr = Gio.FILE_ATTRIBUTE_FILESYSTEM_REMOTE;
|
||||
const info = await root.query_filesystem_info_async(attr, null);
|
||||
return !info.get_attribute_boolean(attr);
|
||||
} catch (e) {
|
||||
log(`Failed to query filesystem: ${e.message}`);
|
||||
}
|
||||
|
||||
return volume.get_identifier('class') !== 'network';
|
||||
// Hack, fall back to looking at GType
|
||||
return Gio._LocalFilePrototype.isPrototypeOf(root);
|
||||
}
|
||||
|
||||
_syncVisibility() {
|
||||
this.visible = this._isInteresting();
|
||||
async _syncVisibility() {
|
||||
this.visible = await this._isInteresting();
|
||||
}
|
||||
|
||||
_eject() {
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this.mount)).mountOp,
|
||||
new ShellMountOperation.ShellMountOperation(this.mount).mountOp,
|
||||
null, // Gio.Cancellable
|
||||
];
|
||||
|
||||
@@ -111,28 +134,26 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
super.activate(event);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let DriveMenu = GObject.registerClass(
|
||||
class DriveMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('Removable devices'));
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(0.5, _('Removable devices'));
|
||||
|
||||
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',
|
||||
});
|
||||
|
||||
hbox.add_child(icon);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
this.add_child(hbox);
|
||||
this.add_child(icon);
|
||||
|
||||
this._monitor = Gio.VolumeMonitor.get();
|
||||
this._addedId = this._monitor.connect('mount-added', (monitor, mount) => {
|
||||
this._addMount(mount);
|
||||
this._updateMenuVisibility();
|
||||
});
|
||||
this._addedId = this._monitor.connect('mount-added',
|
||||
(monitor, mount) => this._addMount(mount));
|
||||
this._removedId = this._monitor.connect('mount-removed', (monitor, mount) => {
|
||||
this._removeMount(mount);
|
||||
this._updateMenuVisibility();
|
||||
@@ -163,6 +184,8 @@ class DriveMenu extends PanelMenu.Button {
|
||||
let item = new MountMenuItem(mount);
|
||||
this._mounts.unshift(item);
|
||||
this.menu.addMenuItem(item, 0);
|
||||
|
||||
item.connect('notify::visible', () => this._updateMenuVisibility());
|
||||
}
|
||||
|
||||
_removeMount(mount) {
|
||||
@@ -187,19 +210,22 @@ class DriveMenu extends PanelMenu.Button {
|
||||
|
||||
super._onDestroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
let _indicator;
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
_indicator = new DriveMenu();
|
||||
Main.panel.addToStatusArea('drive-menu', _indicator);
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
_indicator.destroy();
|
||||
}
|
||||
|
||||
@@ -3,3 +3,4 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
/* exported init */
|
||||
const { Meta } = imports.gi;
|
||||
|
||||
const { ThumbnailsBox } = imports.ui.workspaceThumbnail;
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
this._origUpdateSwitcherVisibility =
|
||||
ThumbnailsBox.prototype._updateSwitcherVisibility;
|
||||
}
|
||||
|
||||
enable() {
|
||||
global.workspace_manager.override_workspace_layout(
|
||||
Meta.DisplayCorner.TOPLEFT,
|
||||
false,
|
||||
1,
|
||||
-1);
|
||||
|
||||
ThumbnailsBox.prototype._updateSwitcherVisibility = function () {
|
||||
this.hide();
|
||||
};
|
||||
}
|
||||
|
||||
disable() {
|
||||
global.workspace_manager.override_workspace_layout(
|
||||
Meta.DisplayCorner.TOPLEFT,
|
||||
false,
|
||||
-1,
|
||||
1);
|
||||
|
||||
ThumbnailsBox.prototype._updateSwitcherVisibility =
|
||||
this._origUpdateSwitcherVisibility;
|
||||
}
|
||||
}
|
||||
|
||||
function init() {
|
||||
return new Extension();
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
/* This extensions requires no special styling */
|
||||
@@ -3,6 +3,7 @@ const AppDisplay = imports.ui.appDisplay;
|
||||
|
||||
let _activateOriginal = null;
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
_activateOriginal = AppDisplay.AppIcon.prototype.activate;
|
||||
AppDisplay.AppIcon.prototype.activate = function () {
|
||||
@@ -10,6 +11,7 @@ function enable() {
|
||||
};
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
AppDisplay.AppIcon.prototype.activate = _activateOriginal;
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/* This extensions requires no special styling */
|
||||
42
extensions/light-style/extension.js
Normal file
42
extensions/light-style/extension.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/* exported init */
|
||||
/*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
const {St} = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
|
||||
class Extension {
|
||||
_updateColorScheme(scheme) {
|
||||
Main.sessionMode.colorScheme = scheme;
|
||||
St.Settings.get().notify('color-scheme');
|
||||
}
|
||||
|
||||
enable() {
|
||||
this._savedColorScheme = Main.sessionMode.colorScheme;
|
||||
this._updateColorScheme('prefer-light');
|
||||
}
|
||||
|
||||
disable() {
|
||||
this._updateColorScheme(this._savedColorScheme);
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
return new Extension();
|
||||
}
|
||||
@@ -3,8 +3,8 @@
|
||||
"uuid": "@uuid@",
|
||||
"settings-schema": "@gschemaname@",
|
||||
"gettext-domain": "@gettext_domain@",
|
||||
"name": "Horizontal workspaces",
|
||||
"description": "Use a horizontal workspace layout",
|
||||
"name": "Light Style",
|
||||
"description": "Switch default to light style",
|
||||
"shell-version": [ "@shell_current@" ],
|
||||
"url": "@url@"
|
||||
}
|
||||
@@ -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()
|
||||
@@ -15,31 +15,15 @@ foreach e : all_extensions
|
||||
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
||||
|
||||
extension_sources = files(e + '/extension.js')
|
||||
extension_data = files(e + '/stylesheet.css')
|
||||
extension_data = []
|
||||
|
||||
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
|
||||
|
||||
@@ -4,5 +4,6 @@ extension_data += configure_file(
|
||||
configuration: metadata_conf
|
||||
)
|
||||
|
||||
# extension_data += files('stylesheet.css')
|
||||
# extension_sources += files('prefs.js')
|
||||
# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported enable disable */
|
||||
const {Clutter} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const {WindowPreview} = imports.ui.windowPreview;
|
||||
const Workspace = imports.ui.workspace;
|
||||
|
||||
// testing settings for natural window placement strategy:
|
||||
@@ -63,13 +67,15 @@ class Rect {
|
||||
}
|
||||
|
||||
class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
constructor(settings) {
|
||||
super();
|
||||
constructor(params, settings) {
|
||||
super(params);
|
||||
this._settings = settings;
|
||||
}
|
||||
|
||||
computeLayout(windows, layout) {
|
||||
layout.windows = windows;
|
||||
computeLayout(windows, _params) {
|
||||
return {
|
||||
windows,
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -91,7 +97,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
let rects = [];
|
||||
for (let i = 0; i < clones.length; i++) {
|
||||
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
|
||||
let rect = clones[i].metaWindow.get_frame_rect();
|
||||
let rect = clones[i].boundingBox;
|
||||
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
|
||||
bounds = bounds.union(rects[i]);
|
||||
|
||||
@@ -100,7 +106,6 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
direction++;
|
||||
if (direction === 4)
|
||||
direction = 0;
|
||||
|
||||
}
|
||||
|
||||
let loopCounter = 0;
|
||||
@@ -221,8 +226,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
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;
|
||||
@@ -231,37 +238,57 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
|
||||
let winInjections, workspaceInjections;
|
||||
|
||||
/** */
|
||||
function resetState() {
|
||||
winInjections = { };
|
||||
workspaceInjections = { };
|
||||
}
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
resetState();
|
||||
|
||||
let settings = ExtensionUtils.getSettings();
|
||||
|
||||
workspaceInjections['_getBestLayout'] = Workspace.Workspace.prototype._getBestLayout;
|
||||
Workspace.Workspace.prototype._getBestLayout = function (windows) {
|
||||
let strategy = new NaturalLayoutStrategy(settings);
|
||||
let layout = { strategy };
|
||||
strategy.computeLayout(windows, layout);
|
||||
|
||||
return layout;
|
||||
workspaceInjections['_createBestLayout'] = Workspace.WorkspaceLayout.prototype._createBestLayout;
|
||||
Workspace.WorkspaceLayout.prototype._createBestLayout = function (_area) {
|
||||
this._layoutStrategy = new NaturalLayoutStrategy({
|
||||
monitor: Main.layoutManager.monitors[this._monitorIndex],
|
||||
}, settings);
|
||||
return this._layoutStrategy.computeLayout(this._sortedWindows);
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
winInjections['_init'] = WindowPreview.prototype._init;
|
||||
WindowPreview.prototype._init = function (...args) {
|
||||
winInjections['_init'].call(this, ...args);
|
||||
|
||||
winInjections['relayout'].call(this, animate);
|
||||
if (!settings.get_boolean('window-captions-on-top'))
|
||||
return;
|
||||
|
||||
const alignConstraint = this._title.get_constraints().find(
|
||||
c => c.align_axis && c.align_axis === Clutter.AlignAxis.Y_AXIS);
|
||||
alignConstraint.factor = 0;
|
||||
|
||||
const bindConstraint = this._title.get_constraints().find(
|
||||
c => c.coordinate && c.coordinate === Clutter.BindCoordinate.Y);
|
||||
bindConstraint.offset = 0;
|
||||
};
|
||||
winInjections['_adjustOverlayOffsets'] =
|
||||
WindowPreview.prototype._adjustOverlayOffsets;
|
||||
WindowPreview.prototype._adjustOverlayOffsets = function (...args) {
|
||||
winInjections['_adjustOverlayOffsets'].call(this, ...args);
|
||||
|
||||
if (settings.get_boolean('window-captions-on-top'))
|
||||
this._title.translation_y = -this._title.translation_y;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {object} object - object that was modified
|
||||
* @param {object} injection - the map of previous injections
|
||||
* @param {string} name - the @injection key that should be removed
|
||||
*/
|
||||
function removeInjection(object, injection, name) {
|
||||
if (injection[name] === undefined)
|
||||
delete object[name];
|
||||
@@ -269,13 +296,14 @@ function removeInjection(object, injection, name) {
|
||||
object[name] = injection[name];
|
||||
}
|
||||
|
||||
/** */
|
||||
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();
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
.window-caption {
|
||||
-shell-caption-spacing: 13px; /* current caption height is 26px => set it to half of it. TODO: better solution needed */
|
||||
}
|
||||
|
||||
.window-picker {
|
||||
-horizontal-spacing: 32px;
|
||||
-vertical-spacing: 32px;
|
||||
padding: 64px 32px;
|
||||
}
|
||||
@@ -1,26 +1,30 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init enable disable */
|
||||
|
||||
const { Clutter, GObject, St } = imports.gi;
|
||||
const {Clutter, GObject, St} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = x => x;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const PlaceDisplay = Me.imports.placeDisplay;
|
||||
|
||||
const _ = ExtensionUtils.gettext;
|
||||
const N_ = x => x;
|
||||
|
||||
const PLACE_ICON_SIZE = 16;
|
||||
|
||||
var PlaceMenuItem = GObject.registerClass(
|
||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(info) {
|
||||
super._init();
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(info) {
|
||||
super({
|
||||
style_class: 'place-menu-item',
|
||||
});
|
||||
this._info = info;
|
||||
|
||||
this._icon = new St.Icon({
|
||||
@@ -29,7 +33,11 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
});
|
||||
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()) {
|
||||
@@ -37,7 +45,10 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon',
|
||||
});
|
||||
this._ejectButton = new St.Button({ child: this._ejectIcon });
|
||||
this._ejectButton = new St.Button({
|
||||
child: this._ejectIcon,
|
||||
style_class: 'button',
|
||||
});
|
||||
this._ejectButton.connect('clicked', info.eject.bind(info));
|
||||
this.add_child(this._ejectButton);
|
||||
}
|
||||
@@ -65,7 +76,7 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
this._icon.gicon = info.icon;
|
||||
this._label.text = info.name;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const SECTIONS = [
|
||||
'special',
|
||||
@@ -74,20 +85,20 @@ const SECTIONS = [
|
||||
'network',
|
||||
];
|
||||
|
||||
let PlacesMenu = GObject.registerClass(
|
||||
class PlacesMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('Places'));
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(0.5, _('Places'));
|
||||
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
let label = new St.Label({
|
||||
text: _('Places'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
hbox.add_child(label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
this.add_actor(hbox);
|
||||
this.add_actor(label);
|
||||
|
||||
this.placesManager = new PlaceDisplay.PlacesManager();
|
||||
|
||||
@@ -125,23 +136,26 @@ class PlacesMenu extends PanelMenu.Button {
|
||||
|
||||
this._sections[id].actor.visible = places.length > 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
let _indicator;
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
_indicator = new PlacesMenu();
|
||||
|
||||
let pos = Main.sessionMode.panel.left.indexOf('appMenu');
|
||||
let pos = Main.sessionMode.panel.left.length;
|
||||
if ('apps-menu' in Main.panel.statusArea)
|
||||
pos++;
|
||||
Main.panel.addToStatusArea('places-menu', _indicator, pos, 'left');
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
_indicator.destroy();
|
||||
}
|
||||
|
||||
@@ -3,5 +3,6 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
extension_sources += files('placeDisplay.js')
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported PlacesManager */
|
||||
|
||||
const { Gio, GLib, Shell } = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
const {Gio, GLib, Shell} = imports.gi;
|
||||
const {EventEmitter} = imports.misc.signals;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const ShellMountOperation = imports.ui.shellMountOperation;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const _ = ExtensionUtils.gettext;
|
||||
const N_ = x => x;
|
||||
|
||||
Gio._promisify(Gio.AppInfo, 'launch_default_for_uri_async');
|
||||
Gio._promisify(Gio.File.prototype, 'mount_enclosing_volume');
|
||||
|
||||
const BACKGROUND_SCHEMA = 'org.gnome.desktop.background';
|
||||
|
||||
const Hostname1Iface = '<node> \
|
||||
@@ -19,8 +23,10 @@ const Hostname1Iface = '<node> \
|
||||
</node>';
|
||||
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
||||
|
||||
class PlaceInfo {
|
||||
class PlaceInfo extends EventEmitter {
|
||||
constructor(...params) {
|
||||
super();
|
||||
|
||||
this._init(...params);
|
||||
}
|
||||
|
||||
@@ -28,7 +34,7 @@ class PlaceInfo {
|
||||
this.kind = kind;
|
||||
this.file = file;
|
||||
this.name = name || this._getFileName();
|
||||
this.icon = icon ? new Gio.ThemedIcon({ name: icon }) : this.getIcon();
|
||||
this.icon = icon ? new Gio.ThemedIcon({name: icon}) : this.getIcon();
|
||||
}
|
||||
|
||||
destroy() {
|
||||
@@ -40,7 +46,7 @@ class PlaceInfo {
|
||||
|
||||
async _ensureMountAndLaunch(context, tryMount) {
|
||||
try {
|
||||
await this._launchDefaultForUri(this.file.get_uri(), context, null);
|
||||
await Gio.AppInfo.launch_default_for_uri_async(this.file.get_uri(), context, null);
|
||||
} catch (err) {
|
||||
if (!err.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||
Main.notifyError(_('Failed to launch “%s”').format(this.name), err.message);
|
||||
@@ -52,7 +58,7 @@ class PlaceInfo {
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
await this._mountEnclosingVolume(0, op.mountOp, null);
|
||||
await this.file.mount_enclosing_volume(0, op.mountOp, null);
|
||||
|
||||
if (tryMount)
|
||||
this._ensureMountAndLaunch(context, false);
|
||||
@@ -91,16 +97,16 @@ class PlaceInfo {
|
||||
// icon from the query info above
|
||||
switch (this.kind) {
|
||||
case 'network':
|
||||
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
||||
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
||||
case 'devices':
|
||||
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
||||
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
||||
case 'special':
|
||||
case 'bookmarks':
|
||||
default:
|
||||
if (!this.file.is_native())
|
||||
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
||||
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
||||
else
|
||||
return new Gio.ThemedIcon({ name: 'folder-symbolic' });
|
||||
return new Gio.ThemedIcon({name: 'folder-symbolic'});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,34 +120,7 @@ class PlaceInfo {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
_launchDefaultForUri(uri, context, cancel) {
|
||||
return new Promise((resolve, reject) => {
|
||||
Gio.AppInfo.launch_default_for_uri_async(uri, context, cancel, (o, res) => {
|
||||
try {
|
||||
Gio.AppInfo.launch_default_for_uri_finish(res);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
_mountEnclosingVolume(flags, mountOp, cancel) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.file.mount_enclosing_volume(flags, mountOp, cancel, (o, res) => {
|
||||
try {
|
||||
this.file.mount_enclosing_volume_finish(res);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Signals.addSignalMethods(PlaceInfo.prototype);
|
||||
|
||||
class RootInfo extends PlaceInfo {
|
||||
_init() {
|
||||
@@ -161,7 +140,7 @@ class RootInfo extends PlaceInfo {
|
||||
}
|
||||
|
||||
getIcon() {
|
||||
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
||||
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
||||
}
|
||||
|
||||
_propertiesChanged(proxy) {
|
||||
@@ -194,13 +173,13 @@ class PlaceDeviceInfo extends PlaceInfo {
|
||||
}
|
||||
|
||||
isRemovable() {
|
||||
return this._mount.can_eject();
|
||||
return this._mount.can_eject() || this._mount.can_unmount();
|
||||
}
|
||||
|
||||
eject() {
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this._mount)).mountOp,
|
||||
new ShellMountOperation.ShellMountOperation(this._mount).mountOp,
|
||||
null, // Gio.Cancellable
|
||||
];
|
||||
|
||||
@@ -269,8 +248,10 @@ const DEFAULT_DIRECTORIES = [
|
||||
GLib.UserDirectory.DIRECTORY_VIDEOS,
|
||||
];
|
||||
|
||||
var PlacesManager = class {
|
||||
var PlacesManager = class extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this._places = {
|
||||
special: [],
|
||||
devices: [],
|
||||
@@ -278,7 +259,7 @@ var PlacesManager = class {
|
||||
network: [],
|
||||
};
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: BACKGROUND_SCHEMA });
|
||||
this._settings = new Gio.Settings({schema_id: BACKGROUND_SCHEMA});
|
||||
this._showDesktopIconsChangedId = this._settings.connect(
|
||||
'changed::show-desktop-icons', this._updateSpecials.bind(this));
|
||||
this._updateSpecials();
|
||||
@@ -486,7 +467,6 @@ var PlacesManager = class {
|
||||
}
|
||||
|
||||
_reloadBookmarks() {
|
||||
|
||||
this._bookmarks = [];
|
||||
|
||||
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
|
||||
@@ -567,4 +547,3 @@ var PlacesManager = class {
|
||||
return this._places[kind];
|
||||
}
|
||||
};
|
||||
Signals.addSignalMethods(PlacesManager.prototype);
|
||||
|
||||
@@ -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,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
const { Clutter, Meta, Shell, St } = imports.gi;
|
||||
const {Clutter, Meta, Shell, St} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
@@ -28,14 +28,18 @@ const MESSAGE_FADE_TIME = 2000;
|
||||
|
||||
let text;
|
||||
|
||||
/** */
|
||||
function hideMessage() {
|
||||
text.destroy();
|
||||
text = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} message - the message to flash
|
||||
*/
|
||||
function flashMessage(message) {
|
||||
if (!text) {
|
||||
text = new St.Label({ style_class: 'screenshot-sizer-message' });
|
||||
text = new St.Label({style_class: 'screenshot-sizer-message'});
|
||||
Main.uiGroup.add_actor(text);
|
||||
}
|
||||
|
||||
@@ -67,6 +71,11 @@ let SIZES = [
|
||||
[720, 360], // Phone landscape fullscreen
|
||||
];
|
||||
|
||||
/**
|
||||
* @param {Meta.Display} display - the display
|
||||
* @param {Meta.Window=} window - for per-window bindings, the window
|
||||
* @param {Meta.KeyBinding} binding - the key binding
|
||||
*/
|
||||
function cycleScreenshotSizes(display, window, binding) {
|
||||
// Probably this isn't useful with 5 sizes, but you can decrease instead
|
||||
// of increase by holding down shift.
|
||||
@@ -82,7 +91,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;
|
||||
@@ -91,10 +101,6 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
for (let i = 0; i < scaledSizes.length; i++) {
|
||||
let [width, height] = scaledSizes[i];
|
||||
|
||||
// ignore sizes bigger than the workArea
|
||||
if (width > workArea.width || height > workArea.height)
|
||||
continue;
|
||||
|
||||
// get the best initial window size
|
||||
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
||||
if (nearestIndex === undefined || error < nearestError) {
|
||||
@@ -105,10 +111,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;
|
||||
@@ -118,8 +121,18 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
if (newY + newHeight > workArea.y + workArea.height)
|
||||
newY = Math.max(workArea.y + workArea.height - newHeight);
|
||||
|
||||
const id = window.connect('size-changed', () => {
|
||||
window.disconnect(id);
|
||||
_notifySizeChange(window);
|
||||
});
|
||||
window.move_resize_frame(true, newX, newY, newWidth, newHeight);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Meta.Window} window - the window whose size changed
|
||||
*/
|
||||
function _notifySizeChange(window) {
|
||||
const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
|
||||
let newOuterRect = window.get_frame_rect();
|
||||
let message = '%d×%d'.format(
|
||||
newOuterRect.width / scaleFactor,
|
||||
@@ -135,6 +148,7 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
flashMessage(message);
|
||||
}
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
Main.wm.addKeybinding(
|
||||
'cycle-screenshot-sizes',
|
||||
@@ -150,6 +164,7 @@ function enable() {
|
||||
cycleScreenshotSizes);
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
Main.wm.removeKeybinding('cycle-screenshot-sizes');
|
||||
Main.wm.removeKeybinding('cycle-screenshot-sizes-backward');
|
||||
|
||||
@@ -3,5 +3,6 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
@@ -2,28 +2,26 @@
|
||||
// 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 {
|
||||
constructor() {
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
}
|
||||
|
||||
enable() {
|
||||
this._changedId = this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this));
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this));
|
||||
this._changeTheme();
|
||||
}
|
||||
|
||||
disable() {
|
||||
if (this._changedId) {
|
||||
this._settings.disconnect(this._changedId);
|
||||
this._changedId = 0;
|
||||
}
|
||||
this._settings?.run_dispose();
|
||||
this._settings = null;
|
||||
|
||||
Main.setThemeStylesheet(null);
|
||||
Main.loadTheme();
|
||||
@@ -34,13 +32,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);
|
||||
@@ -57,6 +53,9 @@ class ThemeManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {ThemeManager} - the extension state object
|
||||
*/
|
||||
function init() {
|
||||
return new ThemeManager();
|
||||
}
|
||||
|
||||
@@ -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')
|
||||
|
||||
137
extensions/user-theme/prefs.js
Normal file
137
extensions/user-theme/prefs.js
Normal file
@@ -0,0 +1,137 @@
|
||||
// -*- 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 {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Util = Me.imports.util;
|
||||
|
||||
Gio._promisify(Gio.File.prototype, 'enumerate_children_async');
|
||||
Gio._promisify(Gio.File.prototype, 'query_info_async');
|
||||
Gio._promisify(Gio.FileEnumerator.prototype, 'next_files_async');
|
||||
|
||||
class UserThemePrefsWidget extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super({title: 'Themes'});
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this.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.add(row);
|
||||
}
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
class ThemeRow extends Adw.ActionRow {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(name) {
|
||||
const check = new Gtk.CheckButton({
|
||||
action_name: 'theme.name',
|
||||
action_target: new GLib.Variant('s', name),
|
||||
});
|
||||
|
||||
super({
|
||||
title: name || 'Default',
|
||||
activatable_widget: check,
|
||||
});
|
||||
this.add_prefix(check);
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Gtk.Widget} - the prefs widget
|
||||
*/
|
||||
function buildPrefsWidget() {
|
||||
return new UserThemePrefsWidget();
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
/* none used */
|
||||
23
extensions/user-theme/util.js
Normal file
23
extensions/user-theme/util.js
Normal file
@@ -0,0 +1,23 @@
|
||||
/* exported getThemeDirs getModeThemeDirs */
|
||||
const {GLib} = imports.gi;
|
||||
|
||||
const fn = (...args) => GLib.build_filenamev(args);
|
||||
|
||||
/**
|
||||
* @returns {string[]} - an ordered list of theme directories
|
||||
*/
|
||||
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')),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string[]} - an ordered list of mode theme directories
|
||||
*/
|
||||
function getModeThemeDirs() {
|
||||
return GLib.get_system_data_dirs()
|
||||
.map(dir => fn(dir, 'gnome-shell', 'theme'));
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/* exported init */
|
||||
const { Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi;
|
||||
const {Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St} = imports.gi;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
@@ -8,49 +8,27 @@ const Overview = imports.ui.overview;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
|
||||
const { WorkspaceIndicator } = Me.imports.workspaceIndicator;
|
||||
const {WindowPicker, WindowPickerToggle} = Me.imports.windowPicker;
|
||||
const {WorkspaceIndicator} = Me.imports.workspaceIndicator;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
const ICON_TEXTURE_SIZE = 24;
|
||||
const DND_ACTIVATE_TIMEOUT = 500;
|
||||
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const GroupingMode = {
|
||||
NEVER: 0,
|
||||
AUTO: 1,
|
||||
ALWAYS: 2,
|
||||
};
|
||||
|
||||
|
||||
function _minimizeOrActivateWindow(window) {
|
||||
let focusWindow = global.display.focus_window;
|
||||
if (focusWindow === window ||
|
||||
focusWindow && focusWindow.get_transient_for() === window)
|
||||
window.minimize();
|
||||
else
|
||||
window.activate(global.get_current_time());
|
||||
}
|
||||
|
||||
function _openMenu(menu) {
|
||||
menu.open();
|
||||
|
||||
let event = Clutter.get_current_event();
|
||||
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
|
||||
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||
}
|
||||
|
||||
function _onMenuStateChanged(menu, isOpen) {
|
||||
if (isOpen)
|
||||
return;
|
||||
|
||||
let [x, y] = global.get_pointer();
|
||||
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
|
||||
if (Me.stateObj.someWindowListContains(actor))
|
||||
actor.sync_hover();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Shell.App} app - an app
|
||||
* @returns {number} - the smallest stable sequence of the app's windows
|
||||
*/
|
||||
function _getAppStableSequence(app) {
|
||||
let windows = app.get_windows().filter(w => !w.skip_taskbar);
|
||||
return windows.reduce((prev, cur) => {
|
||||
@@ -58,7 +36,6 @@ function _getAppStableSequence(app) {
|
||||
}, Infinity);
|
||||
}
|
||||
|
||||
|
||||
class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
constructor(source, metaWindow) {
|
||||
super(source, 0.5, St.Side.BOTTOM);
|
||||
@@ -132,21 +109,24 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
}
|
||||
|
||||
const WindowTitle = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowTitle',
|
||||
}, class WindowTitle extends St.BoxLayout {
|
||||
_init(metaWindow) {
|
||||
this._metaWindow = metaWindow;
|
||||
class WindowTitle extends St.BoxLayout {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
super._init({
|
||||
constructor(metaWindow) {
|
||||
super({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
|
||||
this._icon = new St.Bin({ style_class: 'window-button-icon' });
|
||||
this._metaWindow = metaWindow;
|
||||
|
||||
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 = 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();
|
||||
@@ -201,33 +181,34 @@ const WindowTitle = GObject.registerClass({
|
||||
this._metaWindow.disconnect(this._notifyWmClass);
|
||||
this._metaWindow.disconnect(this._notifyAppId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
class BaseButton extends St.Button {
|
||||
static {
|
||||
GObject.registerClass({
|
||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||
Properties: {
|
||||
'ignore-workspace': GObject.ParamSpec.boolean(
|
||||
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
},
|
||||
}, this);
|
||||
}
|
||||
|
||||
constructor(perMonitor, monitorIndex) {
|
||||
super({
|
||||
style_class: 'window-button',
|
||||
can_focus: true,
|
||||
x_expand: true,
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
});
|
||||
|
||||
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),
|
||||
},
|
||||
}, class BaseButton extends St.Button {
|
||||
_init(perMonitor, monitorIndex) {
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitorIndex = monitorIndex;
|
||||
this._ignoreWorkspace = false;
|
||||
|
||||
super._init({
|
||||
style_class: 'window-button',
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
can_focus: 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));
|
||||
@@ -246,6 +227,12 @@ const BaseButton = GObject.registerClass({
|
||||
'window-left-monitor',
|
||||
this._windowEnteredOrLeftMonitor.bind(this));
|
||||
}
|
||||
|
||||
this._tooltip = new Tooltip(this, {
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
}
|
||||
|
||||
get active() {
|
||||
@@ -268,6 +255,48 @@ const BaseButton = GObject.registerClass({
|
||||
this._updateVisibility();
|
||||
}
|
||||
|
||||
_setLongPressTimeout() {
|
||||
if (this._longPressTimeoutId)
|
||||
return;
|
||||
|
||||
const {longPressDuration} = Clutter.Settings.get_default();
|
||||
this._longPressTimeoutId =
|
||||
GLib.timeout_add(GLib.PRIORITY_DEFAULT, longPressDuration, () => {
|
||||
delete this._longPressTimeoutId;
|
||||
|
||||
if (this._canOpenPopupMenu() && !this._contextMenu.isOpen)
|
||||
this._openMenu(this._contextMenu);
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
}
|
||||
|
||||
_removeLongPressTimeout() {
|
||||
if (!this._longPressTimeoutId)
|
||||
return;
|
||||
GLib.source_remove(this._longPressTimeoutId);
|
||||
delete this._longPressTimeoutId;
|
||||
}
|
||||
|
||||
vfunc_button_press_event(buttonEvent) {
|
||||
if (buttonEvent.button === 1)
|
||||
this._setLongPressTimeout();
|
||||
return super.vfunc_button_press_event(buttonEvent);
|
||||
}
|
||||
|
||||
vfunc_button_release_event(buttonEvent) {
|
||||
this._removeLongPressTimeout();
|
||||
|
||||
return super.vfunc_button_release_event(buttonEvent);
|
||||
}
|
||||
|
||||
vfunc_touch_event(touchEvent) {
|
||||
if (touchEvent.type === Clutter.EventType.TOUCH_BEGIN)
|
||||
this._setLongPressTimeout();
|
||||
else if (touchEvent.type === Clutter.EventType.TOUCH_END)
|
||||
this._removeLongPressTimeout();
|
||||
return super.vfunc_touch_event(touchEvent);
|
||||
}
|
||||
|
||||
activate() {
|
||||
if (this.active)
|
||||
return;
|
||||
@@ -284,10 +313,37 @@ const BaseButton = GObject.registerClass({
|
||||
return true;
|
||||
}
|
||||
|
||||
_openMenu(menu) {
|
||||
menu.open();
|
||||
|
||||
let event = Clutter.get_current_event();
|
||||
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
|
||||
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||
}
|
||||
|
||||
_minimizeOrActivateWindow(window) {
|
||||
let focusWindow = global.display.focus_window;
|
||||
if (focusWindow === window ||
|
||||
focusWindow && focusWindow.get_transient_for() === window)
|
||||
window.minimize();
|
||||
else
|
||||
window.activate(global.get_current_time());
|
||||
}
|
||||
|
||||
_onMenuStateChanged(menu, isOpen) {
|
||||
if (isOpen)
|
||||
return;
|
||||
|
||||
let [x, y] = global.get_pointer();
|
||||
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
|
||||
if (Me.stateObj.someWindowListContains(actor))
|
||||
actor.sync_hover();
|
||||
}
|
||||
|
||||
_onPopupMenu(_actor) {
|
||||
if (!this._canOpenPopupMenu() || this._contextMenu.isOpen)
|
||||
return;
|
||||
_openMenu(this._contextMenu);
|
||||
this._openMenu(this._contextMenu);
|
||||
}
|
||||
|
||||
_isFocused() {
|
||||
@@ -344,17 +400,23 @@ const BaseButton = GObject.registerClass({
|
||||
if (this._windowLeftMonitorId)
|
||||
global.display.disconnect(this._windowLeftMonitorId);
|
||||
this._windowLeftMonitorId = 0;
|
||||
|
||||
this._tooltip.destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
class WindowButton extends BaseButton {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
const WindowButton = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowButton',
|
||||
}, class WindowButton extends BaseButton {
|
||||
_init(metaWindow, perMonitor, monitorIndex) {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
constructor(metaWindow, perMonitor, monitorIndex) {
|
||||
super(perMonitor, monitorIndex);
|
||||
|
||||
this.metaWindow = metaWindow;
|
||||
this._skipTaskbarId = metaWindow.connect('notify::skip-taskbar', () => {
|
||||
this._updateVisibility();
|
||||
});
|
||||
this._updateVisibility();
|
||||
|
||||
this._windowTitle = new WindowTitle(this.metaWindow);
|
||||
@@ -362,7 +424,8 @@ const WindowButton = GObject.registerClass({
|
||||
this.label_actor = this._windowTitle.label_actor;
|
||||
|
||||
this._contextMenu = new WindowContextMenu(this, this.metaWindow);
|
||||
this._contextMenu.connect('open-state-changed', _onMenuStateChanged);
|
||||
this._contextMenu.connect('open-state-changed',
|
||||
this._onMenuStateChanged.bind(this));
|
||||
this._contextMenu.actor.hide();
|
||||
this._contextMenuManager.addMenu(this._contextMenu);
|
||||
Main.uiGroup.add_actor(this._contextMenu.actor);
|
||||
@@ -381,10 +444,10 @@ const WindowButton = GObject.registerClass({
|
||||
return;
|
||||
}
|
||||
|
||||
if (button === 1)
|
||||
_minimizeOrActivateWindow(this.metaWindow);
|
||||
if (!button || button === 1)
|
||||
this._minimizeOrActivateWindow(this.metaWindow);
|
||||
else
|
||||
_openMenu(this._contextMenu);
|
||||
this._openMenu(this._contextMenu);
|
||||
}
|
||||
|
||||
_isFocused() {
|
||||
@@ -415,12 +478,12 @@ const WindowButton = GObject.registerClass({
|
||||
|
||||
_onDestroy() {
|
||||
super._onDestroy();
|
||||
this.metaWindow.disconnect(this._skipTaskbarId);
|
||||
this.metaWindow.disconnect(this._workspaceChangedId);
|
||||
global.display.disconnect(this._notifyFocusId);
|
||||
this._contextMenu.destroy();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
class AppContextMenu extends PopupMenu.PopupMenu {
|
||||
constructor(source) {
|
||||
@@ -480,22 +543,22 @@ class AppContextMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
}
|
||||
|
||||
const AppButton = GObject.registerClass({
|
||||
GTypeName: 'WindowListAppButton',
|
||||
}, class AppButton extends BaseButton {
|
||||
_init(app, perMonitor, monitorIndex) {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
class AppButton extends BaseButton {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(app, perMonitor, monitorIndex) {
|
||||
super(perMonitor, monitorIndex);
|
||||
|
||||
this.app = app;
|
||||
this._updateVisibility();
|
||||
|
||||
let stack = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
|
||||
this.set_child(stack);
|
||||
|
||||
this._singleWindowTitle = new St.Bin({
|
||||
x_expand: true,
|
||||
y_fill: true,
|
||||
x_align: St.Align.START,
|
||||
});
|
||||
stack.add_actor(this._singleWindowTitle);
|
||||
|
||||
@@ -520,14 +583,16 @@ const AppButton = GObject.registerClass({
|
||||
|
||||
this._menuManager = new PopupMenu.PopupMenuManager(this);
|
||||
this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM);
|
||||
this._menu.connect('open-state-changed', _onMenuStateChanged);
|
||||
this._menu.connect('open-state-changed',
|
||||
this._onMenuStateChanged.bind(this));
|
||||
this._menu.actor.hide();
|
||||
this._menu.connect('activate', this._onMenuActivate.bind(this));
|
||||
this._menuManager.addMenu(this._menu);
|
||||
Main.uiGroup.add_actor(this._menu.actor);
|
||||
|
||||
this._appContextMenu = new AppContextMenu(this);
|
||||
this._appContextMenu.connect('open-state-changed', _onMenuStateChanged);
|
||||
this._appContextMenu.connect('open-state-changed',
|
||||
this._onMenuStateChanged.bind(this));
|
||||
this._appContextMenu.actor.hide();
|
||||
Main.uiGroup.add_actor(this._appContextMenu.actor);
|
||||
|
||||
@@ -594,7 +659,7 @@ const AppButton = GObject.registerClass({
|
||||
this._singleWindowTitle.child = this._windowTitle;
|
||||
this._windowContextMenu = new WindowContextMenu(this, this.metaWindow);
|
||||
this._windowContextMenu.connect(
|
||||
'open-state-changed', _onMenuStateChanged);
|
||||
'open-state-changed', this._onMenuStateChanged.bind(this));
|
||||
Main.uiGroup.add_actor(this._windowContextMenu.actor);
|
||||
this._windowContextMenu.actor.hide();
|
||||
this._contextMenuManager.addMenu(this._windowContextMenu);
|
||||
@@ -614,7 +679,6 @@ const AppButton = GObject.registerClass({
|
||||
this._contextMenuManager.addMenu(this._appContextMenu);
|
||||
this.label_actor = this._multiWindowTitle.label_actor;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
_onClicked(actor, button) {
|
||||
@@ -626,7 +690,7 @@ const AppButton = GObject.registerClass({
|
||||
if (contextMenuWasOpen)
|
||||
this._contextMenu.close();
|
||||
|
||||
if (button === 1) {
|
||||
if (!button || button === 1) {
|
||||
if (menuWasOpen)
|
||||
return;
|
||||
|
||||
@@ -634,7 +698,7 @@ const AppButton = GObject.registerClass({
|
||||
if (windows.length === 1) {
|
||||
if (contextMenuWasOpen)
|
||||
return;
|
||||
_minimizeOrActivateWindow(windows[0]);
|
||||
this._minimizeOrActivateWindow(windows[0]);
|
||||
} else {
|
||||
this._menu.removeAll();
|
||||
|
||||
@@ -645,12 +709,12 @@ const AppButton = GObject.registerClass({
|
||||
item._window = windows[i];
|
||||
this._menu.addMenuItem(item);
|
||||
}
|
||||
_openMenu(this._menu);
|
||||
this._openMenu(this._menu);
|
||||
}
|
||||
} else {
|
||||
if (contextMenuWasOpen)
|
||||
return;
|
||||
_openMenu(this._contextMenu);
|
||||
this._openMenu(this._contextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -669,17 +733,15 @@ const AppButton = GObject.registerClass({
|
||||
this.app.disconnect(this._windowsChangedId);
|
||||
this._menu.destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
class WindowList extends St.Widget {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
const WindowList = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowList',
|
||||
}, class WindowList extends St.Widget {
|
||||
_init(perMonitor, monitor) {
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitor = monitor;
|
||||
|
||||
super._init({
|
||||
constructor(perMonitor, monitor) {
|
||||
super({
|
||||
name: 'panel',
|
||||
style_class: 'bottom-panel solid',
|
||||
reactive: true,
|
||||
@@ -688,7 +750,10 @@ const WindowList = GObject.registerClass({
|
||||
});
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
let box = new St.BoxLayout({ x_expand: true, y_expand: true });
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitor = monitor;
|
||||
|
||||
let box = new St.BoxLayout({x_expand: true, y_expand: true});
|
||||
this.add_actor(box);
|
||||
|
||||
let toggle = new WindowPickerToggle();
|
||||
@@ -697,7 +762,7 @@ const WindowList = GObject.registerClass({
|
||||
toggle.connect('notify::checked',
|
||||
this._updateWindowListVisibility.bind(this));
|
||||
|
||||
let layout = new Clutter.BoxLayout({ homogeneous: true });
|
||||
let layout = new Clutter.BoxLayout({homogeneous: true});
|
||||
this._windowList = new St.Widget({
|
||||
style_class: 'window-list',
|
||||
reactive: true,
|
||||
@@ -706,7 +771,7 @@ const WindowList = GObject.registerClass({
|
||||
x_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();
|
||||
@@ -715,13 +780,13 @@ const WindowList = GObject.registerClass({
|
||||
});
|
||||
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
|
||||
let indicatorsBox = new St.BoxLayout({ x_align: Clutter.ActorAlign.END });
|
||||
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
|
||||
box.add(indicatorsBox);
|
||||
|
||||
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._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
|
||||
this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
|
||||
'changed::workspaces-only-on-primary',
|
||||
this._updateWorkspaceIndicatorVisibility.bind(this));
|
||||
@@ -748,28 +813,26 @@ const WindowList = GObject.registerClass({
|
||||
this._appStateChangedId = this._appSystem.connect(
|
||||
'app-state-changed', this._onAppStateChanged.bind(this));
|
||||
|
||||
this._keyboardVisiblechangedId = Main.layoutManager.connect(
|
||||
'keyboard-visible-changed',
|
||||
(o, state) => {
|
||||
Main.layoutManager.keyboardBox.visible = state;
|
||||
let { keyboardBox } = Main.layoutManager;
|
||||
keyboardBox.visible = state;
|
||||
if (state) {
|
||||
Main.uiGroup.set_child_above_sibling(
|
||||
this, keyboardBox);
|
||||
} else {
|
||||
Main.uiGroup.set_child_above_sibling(
|
||||
this, Main.layoutManager.panelBox);
|
||||
}
|
||||
this._updateKeyboardAnchor();
|
||||
});
|
||||
// Hack: OSK gesture is tied to visibility, piggy-back on that
|
||||
this._keyboardVisiblechangedId =
|
||||
Main.keyboard._bottomDragAction.connect('notify::enabled',
|
||||
action => {
|
||||
const visible = !action.enabled;
|
||||
if (visible) {
|
||||
Main.uiGroup.set_child_above_sibling(
|
||||
this, Main.layoutManager.keyboardBox);
|
||||
} else {
|
||||
Main.uiGroup.set_child_above_sibling(
|
||||
this, Main.layoutManager.panelBox);
|
||||
}
|
||||
this._updateKeyboardAnchor();
|
||||
});
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._workspaceSignals = new Map();
|
||||
this._nWorkspacesChangedId = workspaceManager.connect(
|
||||
'notify::n-workspaces', this._onWorkspacesChanged.bind(this));
|
||||
this._onWorkspacesChanged();
|
||||
'notify::n-workspaces', this._updateWorkspaceIndicatorVisibility.bind(this));
|
||||
this._updateWorkspaceIndicatorVisibility();
|
||||
|
||||
this._switchWorkspaceId = global.window_manager.connect(
|
||||
'switch-workspace', this._checkGrouping.bind(this));
|
||||
@@ -779,20 +842,27 @@ const WindowList = GObject.registerClass({
|
||||
this._updateKeyboardAnchor();
|
||||
});
|
||||
|
||||
this._overviewHidingId = Main.overview.connect('hiding', () => {
|
||||
this.visible = !Main.layoutManager.primaryMonitor.inFullscreen;
|
||||
this._overviewHidingId = Main.overview.connect('hidden', () => {
|
||||
this.visible = !this._monitor.inFullscreen;
|
||||
this._updateKeyboardAnchor();
|
||||
});
|
||||
|
||||
this._fullscreenChangedId =
|
||||
global.display.connect('in-fullscreen-changed', () => {
|
||||
// Work-around for initial change from unknown to !fullscreen
|
||||
if (Main.overview.visible)
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
});
|
||||
|
||||
this._windowSignals = new Map();
|
||||
this._windowCreatedId = global.display.connect(
|
||||
'window-created', (dsp, win) => this._addWindow(win));
|
||||
|
||||
this._dragBeginId = Main.xdndHandler.connect('drag-begin',
|
||||
this._onDragBegin.bind(this));
|
||||
this._monitorDrag.bind(this));
|
||||
this._dragEndId = Main.xdndHandler.connect('drag-end',
|
||||
this._onDragEnd.bind(this));
|
||||
this._stopMonitoringDrag.bind(this));
|
||||
this._dragMonitor = {
|
||||
dragMotion: this._onDragMotion.bind(this),
|
||||
};
|
||||
@@ -801,8 +871,8 @@ const WindowList = GObject.registerClass({
|
||||
this._dndWindow = null;
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._groupingModeChangedId = this._settings.connect(
|
||||
'changed::grouping-mode', this._groupingModeChanged.bind(this));
|
||||
this._settings.connect('changed::grouping-mode',
|
||||
() => this._groupingModeChanged());
|
||||
this._grouped = undefined;
|
||||
this._groupingModeChanged();
|
||||
}
|
||||
@@ -859,7 +929,7 @@ const WindowList = GObject.registerClass({
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let [, childWidth] = children[0].get_preferred_width(-1);
|
||||
let { spacing } = this._windowList.layout_manager;
|
||||
let {spacing} = this._windowList.layout_manager;
|
||||
|
||||
let workspace = global.workspace_manager.get_active_workspace();
|
||||
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||
@@ -911,7 +981,7 @@ const WindowList = GObject.registerClass({
|
||||
w2.metaWindow.get_stable_sequence();
|
||||
});
|
||||
for (let i = 0; i < windows.length; i++)
|
||||
this._onWindowAdded(null, windows[i].metaWindow);
|
||||
this._addWindow(windows[i].metaWindow);
|
||||
} else {
|
||||
let apps = this._appSystem.get_running().sort((a1, a2) => {
|
||||
return _getAppStableSequence(a1) -
|
||||
@@ -923,11 +993,8 @@ const WindowList = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updateKeyboardAnchor() {
|
||||
if (!Main.keyboard.actor)
|
||||
return;
|
||||
|
||||
let translationY = Main.overview.visible ? 0 : this.height;
|
||||
Main.keyboard.actor.translation_y = -translationY;
|
||||
const translationY = Main.overview.visible ? 0 : this.height;
|
||||
Main.layoutManager.keyboardBox.translation_y = -translationY;
|
||||
}
|
||||
|
||||
_onAppStateChanged(appSys, app) {
|
||||
@@ -944,10 +1011,7 @@ 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) {
|
||||
@@ -957,10 +1021,7 @@ const WindowList = GObject.registerClass({
|
||||
child.destroy();
|
||||
}
|
||||
|
||||
_onWindowAdded(ws, win) {
|
||||
if (win.skip_taskbar)
|
||||
return;
|
||||
|
||||
_addWindow(win) {
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -971,24 +1032,26 @@ const WindowList = GObject.registerClass({
|
||||
if (children.find(c => c.metaWindow === win))
|
||||
return;
|
||||
|
||||
this._windowSignals.set(
|
||||
win, win.connect('unmanaged', () => this._removeWindow(win)));
|
||||
|
||||
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) {
|
||||
_removeWindow(win) {
|
||||
if (this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
if (this._grouped)
|
||||
return;
|
||||
|
||||
if (win.get_compositor_private())
|
||||
return; // not actually removed, just moved to another workspace
|
||||
const id = this._windowSignals.get(win);
|
||||
if (id)
|
||||
win.disconnect(id);
|
||||
this._windowSignals.delete(win);
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.metaWindow === win);
|
||||
@@ -996,44 +1059,11 @@ const WindowList = GObject.registerClass({
|
||||
child.destroy();
|
||||
}
|
||||
|
||||
_onWorkspacesChanged() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let numWorkspaces = workspaceManager.n_workspaces;
|
||||
|
||||
for (let i = 0; i < numWorkspaces; i++) {
|
||||
let workspace = workspaceManager.get_workspace_by_index(i);
|
||||
if (this._workspaceSignals.has(workspace))
|
||||
continue;
|
||||
|
||||
let signals = { windowAddedId: 0, windowRemovedId: 0 };
|
||||
signals._windowAddedId = workspace.connect_after(
|
||||
'window-added', this._onWindowAdded.bind(this));
|
||||
signals._windowRemovedId = workspace.connect(
|
||||
'window-removed', this._onWindowRemoved.bind(this));
|
||||
this._workspaceSignals.set(workspace, signals);
|
||||
}
|
||||
|
||||
this._updateWorkspaceIndicatorVisibility();
|
||||
}
|
||||
|
||||
_disconnectWorkspaceSignals() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let numWorkspaces = workspaceManager.n_workspaces;
|
||||
|
||||
for (let i = 0; i < numWorkspaces; i++) {
|
||||
let workspace = workspaceManager.get_workspace_by_index(i);
|
||||
let signals = this._workspaceSignals.get(workspace);
|
||||
this._workspaceSignals.delete(workspace);
|
||||
workspace.disconnect(signals._windowAddedId);
|
||||
workspace.disconnect(signals._windowRemovedId);
|
||||
}
|
||||
}
|
||||
|
||||
_onDragBegin() {
|
||||
_monitorDrag() {
|
||||
DND.addDragMonitor(this._dragMonitor);
|
||||
}
|
||||
|
||||
_onDragEnd() {
|
||||
_stopMonitoringDrag() {
|
||||
DND.removeDragMonitor(this._dragMonitor);
|
||||
this._removeActivateTimeout();
|
||||
}
|
||||
@@ -1089,37 +1119,40 @@ const WindowList = GObject.registerClass({
|
||||
this._appSystem.disconnect(this._appStateChangedId);
|
||||
this._appStateChangedId = 0;
|
||||
|
||||
Main.layoutManager.disconnect(this._keyboardVisiblechangedId);
|
||||
Main.keyboard._bottomDragAction.disconnect(this._keyboardVisiblechangedId);
|
||||
this._keyboardVisiblechangedId = 0;
|
||||
|
||||
Main.layoutManager.hideKeyboard();
|
||||
|
||||
this._disconnectWorkspaceSignals();
|
||||
global.workspace_manager.disconnect(this._nWorkspacesChangedId);
|
||||
this._nWorkspacesChangedId = 0;
|
||||
|
||||
global.window_manager.disconnect(this._switchWorkspaceId);
|
||||
this._switchWorkspaceId = 0;
|
||||
|
||||
this._windowSignals.forEach((id, win) => win.disconnect(id));
|
||||
this._windowSignals.clear();
|
||||
|
||||
Main.overview.disconnect(this._overviewShowingId);
|
||||
Main.overview.disconnect(this._overviewHidingId);
|
||||
|
||||
global.display.disconnect(this._fullscreenChangedId);
|
||||
global.display.disconnect(this._windowCreatedId);
|
||||
|
||||
this._stopMonitoringDrag();
|
||||
Main.xdndHandler.disconnect(this._dragBeginId);
|
||||
Main.xdndHandler.disconnect(this._dragEndId);
|
||||
|
||||
this._settings.disconnect(this._groupingModeChangedId);
|
||||
this._settings.run_dispose();
|
||||
|
||||
let windows = global.get_window_actors();
|
||||
for (let i = 0; i < windows.length; i++)
|
||||
windows[i].metaWindow.set_icon_geometry(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
ExtensionUtils.initTranslations();
|
||||
|
||||
this._windowLists = null;
|
||||
this._hideOverviewOrig = Main.overview.hide;
|
||||
}
|
||||
@@ -1183,6 +1216,73 @@ class Extension {
|
||||
}
|
||||
}
|
||||
|
||||
class Tooltip extends St.Label {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(widget, params) {
|
||||
super(params);
|
||||
|
||||
this._widget = widget;
|
||||
|
||||
this._widget.connect('notify::hover', () => {
|
||||
if (this._widget.hover)
|
||||
this.open();
|
||||
else
|
||||
this.close();
|
||||
});
|
||||
}
|
||||
|
||||
open() {
|
||||
const buttonTitleWidget = this._widget.label_actor;
|
||||
const [, , preferredTitleWidth] = buttonTitleWidget.get_preferred_size();
|
||||
const maxTitleWidth = buttonTitleWidget.allocation.get_width();
|
||||
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
|
||||
|
||||
if (isTitleFullyShown)
|
||||
return;
|
||||
|
||||
this.set({
|
||||
text: this._widget.label_actor.get_text(),
|
||||
visible: true,
|
||||
opacity: 0,
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this._widget.get_transformed_position();
|
||||
const thumbWidth = this._widget.allocation.get_width();
|
||||
const tipWidth = this.width;
|
||||
const tipHeight = this.height;
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY - tipHeight - TOOLTIP_OFFSET;
|
||||
this.set_position(x, y);
|
||||
|
||||
this.ease({
|
||||
opacity: 255,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this.visible = this._widget.hover),
|
||||
});
|
||||
}
|
||||
|
||||
close() {
|
||||
this.ease({
|
||||
opacity: 0,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this.visible = this._widget.hover),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Extension} - the extension's state object
|
||||
*/
|
||||
function init() {
|
||||
return new Extension();
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files(
|
||||
'stylesheet-dark.css',
|
||||
'stylesheet-light.css'
|
||||
)
|
||||
|
||||
extension_sources += files('prefs.js', 'windowPicker.js', 'workspaceIndicator.js')
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
if classic_mode_enabled
|
||||
extension_data += files('classic.css')
|
||||
endif
|
||||
|
||||
@@ -1,95 +1,92 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
const WindowListPrefsWidget = GObject.registerClass(
|
||||
class WindowListPrefsWidget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
class WindowListPrefsWidget extends Adw.PreferencesPage {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
this.margin = 24;
|
||||
this.row_spacing = 6;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
|
||||
this.add(new Gtk.Label({
|
||||
label: groupingLabel, use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
}));
|
||||
|
||||
let align = new Gtk.Alignment({ left_padding: 12 });
|
||||
this.add(align);
|
||||
|
||||
let grid = new Gtk.Grid({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
row_spacing: 6,
|
||||
column_spacing: 6,
|
||||
});
|
||||
align.add(grid);
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this.insert_action_group('window-list', this._actionGroup);
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
let currentMode = this._settings.get_string('grouping-mode');
|
||||
let range = this._settings.get_range('grouping-mode');
|
||||
let modes = range.deep_unpack()[1].deep_unpack();
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('grouping-mode'));
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('show-on-all-monitors'));
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('display-all-workspaces'));
|
||||
|
||||
let modeLabels = {
|
||||
'never': _('Never group windows'),
|
||||
'auto': _('Group windows when space is limited'),
|
||||
'always': _('Always group windows'),
|
||||
};
|
||||
const groupingGroup = new Adw.PreferencesGroup({
|
||||
title: _('Window Grouping'),
|
||||
});
|
||||
this.add(groupingGroup);
|
||||
|
||||
let radio = null;
|
||||
for (let i = 0; i < modes.length; i++) {
|
||||
let mode = modes[i];
|
||||
let label = modeLabels[mode];
|
||||
if (!label) {
|
||||
log('Unhandled option "%s" for grouping-mode'.format(mode));
|
||||
continue;
|
||||
}
|
||||
const modes = [
|
||||
{mode: 'never', title: _('Never group windows')},
|
||||
{mode: 'auto', title: _('Group windows when space is limited')},
|
||||
{mode: 'always', title: _('Always group windows')},
|
||||
];
|
||||
|
||||
radio = new Gtk.RadioButton({
|
||||
active: currentMode === mode,
|
||||
label,
|
||||
group: radio,
|
||||
for (const {mode, title} of modes) {
|
||||
const check = new Gtk.CheckButton({
|
||||
action_name: 'window-list.grouping-mode',
|
||||
action_target: new GLib.Variant('s', mode),
|
||||
});
|
||||
grid.add(radio);
|
||||
|
||||
radio.connect('toggled', button => {
|
||||
if (button.active)
|
||||
this._settings.set_string('grouping-mode', mode);
|
||||
const row = new Adw.ActionRow({
|
||||
activatable_widget: check,
|
||||
title,
|
||||
});
|
||||
row.add_prefix(check);
|
||||
groupingGroup.add(row);
|
||||
}
|
||||
|
||||
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);
|
||||
const miscGroup = new Adw.PreferencesGroup();
|
||||
this.add(miscGroup);
|
||||
|
||||
check = new Gtk.CheckButton({
|
||||
label: _('Show windows from all workspaces'),
|
||||
margin_top: 6,
|
||||
let toggle = new Gtk.Switch({
|
||||
action_name: 'window-list.show-on-all-monitors',
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
let row = new Adw.ActionRow({
|
||||
title: _('Show on all monitors'),
|
||||
activatable_widget: toggle,
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
|
||||
toggle = new Gtk.Switch({
|
||||
action_name: 'window-list.display-all-workspaces',
|
||||
valign: Gtk.Align.CENTER,
|
||||
});
|
||||
this._settings.bind('display-all-workspaces',
|
||||
toggle, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
row = new Adw.ActionRow({
|
||||
title: _('Show windows from all workspaces'),
|
||||
activatable_widget: toggle,
|
||||
});
|
||||
row.add_suffix(toggle);
|
||||
miscGroup.add(row);
|
||||
}
|
||||
});
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new WindowListPrefsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Gtk.Widget} - the prefs widget
|
||||
*/
|
||||
function buildPrefsWidget() {
|
||||
return new WindowListPrefsWidget();
|
||||
}
|
||||
|
||||
113
extensions/window-list/stylesheet-dark.css
Normal file
113
extensions/window-list/stylesheet-dark.css
Normal file
@@ -0,0 +1,113 @@
|
||||
.window-list {
|
||||
spacing: 2px;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.bottom-panel {
|
||||
background-color: #000000;
|
||||
border-top-width: 0px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.window-button {
|
||||
padding: 2px, 1px;
|
||||
}
|
||||
|
||||
.window-button:first-child:ltr {
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
.window-button:last-child:rtl {
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.window-button-box {
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
.window-button > StWidget,
|
||||
.window-picker-toggle > StWidget {
|
||||
color: #bbb;
|
||||
background-color: #1d1d1d;
|
||||
border-radius: 4px;
|
||||
padding: 3px 6px 1px;
|
||||
transition: 100ms ease;
|
||||
}
|
||||
|
||||
.window-button > StWidget {
|
||||
-st-natural-width: 18.75em;
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.window-button:hover > StWidget,
|
||||
.window-picker-toggle:hover > StWidget {
|
||||
color: #fff;
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
.window-button:active > StWidget,
|
||||
.window-button:focus > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.window-button.focused > StWidget,
|
||||
.window-picker-toggle:checked > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.window-button.focused:active > StWidget,
|
||||
.window-picker-toggle:checked:active > StWidget {
|
||||
color: #fff;
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.window-button.minimized > StWidget {
|
||||
color: #666;
|
||||
background-color: #161616;
|
||||
}
|
||||
|
||||
.window-button.minimized:active > StWidget {
|
||||
color: #666;
|
||||
background-color: #161616;
|
||||
}
|
||||
|
||||
.window-button-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .status-label-bin {
|
||||
background-color: rgba(200, 200, 200, 0.3);
|
||||
padding: 0 3px;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspaces-box {
|
||||
spacing: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace {
|
||||
width: 52px;
|
||||
border-radius: 4px;
|
||||
background-color: #1e1e1e;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #bebebe;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
|
||||
.notification {
|
||||
font-weight: normal;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
@import url("stylesheet.css");
|
||||
@import url("stylesheet-dark.css");
|
||||
|
||||
#panel.bottom-panel {
|
||||
border-top-width: 1px;
|
||||
@@ -50,11 +50,12 @@
|
||||
|
||||
/* workspace switcher */
|
||||
.window-list-workspace-indicator .workspace {
|
||||
background-color: #ddd;
|
||||
border: 2px solid #f6f5f4;
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
background-color: #ccc;
|
||||
border-color: #888;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
@@ -64,5 +65,4 @@
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #f6f5f4;
|
||||
border: 2px solid #888;
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
.bottom-panel {
|
||||
/* .window-button-icon height +
|
||||
.window-button vertical padding +
|
||||
.window-button > StWidget vertical padding) */
|
||||
height: 2.25em;
|
||||
}
|
||||
|
||||
.window-list {
|
||||
spacing: 2px;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.window-button {
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.window-button:first-child:ltr {
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
.window-button:last-child:rtl {
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.window-button-box {
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
.window-button > StWidget,
|
||||
.window-picker-toggle > StWidget {
|
||||
color: #bbb;
|
||||
background-color: black;
|
||||
border-radius: 4px;
|
||||
padding: 3px 6px 1px;
|
||||
box-shadow: inset 1px 1px 4px rgba(255,255,255,0.5);
|
||||
text-shadow: 1px 1px 4px rgba(0,0,0,0.8);
|
||||
}
|
||||
|
||||
.window-picker-toggle {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.window-picker-toggle > StWidet {
|
||||
border: 1px solid rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.window-button > StWidget {
|
||||
-st-natural-width: 18.75em;
|
||||
max-width: 18.75em;
|
||||
}
|
||||
|
||||
.window-button:hover > StWidget,
|
||||
.window-picker-toggle:hover > StWidget {
|
||||
color: white;
|
||||
background-color: #1f1f1f;
|
||||
}
|
||||
|
||||
.window-button:active > StWidget,
|
||||
.window-button:focus > StWidget {
|
||||
box-shadow: inset 2px 2px 4px rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.window-button.focused > StWidget,
|
||||
.window-picker-toggle:checked > StWidget {
|
||||
color: white;
|
||||
box-shadow: inset 1px 1px 4px rgba(255,255,255,0.7);
|
||||
}
|
||||
|
||||
.window-button.focused:active > StWidget,
|
||||
.window-picker-toggle:checked:active > StWidget {
|
||||
box-shadow: inset 2px 2px 4px rgba(255,255,255,0.7);
|
||||
}
|
||||
|
||||
.window-button.minimized > StWidget {
|
||||
color: #666;
|
||||
box-shadow: inset -1px -1px 4px rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.window-button.minimized:active > StWidget {
|
||||
box-shadow: inset -2px -2px 4px rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.window-button-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .status-label-bin {
|
||||
background-color: rgba(200, 200, 200, .3);
|
||||
border: 1px solid #cccccc;
|
||||
padding: 0 3px;
|
||||
margin: 3px 0;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspaces-box {
|
||||
spacing: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace {
|
||||
border: 1px solid #cccccc;
|
||||
width: 52px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace:first-child:last-child:ltr,
|
||||
.window-list-workspace-indicator .workspace:first-child:last-child:rtl {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace:first-child:ltr,
|
||||
.window-list-workspace-indicator .workspace:last-child:rtl {
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace:first-child:rtl,
|
||||
.window-list-workspace-indicator .workspace:last-child:ltr {
|
||||
border-radius: 0 4px 4px 0;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
background-color: rgba(200, 200, 200, .3);
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #252525;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #353535;
|
||||
border: 2px solid #ccc;
|
||||
}
|
||||
|
||||
.notification {
|
||||
font-weight: normal;
|
||||
}
|
||||
@@ -1,81 +1,173 @@
|
||||
/* exported WindowPicker, WindowPickerToggle */
|
||||
const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
|
||||
const {Clutter, GObject, Shell, St} = imports.gi;
|
||||
|
||||
const Layout = imports.ui.layout;
|
||||
const Main = imports.ui.main;
|
||||
const Overview = imports.ui.overview;
|
||||
const { WorkspacesDisplay } = imports.ui.workspacesView;
|
||||
const {WorkspacesDisplay} = imports.ui.workspacesView;
|
||||
const Workspace = imports.ui.workspace;
|
||||
|
||||
let MyWorkspacesDisplay = class extends WorkspacesDisplay {
|
||||
constructor() {
|
||||
super();
|
||||
const {VIGNETTE_BRIGHTNESS} = imports.ui.lightbox;
|
||||
const {
|
||||
SIDE_CONTROLS_ANIMATION_TIME,
|
||||
OverviewAdjustment,
|
||||
ControlsState,
|
||||
} = imports.ui.overviewControls;
|
||||
|
||||
this.actor.add_constraint(
|
||||
class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(controls, overviewAdjustment) {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
const 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,
|
||||
});
|
||||
|
||||
super(controls, workspaceAdjustment, overviewAdjustment);
|
||||
|
||||
this._workspaceAdjustment = workspaceAdjustment;
|
||||
this._workspaceAdjustment.actor = this;
|
||||
|
||||
this._nWorkspacesChangedId =
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._updateAdjustment.bind(this));
|
||||
|
||||
this.add_constraint(
|
||||
new Layout.MonitorConstraint({
|
||||
primary: 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) {
|
||||
prepareToEnterOverview(...args) {
|
||||
if (!this._scrollEventId) {
|
||||
this._scrollEventId = Main.windowPicker.connect('scroll-event',
|
||||
this._onScrollEvent.bind(this));
|
||||
}
|
||||
|
||||
super.show(...args);
|
||||
super.prepareToEnterOverview(...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);
|
||||
}
|
||||
|
||||
_updateWorkspacesViews() {
|
||||
super._updateWorkspacesViews();
|
||||
|
||||
this._workspacesViews.forEach(v => {
|
||||
Main.layoutManager.overviewGroup.remove_actor(v.actor);
|
||||
Main.windowPicker.add_actor(v.actor);
|
||||
_updateAdjustment() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._workspaceAdjustment.set({
|
||||
upper: workspaceManager.n_workspaces,
|
||||
value: workspaceManager.get_active_workspace_index(),
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
|
||||
this._adjChangedId =
|
||||
this._overviewAdjustment.connect('notify::value', () => {
|
||||
const {value: progress} = this._overviewAdjustment;
|
||||
const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
|
||||
for (const bg of this._background?._backgroundGroup ?? []) {
|
||||
bg.content.set({
|
||||
vignette: true,
|
||||
brightness,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
super._onDestroy();
|
||||
|
||||
if (this._adjChangedId)
|
||||
this._overviewAdjustment.disconnect(this._adjChangedId);
|
||||
this._adjChangedId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_updateBorderRadius() {
|
||||
}
|
||||
|
||||
vfunc_allocate(box) {
|
||||
this.set_allocation(box);
|
||||
|
||||
const themeNode = this.get_theme_node();
|
||||
const contentBox = themeNode.get_content_box(box);
|
||||
|
||||
this._bin.allocate(contentBox);
|
||||
|
||||
const [contentWidth, contentHeight] = contentBox.get_size();
|
||||
const monitor = Main.layoutManager.monitors[this._monitorIndex];
|
||||
const xRatio = contentWidth / this._workarea.width;
|
||||
const yRatio = contentHeight / this._workarea.height;
|
||||
|
||||
const right = area => area.x + area.width;
|
||||
const bottom = area => area.y + area.height;
|
||||
|
||||
const offsets = {
|
||||
left: xRatio * (this._workarea.x - monitor.x),
|
||||
right: xRatio * (right(monitor) - right(this._workarea)),
|
||||
top: yRatio * (this._workarea.y - monitor.y),
|
||||
bottom: yRatio * (bottom(monitor) - bottom(this._workarea)),
|
||||
};
|
||||
|
||||
contentBox.set_origin(-offsets.left, -offsets.top);
|
||||
contentBox.set_size(
|
||||
offsets.left + contentWidth + offsets.right,
|
||||
offsets.top + contentHeight + offsets.bottom);
|
||||
this._backgroundGroup.allocate(contentBox);
|
||||
}
|
||||
}
|
||||
|
||||
var WindowPicker = class WindowPicker extends Clutter.Actor {
|
||||
static [GObject.signals] = {
|
||||
'open-state-changed': {param_types: [GObject.TYPE_BOOLEAN]},
|
||||
};
|
||||
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super({reactive: true});
|
||||
|
||||
var WindowPicker = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowPicker',
|
||||
Signals: {
|
||||
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
|
||||
},
|
||||
}, class extends Clutter.Actor {
|
||||
_init() {
|
||||
this._visible = false;
|
||||
this._modal = false;
|
||||
|
||||
this._overlayKeyId = 0;
|
||||
this._stageKeyPressId = 0;
|
||||
|
||||
super._init();
|
||||
this._adjustment = new OverviewAdjustment(this);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
@@ -86,31 +178,14 @@ var WindowPicker = GObject.registerClass({
|
||||
this, 'height',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._backgroundGroup = new Meta.BackgroundGroup({ reactive: true });
|
||||
this.add_child(this._backgroundGroup);
|
||||
|
||||
this._backgroundGroup.connect('scroll-event', (a, ev) => {
|
||||
this.emit('scroll-event', ev);
|
||||
});
|
||||
|
||||
// Trick WorkspacesDisplay constructor into adding actions here
|
||||
let addActionOrig = Main.overview.addAction;
|
||||
Main.overview.addAction = a => this._backgroundGroup.add_action(a);
|
||||
|
||||
this._workspacesDisplay = new MyWorkspacesDisplay();
|
||||
this.add_child(this._workspacesDisplay.actor);
|
||||
|
||||
Main.overview.addAction = addActionOrig;
|
||||
|
||||
this._bgManagers = [];
|
||||
|
||||
this._monitorsChangedId = Main.layoutManager.connect('monitors-changed',
|
||||
this._updateBackgrounds.bind(this));
|
||||
this._updateBackgrounds();
|
||||
this._workspacesDisplay = new MyWorkspacesDisplay(this, this._adjustment);
|
||||
this.add_child(this._workspacesDisplay);
|
||||
|
||||
Main.uiGroup.insert_child_below(this, global.window_group);
|
||||
|
||||
if (!Main.sessionMode.hasOverview) {
|
||||
this._injectBackgroundShade();
|
||||
|
||||
this._overlayKeyId = global.display.connect('overlay-key', () => {
|
||||
if (!this._visible)
|
||||
this.open();
|
||||
@@ -120,6 +195,14 @@ var WindowPicker = GObject.registerClass({
|
||||
}
|
||||
}
|
||||
|
||||
_injectBackgroundShade() {
|
||||
this._origWorkspace = Workspace.Workspace;
|
||||
this._origWorkspaceBackground = Workspace.WorkspaceBackground;
|
||||
|
||||
Workspace.Workspace = MyWorkspace;
|
||||
Workspace.WorkspaceBackground = MyWorkspaceBackground;
|
||||
}
|
||||
|
||||
get visible() {
|
||||
return this._visible;
|
||||
}
|
||||
@@ -134,9 +217,15 @@ var WindowPicker = GObject.registerClass({
|
||||
return;
|
||||
|
||||
this._fakeOverviewVisible(true);
|
||||
this._shadeBackgrounds();
|
||||
this._fakeOverviewAnimation();
|
||||
this._workspacesDisplay.show(false);
|
||||
this._workspacesDisplay.prepareToEnterOverview();
|
||||
Main.overview._animationInProgress = true;
|
||||
|
||||
this._adjustment.value = ControlsState.HIDDEN;
|
||||
this._adjustment.ease(ControlsState.WINDOW_PICKER, {
|
||||
duration: SIDE_CONTROLS_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (Main.overview._animationInProgress = false),
|
||||
});
|
||||
|
||||
this._stageKeyPressId = global.stage.connect('key-press-event',
|
||||
(a, event) => {
|
||||
@@ -160,11 +249,17 @@ var WindowPicker = GObject.registerClass({
|
||||
if (!this._syncGrab())
|
||||
return;
|
||||
|
||||
this._workspacesDisplay.animateFromOverview(false);
|
||||
this._unshadeBackgrounds();
|
||||
this._fakeOverviewAnimation(() => {
|
||||
this._workspacesDisplay.hide();
|
||||
this._fakeOverviewVisible(false);
|
||||
this._workspacesDisplay.prepareToLeaveOverview();
|
||||
|
||||
Main.overview._animationInProgress = true;
|
||||
this._adjustment.ease(ControlsState.HIDDEN, {
|
||||
duration: SIDE_CONTROLS_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => {
|
||||
Main.overview._animationInProgress = false;
|
||||
this._workspacesDisplay.hide();
|
||||
this._fakeOverviewVisible(false);
|
||||
},
|
||||
});
|
||||
|
||||
global.stage.disconnect(this._stageKeyPressId);
|
||||
@@ -173,21 +268,13 @@ var WindowPicker = GObject.registerClass({
|
||||
this.emit('open-state-changed', this._visible);
|
||||
}
|
||||
|
||||
_fakeOverviewAnimation(onComplete) {
|
||||
Main.overview.animationInProgress = true;
|
||||
GLib.timeout_add(
|
||||
GLib.PRIORITY_DEFAULT,
|
||||
Overview.ANIMATION_TIME,
|
||||
() => {
|
||||
Main.overview.animationInProgress = false;
|
||||
if (onComplete)
|
||||
onComplete();
|
||||
});
|
||||
getWorkspacesBoxForState() {
|
||||
return this.allocation;
|
||||
}
|
||||
|
||||
_fakeOverviewVisible(visible) {
|
||||
// Fake overview state for WorkspacesDisplay
|
||||
Main.overview.visible = visible;
|
||||
Main.overview._visible = visible;
|
||||
|
||||
// Hide real windows
|
||||
Main.layoutManager._inOverview = visible;
|
||||
@@ -199,22 +286,32 @@ var WindowPicker = GObject.registerClass({
|
||||
if (this._modal)
|
||||
return true;
|
||||
|
||||
this._modal = Main.pushModal(this, {
|
||||
const grab = Main.pushModal(global.stage, {
|
||||
actionMode: Shell.ActionMode.OVERVIEW,
|
||||
});
|
||||
|
||||
if (!this._modal) {
|
||||
if (grab.get_seat_state() !== Clutter.GrabState.NONE) {
|
||||
this._grab = grab;
|
||||
this._modal = true;
|
||||
} else {
|
||||
Main.popModal(grab);
|
||||
this.hide();
|
||||
return false;
|
||||
}
|
||||
} else if (this._modal) {
|
||||
Main.popModal(this);
|
||||
Main.popModal(this._grab);
|
||||
this._modal = false;
|
||||
this._grab = null;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
if (this._origWorkspace)
|
||||
Workspace.Workspace = this._origWorkspace;
|
||||
|
||||
if (this._origWorkspaceBackground)
|
||||
Workspace.WorkspaceBackground = this._origWorkspaceBackground;
|
||||
|
||||
if (this._monitorsChangedId)
|
||||
Main.layoutManager.disconnect(this._monitorsChangedId);
|
||||
this._monitorsChangedId = 0;
|
||||
@@ -227,23 +324,14 @@ var WindowPicker = GObject.registerClass({
|
||||
global.stage.disconnect(this._stageKeyPressId);
|
||||
this._stageKeyPressId = 0;
|
||||
}
|
||||
};
|
||||
|
||||
_updateBackgrounds() {
|
||||
Main.overview._updateBackgrounds.call(this);
|
||||
var WindowPickerToggle = class WindowPickerToggle extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_shadeBackgrounds() {
|
||||
Main.overview._shadeBackgrounds.call(this);
|
||||
}
|
||||
|
||||
_unshadeBackgrounds() {
|
||||
Main.overview._unshadeBackgrounds.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
var WindowPickerToggle = GObject.registerClass(
|
||||
class WindowPickerToggle extends St.Button {
|
||||
_init() {
|
||||
constructor() {
|
||||
let iconBin = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
});
|
||||
@@ -255,12 +343,10 @@ class WindowPickerToggle extends St.Button {
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
}));
|
||||
super._init({
|
||||
super({
|
||||
style_class: 'window-picker-toggle',
|
||||
child: iconBin,
|
||||
visible: !Main.sessionMode.hasOverview,
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
toggle_mode: true,
|
||||
});
|
||||
|
||||
@@ -275,4 +361,4 @@ class WindowPickerToggle extends St.Button {
|
||||
this.checked = Main.windowPicker.visible;
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,51 +1,45 @@
|
||||
/* exported WorkspaceIndicator */
|
||||
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
|
||||
const {Clutter, Gio, GObject, Meta, St} = imports.gi;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const _ = ExtensionUtils.gettext;
|
||||
|
||||
let WindowPreview = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowPreview',
|
||||
}, class WindowPreview extends St.Button {
|
||||
_init(window) {
|
||||
super._init({
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
class WindowPreview extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(window) {
|
||||
super({
|
||||
style_class: 'window-list-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
DND.makeDraggable(this, { restoreOnSuccess: true });
|
||||
DND.makeDraggable(this, {restoreOnSuccess: true});
|
||||
|
||||
this._window = window;
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._sizeChangedId = this._window.connect('size-changed',
|
||||
this._relayout.bind(this));
|
||||
() => this.queue_relayout());
|
||||
this._positionChangedId = this._window.connect('position-changed',
|
||||
this._relayout.bind(this));
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._relayout.bind(this));
|
||||
this._monitorEnteredId = global.display.connect('window-entered-monitor',
|
||||
this._relayout.bind(this));
|
||||
this._monitorLeftId = global.display.connect('window-left-monitor',
|
||||
this._relayout.bind(this));
|
||||
|
||||
// Do initial layout when we get a parent
|
||||
let id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
if (!this.get_parent())
|
||||
return;
|
||||
this._laterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
||||
this._laterId = 0;
|
||||
this._relayout();
|
||||
return false;
|
||||
() => {
|
||||
this._updateVisible();
|
||||
this.queue_relayout();
|
||||
});
|
||||
});
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._updateVisible.bind(this));
|
||||
|
||||
this._focusChangedId = global.display.connect('notify::focus-window',
|
||||
this._onFocusChanged.bind(this));
|
||||
@@ -53,19 +47,15 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
|
||||
// needed for DND
|
||||
get realWindow() {
|
||||
return this._window.get_compositor_private();
|
||||
get metaWindow() {
|
||||
return this._window;
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._window.disconnect(this._sizeChangedId);
|
||||
this._window.disconnect(this._positionChangedId);
|
||||
this._window.disconnect(this._minimizedChangedId);
|
||||
global.display.disconnect(this._monitorEnteredId);
|
||||
global.display.disconnect(this._monitorLeftId);
|
||||
global.display.disconnect(this._focusChangedId);
|
||||
if (this._laterId)
|
||||
Meta.later_remove(this._laterId);
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
@@ -75,43 +65,70 @@ let WindowPreview = GObject.registerClass({
|
||||
this.remove_style_class_name('active');
|
||||
}
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
_updateVisible() {
|
||||
const monitor = Main.layoutManager.findIndexForActor(this);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
this.visible = this._window.get_frame_rect().overlap(workArea) &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
|
||||
if (!this.visible)
|
||||
return;
|
||||
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
let hscale = this.get_parent().allocation.get_width() / workArea.width;
|
||||
let vscale = this.get_parent().allocation.get_height() / workArea.height;
|
||||
|
||||
let frameRect = this._window.get_frame_rect();
|
||||
this.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
this.set_position(
|
||||
Math.round(frameRect.x * hscale),
|
||||
Math.round(frameRect.y * vscale));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let WorkspaceThumbnail = GObject.registerClass({
|
||||
GTypeName: 'WindowListWorkspaceThumbnail',
|
||||
}, class WorkspaceThumbnail extends St.Button {
|
||||
_init(index) {
|
||||
super._init({
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_allocate(container, box) {
|
||||
const monitor = Main.layoutManager.findIndexForActor(container);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
const hscale = box.get_width() / workArea.width;
|
||||
const vscale = box.get_height() / workArea.height;
|
||||
|
||||
for (const child of container) {
|
||||
const childBox = new Clutter.ActorBox();
|
||||
const frameRect = child.metaWindow.get_frame_rect();
|
||||
childBox.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(index) {
|
||||
super({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
});
|
||||
|
||||
this._tooltip = new St.Label({
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('notify::hover', this._syncTooltip.bind(this));
|
||||
|
||||
this._index = index;
|
||||
this._delegate = this; // needed for DND
|
||||
@@ -137,16 +154,15 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.realWindow)
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
|
||||
let window = source.realWindow.get_meta_window();
|
||||
this._moveWindow(window);
|
||||
this._moveWindow(source.metaWindow);
|
||||
return true;
|
||||
}
|
||||
|
||||
handleDragOver(source) {
|
||||
if (source.realWindow)
|
||||
if (source.metaWindow)
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
else
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
@@ -197,20 +213,55 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
ws.activate(global.get_current_time());
|
||||
}
|
||||
|
||||
_syncTooltip() {
|
||||
if (this.hover) {
|
||||
this._tooltip.set({
|
||||
text: Meta.prefs_get_workspace_name(this._index),
|
||||
visible: true,
|
||||
opacity: 0,
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this.get_transformed_position();
|
||||
const thumbWidth = this.allocation.get_width();
|
||||
const tipWidth = this._tooltip.width;
|
||||
const tipHeight = this._tooltip.height;
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY - tipHeight - TOOLTIP_OFFSET;
|
||||
this._tooltip.set_position(x, y);
|
||||
}
|
||||
|
||||
this._tooltip.ease({
|
||||
opacity: this.hover ? 255 : 0,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this._tooltip.visible = this.hover),
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._tooltip.destroy();
|
||||
|
||||
this._workspace.disconnect(this._windowAddedId);
|
||||
this._workspace.disconnect(this._windowRemovedId);
|
||||
global.display.disconnect(this._restackedId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var WorkspaceIndicator = GObject.registerClass({
|
||||
GTypeName: 'WindowListWorkspaceIndicator',
|
||||
}, class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('Workspace Indicator'), true);
|
||||
var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(0.5, _('Workspace Indicator'), true);
|
||||
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
||||
this.add_style_class_name('window-list-workspace-indicator');
|
||||
this.remove_style_class_name('panel-button');
|
||||
this.menu.actor.remove_style_class_name('panel-menu');
|
||||
|
||||
let container = new St.Widget({
|
||||
@@ -223,7 +274,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||
this._statusLabel = new St.Label({ text: this._getStatusText() });
|
||||
this._statusLabel = new St.Label({text: this._getStatusText()});
|
||||
|
||||
this._statusBin = new St.Bin({
|
||||
style_class: 'status-label-bin',
|
||||
@@ -250,15 +301,15 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
workspaceManager.connect_after('workspace-switched',
|
||||
this._onWorkspaceSwitched.bind(this)),
|
||||
workspaceManager.connect('notify::layout-rows',
|
||||
this._onWorkspaceOrientationChanged.bind(this)),
|
||||
this._updateThumbnailVisibility.bind(this)),
|
||||
];
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._onWorkspaceOrientationChanged();
|
||||
this._updateThumbnailVisibility();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.preferences' });
|
||||
this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
|
||||
this._settingsChangedId = this._settings.connect(
|
||||
'changed::workspace-names', this._updateMenuLabels.bind(this));
|
||||
}
|
||||
@@ -275,12 +326,15 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
super._onDestroy();
|
||||
}
|
||||
|
||||
_onWorkspaceOrientationChanged() {
|
||||
let vertical = global.workspace_manager.layout_rows === -1;
|
||||
this.reactive = vertical;
|
||||
_updateThumbnailVisibility() {
|
||||
const {workspaceManager} = global;
|
||||
const vertical = workspaceManager.layout_rows === -1;
|
||||
const useMenu =
|
||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||
this.reactive = useMenu;
|
||||
|
||||
this._statusBin.visible = vertical;
|
||||
this._thumbnailsBox.visible = !vertical;
|
||||
this._statusBin.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
}
|
||||
|
||||
_onWorkspaceSwitched() {
|
||||
@@ -296,6 +350,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
_nWorkspacesChanged() {
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
@@ -392,10 +447,4 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
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,121 +1,132 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init */
|
||||
const { Clutter, St } = imports.gi;
|
||||
const {Clutter, Graphene, GObject, St} = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const OverviewControls = imports.ui.overviewControls;
|
||||
const Workspace = imports.ui.workspace;
|
||||
const WorkspacesView = imports.ui.workspacesView;
|
||||
|
||||
var MyWindowOverlay = class extends Workspace.WindowOverlay {
|
||||
constructor(windowClone, parentActor) {
|
||||
super(windowClone, parentActor);
|
||||
const WINDOW_SLOT = 4;
|
||||
|
||||
this._id = null;
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false,
|
||||
});
|
||||
parentActor.add_actor(this._text);
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
this._text.raise_top();
|
||||
this._text.show();
|
||||
this._text.text = (this._windowClone.slotId + 1).toString();
|
||||
}
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
|
||||
hideTooltip() {
|
||||
if (this._text && this._text.visible)
|
||||
this._text.hide();
|
||||
}
|
||||
|
||||
relayout(animate) {
|
||||
super.relayout(animate);
|
||||
|
||||
let [cloneX, cloneY, cloneWidth_, cloneHeight_] = this._windowClone.slot;
|
||||
|
||||
let textX = cloneX - 2;
|
||||
let textY = cloneY - 2;
|
||||
this._text.set_position(Math.floor(textX) + 5, Math.floor(textY) + 5);
|
||||
this._text.raise_top();
|
||||
}
|
||||
};
|
||||
|
||||
var MyWorkspace = class extends Workspace.Workspace {
|
||||
constructor(metaWorkspace, monitorIndex) {
|
||||
super(metaWorkspace, monitorIndex);
|
||||
|
||||
if (metaWorkspace && metaWorkspace.index() < 9) {
|
||||
if (this.metaWorkspace && this.metaWorkspace.index() < 9) {
|
||||
this._tip = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
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 {
|
||||
this._tip = null;
|
||||
}
|
||||
}
|
||||
|
||||
vfunc_allocate(box) {
|
||||
super.vfunc_allocate(box);
|
||||
|
||||
if (this._tip)
|
||||
this._tip.allocate_preferred_size(0, 0);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
if (!this._tip || !this._actualGeometry)
|
||||
if (!this._tip)
|
||||
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 padding = {
|
||||
left: node.get_padding(St.Side.LEFT),
|
||||
top: node.get_padding(St.Side.TOP),
|
||||
bottom: node.get_padding(St.Side.BOTTOM),
|
||||
right: node.get_padding(St.Side.RIGHT),
|
||||
};
|
||||
|
||||
let area = Workspace.padArea(this._actualGeometry, padding);
|
||||
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)
|
||||
return;
|
||||
if (!this._tip.get_parent())
|
||||
return;
|
||||
this._tip.hide();
|
||||
if (this._tip)
|
||||
this._tip.hide();
|
||||
}
|
||||
|
||||
getWindowWithTooltip(id) {
|
||||
for (let i = 0; i < this._windows.length; i++) {
|
||||
if (this._windows[i].slotId + 1 === id)
|
||||
return this._windows[i].metaWindow;
|
||||
}
|
||||
return null;
|
||||
const {layoutManager} = this._container;
|
||||
const slot = layoutManager._windowSlots[id - 1];
|
||||
return slot ? slot[WINDOW_SLOT].metaWindow : null;
|
||||
}
|
||||
|
||||
showWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].showTooltip();
|
||||
const {layoutManager} = this._container;
|
||||
for (let i = 0; i < layoutManager._windowSlots.length; i++) {
|
||||
if (layoutManager._windowSlots[i])
|
||||
layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
|
||||
}
|
||||
}
|
||||
|
||||
hideWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].hideTooltip();
|
||||
const {layoutManager} = this._container;
|
||||
for (let i in layoutManager._windowSlots) {
|
||||
if (layoutManager._windowSlots[i])
|
||||
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
constructor(width, height, x, y, workspaces) {
|
||||
super(width, height, x, y, workspaces);
|
||||
// overriding _addWindowClone to apply the tooltip patch on the cloned
|
||||
// windowPreview
|
||||
_addWindowClone(metaWindow) {
|
||||
const clone = super._addWindowClone(metaWindow);
|
||||
|
||||
// appling the tooltip patch
|
||||
(function patchPreview() {
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false,
|
||||
});
|
||||
|
||||
this._text.add_constraint(new Clutter.BindConstraint({
|
||||
source: this.windowContainer,
|
||||
coordinate: Clutter.BindCoordinate.POSITION,
|
||||
}));
|
||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||
source: this.windowContainer,
|
||||
align_axis: Clutter.AlignAxis.X_AXIS,
|
||||
pivot_point: new Graphene.Point({x: 0.5, y: -1}),
|
||||
factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
|
||||
}));
|
||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||
source: this.windowContainer,
|
||||
align_axis: Clutter.AlignAxis.Y_AXIS,
|
||||
pivot_point: new Graphene.Point({x: -1, y: 0.5}),
|
||||
factor: 0,
|
||||
}));
|
||||
|
||||
this.add_child(this._text);
|
||||
}).call(clone);
|
||||
|
||||
clone.showTooltip = function (text) {
|
||||
this._text.set({text});
|
||||
this._text.show();
|
||||
};
|
||||
|
||||
clone.hideTooltip = function () {
|
||||
if (this._text && this._text.visible)
|
||||
this._text.hide();
|
||||
};
|
||||
|
||||
return clone;
|
||||
}
|
||||
}
|
||||
|
||||
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
|
||||
this._pickWorkspace = false;
|
||||
this._pickWindow = false;
|
||||
@@ -159,8 +170,8 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
}
|
||||
|
||||
_onKeyPress(s, o) {
|
||||
let { viewSelector } = Main.overview;
|
||||
if (viewSelector._activePage !== viewSelector._workspacesPage)
|
||||
const {ControlsState} = OverviewControls;
|
||||
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
|
||||
return false;
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
@@ -238,28 +249,28 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
this._origWindowOverlay = Workspace.WindowOverlay;
|
||||
this._origWorkspace = Workspace.Workspace;
|
||||
this._origWorkspacesView = WorkspacesView.WorkspacesView;
|
||||
}
|
||||
|
||||
enable() {
|
||||
Workspace.WindowOverlay = MyWindowOverlay;
|
||||
Workspace.Workspace = MyWorkspace;
|
||||
WorkspacesView.WorkspacesView = MyWorkspacesView;
|
||||
}
|
||||
|
||||
disable() {
|
||||
Workspace.WindowOverlay = this._origWindowOverlay;
|
||||
Workspace.Workspace = this._origWorkspace;
|
||||
WorkspacesView.WorkspacesView = this._origWorkspacesView;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Extension} - the extension's state object
|
||||
*/
|
||||
function init() {
|
||||
return new Extension();
|
||||
}
|
||||
|
||||
@@ -3,3 +3,4 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init enable disable */
|
||||
|
||||
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
|
||||
const {Clutter, Gio, GObject, Meta, St} = imports.gi;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
@@ -9,49 +9,42 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const _ = ExtensionUtils.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 {
|
||||
_init(window) {
|
||||
super._init({
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
class WindowPreview extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(window) {
|
||||
super({
|
||||
style_class: 'workspace-indicator-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
DND.makeDraggable(this, { restoreOnSuccess: true });
|
||||
DND.makeDraggable(this, {restoreOnSuccess: true});
|
||||
|
||||
this._window = window;
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._sizeChangedId = this._window.connect('size-changed',
|
||||
this._relayout.bind(this));
|
||||
() => this.queue_relayout());
|
||||
this._positionChangedId = this._window.connect('position-changed',
|
||||
this._relayout.bind(this));
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._relayout.bind(this));
|
||||
this._monitorEnteredId = global.display.connect('window-entered-monitor',
|
||||
this._relayout.bind(this));
|
||||
this._monitorLeftId = global.display.connect('window-left-monitor',
|
||||
this._relayout.bind(this));
|
||||
|
||||
// Do initial layout when we get a parent
|
||||
let id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
if (!this.get_parent())
|
||||
return;
|
||||
this._laterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
||||
this._laterId = 0;
|
||||
this._relayout();
|
||||
return false;
|
||||
() => {
|
||||
this._updateVisible();
|
||||
this.queue_relayout();
|
||||
});
|
||||
});
|
||||
this._minimizedChangedId = this._window.connect('notify::minimized',
|
||||
this._updateVisible.bind(this));
|
||||
|
||||
this._focusChangedId = global.display.connect('notify::focus-window',
|
||||
this._onFocusChanged.bind(this));
|
||||
@@ -59,19 +52,15 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
|
||||
// needed for DND
|
||||
get realWindow() {
|
||||
return this._window.get_compositor_private();
|
||||
get metaWindow() {
|
||||
return this._window;
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._window.disconnect(this._sizeChangedId);
|
||||
this._window.disconnect(this._positionChangedId);
|
||||
this._window.disconnect(this._minimizedChangedId);
|
||||
global.display.disconnect(this._monitorEnteredId);
|
||||
global.display.disconnect(this._monitorLeftId);
|
||||
global.display.disconnect(this._focusChangedId);
|
||||
if (this._laterId)
|
||||
Meta.later_remove(this._laterId);
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
@@ -81,43 +70,70 @@ let WindowPreview = GObject.registerClass({
|
||||
this.remove_style_class_name('active');
|
||||
}
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
_updateVisible() {
|
||||
const monitor = Main.layoutManager.findIndexForActor(this);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
this.visible = this._window.get_frame_rect().overlap(workArea) &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
|
||||
if (!this.visible)
|
||||
return;
|
||||
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
let hscale = this.get_parent().allocation.get_width() / workArea.width;
|
||||
let vscale = this.get_parent().allocation.get_height() / workArea.height;
|
||||
|
||||
let frameRect = this._window.get_frame_rect();
|
||||
this.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
this.set_position(
|
||||
Math.round(frameRect.x * hscale),
|
||||
Math.round(frameRect.y * vscale));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let WorkspaceThumbnail = GObject.registerClass({
|
||||
GTypeName: 'WorkspaceIndicatorWorkspaceThumbnail',
|
||||
}, class WorkspaceThumbnail extends St.Button {
|
||||
_init(index) {
|
||||
super._init({
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
vfunc_allocate(container, box) {
|
||||
const monitor = Main.layoutManager.findIndexForActor(container);
|
||||
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
|
||||
const hscale = box.get_width() / workArea.width;
|
||||
const vscale = box.get_height() / workArea.height;
|
||||
|
||||
for (const child of container) {
|
||||
const childBox = new Clutter.ActorBox();
|
||||
const frameRect = child.metaWindow.get_frame_rect();
|
||||
childBox.set_size(
|
||||
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
|
||||
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
|
||||
childBox.set_origin(
|
||||
Math.round((frameRect.x - workArea.x) * hscale),
|
||||
Math.round((frameRect.y - workArea.y) * vscale));
|
||||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(index) {
|
||||
super({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
});
|
||||
|
||||
this._tooltip = new St.Label({
|
||||
style_class: 'dash-label',
|
||||
visible: false,
|
||||
});
|
||||
Main.uiGroup.add_child(this._tooltip);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
this.connect('notify::hover', this._syncTooltip.bind(this));
|
||||
|
||||
this._index = index;
|
||||
this._delegate = this; // needed for DND
|
||||
@@ -143,16 +159,15 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!source.realWindow)
|
||||
if (!source.metaWindow)
|
||||
return false;
|
||||
|
||||
let window = source.realWindow.get_meta_window();
|
||||
this._moveWindow(window);
|
||||
this._moveWindow(source.metaWindow);
|
||||
return true;
|
||||
}
|
||||
|
||||
handleDragOver(source) {
|
||||
if (source.realWindow)
|
||||
if (source.metaWindow)
|
||||
return DND.DragMotionResult.MOVE_DROP;
|
||||
else
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
@@ -203,17 +218,52 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
ws.activate(global.get_current_time());
|
||||
}
|
||||
|
||||
_syncTooltip() {
|
||||
if (this.hover) {
|
||||
this._tooltip.set({
|
||||
text: Meta.prefs_get_workspace_name(this._index),
|
||||
visible: true,
|
||||
opacity: 0,
|
||||
});
|
||||
|
||||
const [stageX, stageY] = this.get_transformed_position();
|
||||
const thumbWidth = this.allocation.get_width();
|
||||
const thumbHeight = this.allocation.get_height();
|
||||
const tipWidth = this._tooltip.width;
|
||||
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
|
||||
const monitor = Main.layoutManager.findMonitorForActor(this);
|
||||
const x = Math.clamp(
|
||||
stageX + xOffset,
|
||||
monitor.x,
|
||||
monitor.x + monitor.width - tipWidth);
|
||||
const y = stageY + thumbHeight + TOOLTIP_OFFSET;
|
||||
this._tooltip.set_position(x, y);
|
||||
}
|
||||
|
||||
this._tooltip.ease({
|
||||
opacity: this.hover ? 255 : 0,
|
||||
duration: TOOLTIP_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
onComplete: () => (this._tooltip.visible = this.hover),
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this._tooltip.destroy();
|
||||
|
||||
this._workspace.disconnect(this._windowAddedId);
|
||||
this._workspace.disconnect(this._windowRemovedId);
|
||||
global.display.disconnect(this._restackedId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let WorkspaceIndicator = GObject.registerClass(
|
||||
class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('Workspace Indicator'));
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super(0.5, _('Workspace Indicator'));
|
||||
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
@@ -251,16 +301,16 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
workspaceManager.connect_after('workspace-switched',
|
||||
this._onWorkspaceSwitched.bind(this)),
|
||||
workspaceManager.connect('notify::layout-rows',
|
||||
this._onWorkspaceOrientationChanged.bind(this)),
|
||||
this._updateThumbnailVisibility.bind(this)),
|
||||
];
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._thumbnailsBox.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
this._createWorkspacesSection();
|
||||
this._updateThumbnails();
|
||||
this._onWorkspaceOrientationChanged();
|
||||
this._updateThumbnailVisibility();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
|
||||
this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
|
||||
this._settingsChangedId = this._settings.connect(
|
||||
`changed::${WORKSPACE_KEY}`,
|
||||
this._updateMenuLabels.bind(this));
|
||||
@@ -280,16 +330,19 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
super._onDestroy();
|
||||
}
|
||||
|
||||
_onWorkspaceOrientationChanged() {
|
||||
let vertical = global.workspace_manager.layout_rows === -1;
|
||||
this.reactive = vertical;
|
||||
_updateThumbnailVisibility() {
|
||||
const {workspaceManager} = global;
|
||||
const vertical = workspaceManager.layout_rows === -1;
|
||||
const useMenu =
|
||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||
this.reactive = useMenu;
|
||||
|
||||
this._statusLabel.visible = vertical;
|
||||
this._thumbnailsBox.visible = !vertical;
|
||||
this._statusLabel.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
|
||||
// Disable offscreen-redirect when showing the workspace switcher
|
||||
// so that clip-to-allocation works
|
||||
Main.panel.set_offscreen_redirect(vertical
|
||||
Main.panel.set_offscreen_redirect(useMenu
|
||||
? Clutter.OffscreenRedirect.ALWAYS
|
||||
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
|
||||
}
|
||||
@@ -306,6 +359,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_nWorkspacesChanged() {
|
||||
this._createWorkspacesSection();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
@@ -398,19 +452,22 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
|
||||
this._activate(newIndex);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
let _indicator;
|
||||
|
||||
/** */
|
||||
function enable() {
|
||||
_indicator = new WorkspaceIndicator();
|
||||
Main.panel.addToStatusArea('workspace-indicator', _indicator);
|
||||
}
|
||||
|
||||
/** */
|
||||
function disable() {
|
||||
_indicator.destroy();
|
||||
}
|
||||
|
||||
@@ -3,5 +3,6 @@ extension_data += configure_file(
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
extension_data += files('stylesheet.css')
|
||||
|
||||
extension_sources += files('prefs.js')
|
||||
|
||||
@@ -1,210 +1,269 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = e => e;
|
||||
const {Adw, Gio, GLib, GObject, Gtk, Pango} = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const _ = ExtensionUtils.gettext;
|
||||
const N_ = e => e;
|
||||
|
||||
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]);
|
||||
class NewItem extends GObject.Object {}
|
||||
GObject.registerClass(NewItem);
|
||||
|
||||
this.Columns = {
|
||||
LABEL: 0,
|
||||
};
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
|
||||
this._reloadFromSettings();
|
||||
|
||||
// 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));
|
||||
class NewItemModel extends GObject.Object {
|
||||
static [GObject.interfaces] = [Gio.ListModel];
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_reloadFromSettings() {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
#item = new NewItem();
|
||||
|
||||
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;
|
||||
vfunc_get_item_type() {
|
||||
return NewItem;
|
||||
}
|
||||
|
||||
_onRowChanged(self, path, iter) {
|
||||
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) {
|
||||
// fill with blanks
|
||||
for (let i = names.length; i <= index; i++)
|
||||
names[i] = '';
|
||||
}
|
||||
|
||||
names[index] = this.get_value(iter, this.Columns.LABEL);
|
||||
|
||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||
|
||||
this._preventChanges = false;
|
||||
vfunc_get_n_items() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
_onRowInserted(self, path, iter) {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
vfunc_get_item(_pos) {
|
||||
return this.#item;
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
class WorkspacesList extends GObject.Object {
|
||||
static [GObject.interfaces] = [Gio.ListModel];
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_onRowDeleted(self, path) {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
#settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
|
||||
#names = this.#settings.get_strv(WORKSPACE_KEY);
|
||||
#items = Gtk.StringList.new(this.#names);
|
||||
#changedId;
|
||||
|
||||
let index = path.get_indices()[0];
|
||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
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;
|
||||
this.#changedId =
|
||||
this.#settings.connect(`changed::${WORKSPACE_KEY}`, () => {
|
||||
const removed = this.#names.length;
|
||||
this.#names = this.#settings.get_strv(WORKSPACE_KEY);
|
||||
this.#items.splice(0, removed, this.#names);
|
||||
this.items_changed(0, removed, this.#names.length);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
const WorkspaceSettingsWidget = GObject.registerClass(
|
||||
class WorkspaceSettingsWidget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
this.margin = 12;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
append() {
|
||||
const name = _('Workspace %d').format(this.#names.length + 1);
|
||||
|
||||
this.add(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||
use_markup: true,
|
||||
this.#names.push(name);
|
||||
this.#settings.block_signal_handler(this.#changedId);
|
||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
||||
this.#settings.unblock_signal_handler(this.#changedId);
|
||||
|
||||
const pos = this.#items.get_n_items();
|
||||
this.#items.append(name);
|
||||
this.items_changed(pos, 0, 1);
|
||||
}
|
||||
|
||||
remove(name) {
|
||||
const pos = this.#names.indexOf(name);
|
||||
if (pos < 0)
|
||||
return;
|
||||
|
||||
this.#names.splice(pos, 1);
|
||||
|
||||
this.#settings.block_signal_handler(this.#changedId);
|
||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
||||
this.#settings.unblock_signal_handler(this.#changedId);
|
||||
|
||||
this.#items.remove(pos);
|
||||
this.items_changed(pos, 1, 0);
|
||||
}
|
||||
|
||||
rename(oldName, newName) {
|
||||
const pos = this.#names.indexOf(oldName);
|
||||
if (pos < 0)
|
||||
return;
|
||||
|
||||
this.#names.splice(pos, 1, newName);
|
||||
this.#items.splice(pos, 1, [newName]);
|
||||
|
||||
this.#settings.block_signal_handler(this.#changedId);
|
||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
||||
this.#settings.unblock_signal_handler(this.#changedId);
|
||||
}
|
||||
|
||||
vfunc_get_item_type() {
|
||||
return Gtk.StringObject;
|
||||
}
|
||||
|
||||
vfunc_get_n_items() {
|
||||
return this.#items.get_n_items();
|
||||
}
|
||||
|
||||
vfunc_get_item(pos) {
|
||||
return this.#items.get_item(pos);
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
|
||||
this.install_action('workspaces.add', null,
|
||||
self => self._workspaces.append());
|
||||
this.install_action('workspaces.remove', 's',
|
||||
(self, name, param) => self._workspaces.remove(param.unpack()));
|
||||
this.install_action('workspaces.rename', '(ss)',
|
||||
(self, name, param) => self._workspaces.rename(...param.deepUnpack()));
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
title: _('Workspace Names'),
|
||||
});
|
||||
|
||||
this._workspaces = new WorkspacesList();
|
||||
|
||||
const store = new Gio.ListStore({item_type: Gio.ListModel});
|
||||
const listModel = new Gtk.FlattenListModel({model: store});
|
||||
store.append(this._workspaces);
|
||||
store.append(new NewItemModel());
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
css_classes: ['boxed-list'],
|
||||
});
|
||||
this._list.connect('row-activated', (l, row) => row.edit());
|
||||
this.add(this._list);
|
||||
|
||||
this._list.bind_model(listModel, item => {
|
||||
return item instanceof NewItem
|
||||
? new NewWorkspaceRow()
|
||||
: new WorkspaceRow(item.string);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class WorkspaceRow extends Adw.PreferencesRow {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
constructor(name) {
|
||||
super({name});
|
||||
|
||||
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.append(label);
|
||||
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'workspaces.remove',
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
has_frame: false,
|
||||
});
|
||||
box.append(button);
|
||||
|
||||
this.bind_property_full('name',
|
||||
button, 'action-target',
|
||||
GObject.BindingFlags.SYNC_CREATE,
|
||||
(bind, target) => [true, new GLib.Variant('s', target)],
|
||||
null);
|
||||
|
||||
this._entry = new Gtk.Entry({
|
||||
max_width_chars: 25,
|
||||
});
|
||||
|
||||
const controller = new Gtk.ShortcutController();
|
||||
controller.add_shortcut(new Gtk.Shortcut({
|
||||
trigger: Gtk.ShortcutTrigger.parse_string('Escape'),
|
||||
action: Gtk.CallbackAction.new(() => {
|
||||
this._stopEdit();
|
||||
return true;
|
||||
}),
|
||||
}));
|
||||
this._entry.add_controller(controller);
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
this.add(scrolled);
|
||||
this._stack = new Gtk.Stack();
|
||||
this._stack.add_named(box, 'display');
|
||||
this._stack.add_named(this._entry, 'edit');
|
||||
this.child = this._stack;
|
||||
|
||||
this._store = new WorkspaceNameModel();
|
||||
this._treeView = new Gtk.TreeView({
|
||||
model: this._store,
|
||||
headers_visible: false,
|
||||
reorderable: true,
|
||||
hexpand: true,
|
||||
vexpand: true,
|
||||
this._entry.connect('activate', () => {
|
||||
this.activate_action('workspaces.rename',
|
||||
new GLib.Variant('(ss)', [this.name, this._entry.text]));
|
||||
this.name = this._entry.text;
|
||||
this._stopEdit();
|
||||
});
|
||||
|
||||
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;
|
||||
this._entry.connect('notify::has-focus', () => {
|
||||
if (this._entry.has_focus)
|
||||
return;
|
||||
this._stopEdit();
|
||||
});
|
||||
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]);
|
||||
edit() {
|
||||
this._entry.text = this.name;
|
||||
this._entry.grab_focus();
|
||||
this._stack.visible_child_name = 'edit';
|
||||
}
|
||||
|
||||
_newClicked() {
|
||||
let iter = this._store.append();
|
||||
let index = this._store.get_path(iter).get_indices()[0];
|
||||
_stopEdit() {
|
||||
this.grab_focus();
|
||||
this._stack.visible_child_name = 'display';
|
||||
}
|
||||
}
|
||||
|
||||
let label = _('Workspace %d').format(index + 1);
|
||||
this._store.set(iter, [this._store.Columns.LABEL], [label]);
|
||||
class NewWorkspaceRow extends Adw.PreferencesRow {
|
||||
static {
|
||||
GObject.registerClass(this);
|
||||
}
|
||||
|
||||
_delClicked() {
|
||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
||||
|
||||
if (any)
|
||||
this._store.remove(iter);
|
||||
constructor() {
|
||||
super({
|
||||
action_name: 'workspaces.add',
|
||||
child: new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}),
|
||||
});
|
||||
this.update_property(
|
||||
[Gtk.AccessibleProperty.LABEL], [_('Add Workspace')]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** */
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {Gtk.Widget} - the prefs widget
|
||||
*/
|
||||
function buildPrefsWidget() {
|
||||
let widget = new WorkspaceSettingsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new WorkspaceSettingsWidget();
|
||||
}
|
||||
|
||||
@@ -1,40 +1,28 @@
|
||||
.panel-workspace-indicator {
|
||||
padding: 0 8px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box {
|
||||
padding: 2px 0;
|
||||
padding: 4px 0;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box .workspace {
|
||||
width: 40px;
|
||||
width: 40px;
|
||||
border: 2px solid #000;
|
||||
border-radius: 2px;
|
||||
background-color: #595959;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator,
|
||||
.panel-workspace-indicator-box .workspace {
|
||||
border: 1px solid #cccccc;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator,
|
||||
.panel-workspace-indicator-box .workspace.active {
|
||||
background-color: rgba(200, 200, 200, .5);
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box .workspace {
|
||||
background-color: rgba(200, 200, 200, .3);
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
.panel-workspace-indicator-box .workspace:first-child {
|
||||
border-left-width: 1px;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview {
|
||||
background-color: #252525;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #bebebe;
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
background-color: #353535;
|
||||
border: 2px solid #ccc;
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
|
||||
@@ -34,4 +34,10 @@ and will be picked automatically at next login.
|
||||
<gnome:userid>fmuellner</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Marge Bot</foaf:name>
|
||||
<gnome:userid>marge-bot</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
---
|
||||
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
||||
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
|
||||
env:
|
||||
es6: true
|
||||
es2021: true
|
||||
extends: 'eslint:recommended'
|
||||
plugins:
|
||||
- jsdoc
|
||||
rules:
|
||||
array-bracket-newline:
|
||||
- error
|
||||
@@ -24,7 +28,9 @@ rules:
|
||||
# allow: [^vfunc_, ^on_, _instance_init]
|
||||
comma-dangle:
|
||||
- error
|
||||
- always-multiline
|
||||
- arrays: always-multiline
|
||||
objects: always-multiline
|
||||
functions: never
|
||||
comma-spacing:
|
||||
- error
|
||||
- before: false
|
||||
@@ -57,6 +63,17 @@ rules:
|
||||
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
|
||||
# Allow dedenting chained member expressions
|
||||
MemberExpression: 'off'
|
||||
jsdoc/check-alignment: error
|
||||
jsdoc/check-param-names: error
|
||||
jsdoc/check-tag-names: error
|
||||
jsdoc/check-types: error
|
||||
jsdoc/implements-on-classes: error
|
||||
jsdoc/newline-after-description: error
|
||||
jsdoc/require-jsdoc: error
|
||||
jsdoc/require-param: error
|
||||
jsdoc/require-param-description: error
|
||||
jsdoc/require-param-name: error
|
||||
jsdoc/require-param-type: error
|
||||
key-spacing:
|
||||
- error
|
||||
- beforeColon: false
|
||||
@@ -68,7 +85,10 @@ rules:
|
||||
linebreak-style:
|
||||
- error
|
||||
- unix
|
||||
lines-between-class-members: error
|
||||
lines-between-class-members:
|
||||
- error
|
||||
- always
|
||||
- exceptAfterSingleLine: true
|
||||
max-nested-callbacks: error
|
||||
max-statements-per-line: error
|
||||
new-parens: error
|
||||
@@ -87,6 +107,7 @@ rules:
|
||||
- error
|
||||
- all
|
||||
- conditionalAssign: false
|
||||
nestedBinaryExpressions: false
|
||||
returnAssign: false
|
||||
no-implicit-coercion:
|
||||
- error
|
||||
@@ -103,17 +124,24 @@ rules:
|
||||
no-octal-escape: error
|
||||
no-proto: error
|
||||
no-prototype-builtins: 'off'
|
||||
no-restricted-globals: [error, window]
|
||||
no-restricted-properties:
|
||||
- error
|
||||
- object: imports
|
||||
property: format
|
||||
message: Use template strings
|
||||
- object: pkg
|
||||
property: initFormat
|
||||
message: Use template strings
|
||||
- object: Lang
|
||||
property: copyProperties
|
||||
message: Use Object.assign()
|
||||
- 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: >-
|
||||
@@ -129,6 +157,8 @@ rules:
|
||||
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
|
||||
- selector: BinaryExpression[operator="instanceof"][right.name="Array"]
|
||||
message: Use Array.isArray()
|
||||
no-return-assign: error
|
||||
no-return-await: error
|
||||
no-self-compare: error
|
||||
@@ -161,10 +191,14 @@ rules:
|
||||
object-curly-newline:
|
||||
- error
|
||||
- consistent: true
|
||||
multiline: true
|
||||
object-curly-spacing: error
|
||||
object-shorthand: error
|
||||
operator-assignment: error
|
||||
operator-linebreak: error
|
||||
padded-blocks:
|
||||
- error
|
||||
- never
|
||||
# These may be a bit controversial, we can try them out and enable them later
|
||||
# prefer-const: error
|
||||
# prefer-destructuring: error
|
||||
@@ -205,18 +239,19 @@ rules:
|
||||
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
|
||||
settings:
|
||||
jsdoc:
|
||||
mode: typescript
|
||||
globals:
|
||||
ARGV: readonly
|
||||
Debugger: readonly
|
||||
GIRepositoryGType: readonly
|
||||
globalThis: readonly
|
||||
imports: readonly
|
||||
Intl: readonly
|
||||
log: readonly
|
||||
@@ -224,5 +259,12 @@ globals:
|
||||
print: readonly
|
||||
printerr: readonly
|
||||
window: readonly
|
||||
TextEncoder: readonly
|
||||
TextDecoder: readonly
|
||||
console: readonly
|
||||
setTimeout: readonly
|
||||
setInterval: readonly
|
||||
clearTimeout: readonly
|
||||
clearInterval: readonly
|
||||
parserOptions:
|
||||
ecmaVersion: 2017
|
||||
ecmaVersion: 2022
|
||||
|
||||
@@ -3,9 +3,10 @@ rules:
|
||||
- error
|
||||
- properties: never
|
||||
allow: [^vfunc_, ^on_]
|
||||
object-curly-spacing:
|
||||
consistent-return: error
|
||||
eqeqeq:
|
||||
- error
|
||||
- always
|
||||
- smart
|
||||
prefer-arrow-callback: error
|
||||
globals:
|
||||
global: readonly
|
||||
|
||||
43
meson.build
43
meson.build
@@ -1,11 +1,12 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.34.1',
|
||||
meson_version: '>= 0.44.0',
|
||||
version: '45.alpha',
|
||||
meson_version: '>= 0.58.0',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
|
||||
gettext_domain = meson.project_name()
|
||||
|
||||
fs = import('fs')
|
||||
gnome = import('gnome')
|
||||
i18n = import('i18n')
|
||||
|
||||
@@ -14,26 +15,19 @@ datadir = get_option('datadir')
|
||||
shelldir = join_paths(datadir, 'gnome-shell')
|
||||
extensiondir = join_paths(shelldir, 'extensions')
|
||||
modedir = join_paths(shelldir, 'modes')
|
||||
themedir = join_paths(shelldir, 'theme')
|
||||
|
||||
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)
|
||||
wlsessiondir = join_paths(datadir, 'wayland-sessions')
|
||||
|
||||
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])
|
||||
else
|
||||
shell_version = '.'.join(ver_arr)
|
||||
endif
|
||||
shell_version = ver_arr[0]
|
||||
|
||||
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
|
||||
|
||||
classic_extensions = [
|
||||
'apps-menu',
|
||||
'horizontal-workspaces',
|
||||
'places-menu',
|
||||
'launch-new-instance',
|
||||
'window-list'
|
||||
@@ -42,6 +36,7 @@ classic_extensions = [
|
||||
default_extensions = classic_extensions
|
||||
default_extensions += [
|
||||
'drive-menu',
|
||||
'light-style',
|
||||
'screenshot-window-sizer',
|
||||
'windowsNavigator',
|
||||
'workspace-indicator'
|
||||
@@ -88,9 +83,33 @@ foreach e : enabled_extensions
|
||||
endforeach
|
||||
|
||||
if classic_mode_enabled
|
||||
sassc = find_program('sassc', required: true)
|
||||
subdir('data')
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir)
|
||||
)
|
||||
endif
|
||||
|
||||
subdir('extensions')
|
||||
subdir('po')
|
||||
|
||||
gnome.post_install(
|
||||
glib_compile_schemas: true,
|
||||
)
|
||||
|
||||
meson.add_dist_script('meson/check-version.py',
|
||||
meson.project_version(),
|
||||
'NEWS')
|
||||
|
||||
summary_options = {
|
||||
'extensions': enabled_extensions,
|
||||
'classic_mode': get_option('classic_mode'),
|
||||
}
|
||||
|
||||
summary_dirs = {
|
||||
'prefix': get_option('prefix'),
|
||||
'datadir': get_option('datadir'),
|
||||
}
|
||||
|
||||
summary(summary_dirs, section: 'Directories')
|
||||
summary(summary_options, section: 'Build Options')
|
||||
|
||||
32
meson/check-version.py
Executable file
32
meson/check-version.py
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os, sys
|
||||
from pathlib import Path
|
||||
import argparse, subprocess
|
||||
|
||||
def check_version(version, file, type='news'):
|
||||
if type == 'news':
|
||||
line = file.open().readline()
|
||||
ok = line.startswith(version)
|
||||
print("{}: {}".format(file, "OK" if ok else "FAILED"))
|
||||
if not ok:
|
||||
raise Exception("{} does not start with {}".format(file, version))
|
||||
elif type == 'metainfo':
|
||||
subprocess.run(['appstream-util', 'validate-version', file, version],
|
||||
check=True)
|
||||
else:
|
||||
raise Exception('Not implemented')
|
||||
|
||||
parser = argparse.ArgumentParser(description='Check release version information.')
|
||||
parser.add_argument('--type', choices=['metainfo','news'], default='news')
|
||||
parser.add_argument('version', help='the version to check for')
|
||||
parser.add_argument('files', nargs='+', help='files to check')
|
||||
args = parser.parse_args()
|
||||
|
||||
distroot = os.environ.get('MESON_DIST_ROOT', './')
|
||||
|
||||
try:
|
||||
for file in args.files:
|
||||
check_version(args.version, Path(distroot, file), args.type)
|
||||
except:
|
||||
sys.exit(1)
|
||||
20
meson/session-post-install.py
Executable file
20
meson/session-post-install.py
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
if os.environ.get('DESTDIR'):
|
||||
install_root = os.environ.get('DESTDIR') + os.path.abspath(sys.argv[1])
|
||||
else:
|
||||
install_root = sys.argv[1]
|
||||
|
||||
# FIXME: Meson is unable to copy a generated target file:
|
||||
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
|
||||
dst_dir = os.path.join(install_root, 'wayland-sessions')
|
||||
if not os.path.exists(dst_dir):
|
||||
os.makedirs(dst_dir)
|
||||
|
||||
src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop')
|
||||
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
|
||||
shutil.copyfile(src, dst)
|
||||
@@ -1,3 +1,4 @@
|
||||
ab
|
||||
af
|
||||
an
|
||||
ar
|
||||
@@ -32,6 +33,8 @@ id
|
||||
is
|
||||
it
|
||||
ja
|
||||
ka
|
||||
kab
|
||||
kk
|
||||
km
|
||||
kn
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
data/gnome-classic.desktop.in
|
||||
data/gnome-classic.session.desktop.in
|
||||
data/gnome-classic-wayland.desktop.in
|
||||
data/gnome-classic-xorg.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 +11,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
|
||||
|
||||
268
po/ab.po
Normal file
268
po/ab.po
Normal file
@@ -0,0 +1,268 @@
|
||||
# Abkhazian translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2022 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Нанба Наала <naala-nanba@rambler.ru>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions main\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
||||
"POT-Creation-Date: 2022-07-10 12:54+0000\n"
|
||||
"PO-Revision-Date: 2022-02-12 02:08+0000\n"
|
||||
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>, 2022\n"
|
||||
"Language-Team: Abkhazian <ab@li.org>\n"
|
||||
"Language: ab\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Аклассикатә GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ари асеанс аклассикатә усуратә еишәа GNOME хархәагас иамоуп "
|
||||
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Аклассикатә GNOME Wayland аҟны"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Аклассикатә GNOME Xorg аҟны"
|
||||
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Иалкаау"
|
||||
|
||||
#: extensions/apps-menu/extension.js:379
|
||||
msgid "Applications"
|
||||
msgstr "Аԥшьқәа"
|
||||
|
||||
#: 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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )змоу, зашьҭахь "
|
||||
"ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Аусуратә ҵакыра аԥҟаррақәа"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
msgid "Add Rule"
|
||||
msgstr "Аԥҟара ацҵара"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Адиск «%s» аҭыгара залымшахеит:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Removable devices"
|
||||
msgstr "Иаҿыҵуа аиҿартәырақәа"
|
||||
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
msgid "Open Files"
|
||||
msgstr "Афаил аартра"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Изыцҵоу аекран аҵакыра аԥенџьырқәа рзы ахархәара"
|
||||
|
||||
#: 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 ""
|
||||
"Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразыаекран аганқәа "
|
||||
"реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа "
|
||||
"архәыҷразыари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра "
|
||||
"алгоритм ахархәараан"
|
||||
|
||||
#: 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: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 ""
|
||||
"Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит(ишыҟоу еиԥш "
|
||||
"ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,уи аус аура "
|
||||
"иалагарцазы, иаҭахуп Shell аиҭарура."
|
||||
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:97
|
||||
msgid "Places"
|
||||
msgstr "Аҭыԥқәа"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:49
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr " «%s» аус арура залшом"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Иамоуӡит атом аибыҭара «%s» азы"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
msgid "Computer"
|
||||
msgstr "Акомпиутер"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
msgid "Home"
|
||||
msgstr "Аҩнытәи аҭаӡ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
msgid "Browse Network"
|
||||
msgstr "Аҳа алаԥшхагара"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Аекран аҭыхымҭа ашәагаақәа рыԥсахра"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Аекран аҭыхымҭа ашәагаақәа шьҭахьҟатәи ахырхарҭала рыԥсахра"
|
||||
|
||||
#: 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: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:72
|
||||
msgid "Close"
|
||||
msgstr "Аркра"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Архынҳәра"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Аиҟәырҳәра"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Аиҭашьақәыргылара"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Аиҵыхра"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Minimize all"
|
||||
msgstr "Зегьы реиҟәырҳәра"
|
||||
|
||||
#: extensions/window-list/extension.js:489
|
||||
msgid "Unminimize all"
|
||||
msgstr "Зегьы рырхынҳәра"
|
||||
|
||||
#: extensions/window-list/extension.js:495
|
||||
msgid "Maximize all"
|
||||
msgstr "Зегьы реиҵыхра"
|
||||
|
||||
#: extensions/window-list/extension.js:503
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Зегьы реиҭашьақәыргылара"
|
||||
|
||||
#: extensions/window-list/extension.js:511
|
||||
msgid "Close all"
|
||||
msgstr "Зегьы рыркра"
|
||||
|
||||
#: extensions/window-list/extension.js:795
|
||||
msgid "Window List"
|
||||
msgstr "Аԥенџьырқәа рыхьӡынҵа"
|
||||
|
||||
#: 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:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, "
|
||||
"аԥенџьырқәа рыхьӡынҵаҟны Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — "
|
||||
"автоматла; «always» — есқьынгьы"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:79
|
||||
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:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , "
|
||||
"мамзар ихадоу аҟны акәу."
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Аԥенџьырқәа реидыргәыԥлара"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
msgid "Never group windows"
|
||||
msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Always group windows"
|
||||
msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Амониторқәа зегьы рҟны рырбара"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Аусуратә ҵакыра аиндикатор"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Аусуратә ҵакыра %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
msgid "Add Workspace"
|
||||
msgstr "Аусуратә ҵакыра ацҵара"
|
||||
384
po/be.po
384
po/be.po
@@ -6,11 +6,11 @@
|
||||
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-19 16:41+0000\n"
|
||||
"PO-Revision-Date: 2017-09-01 17:56+0300\n"
|
||||
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2022-07-10 12:54+0000\n"
|
||||
"PO-Revision-Date: 2022-10-19 15:20+0300\n"
|
||||
"Last-Translator: Launchpad translators\n"
|
||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||
"Language: be\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,163 +18,68 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Класічны GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Гэты сеанс выкарыстоўвае класічны GNOME"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Прымацаваць мадальны дыялог да бацькоўскага акна"
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Класічны GNOME на Wayland"
|
||||
|
||||
#: 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/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Класічны GNOME на Xorg"
|
||||
|
||||
#: 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 калі запушчаны "
|
||||
"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:118
|
||||
msgid "Favorites"
|
||||
msgstr "Упадабаныя"
|
||||
msgstr "Абраныя"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:379
|
||||
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 ""
|
||||
"Спіс радкоў, кожны з якіх утрымлівае ідэнтыфікатар праграмы (імя *.desktop "
|
||||
"файла), затым двукроп'е і нумар працоўнай прасторы"
|
||||
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
|
||||
"desktop), затым двукроп'е і нумар працоўнай прасторы"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Праграма"
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
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:306
|
||||
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:126
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Не ўдалося выняць прывод \"%s\":"
|
||||
msgstr "Не ўдалося выняць дыск «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Removable devices"
|
||||
msgstr "Зменныя прыстасаванні"
|
||||
msgstr "Здымныя прылады"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
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 ""
|
||||
"Example пакажа як ствараць пашырэнні для Shell. Сам па сабе ён мае мала "
|
||||
"функцыянальнасці.\n"
|
||||
"Тым не менш, можна змяніць тэкст прывітання."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
|
||||
@@ -185,14 +90,14 @@ msgid ""
|
||||
"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:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Змяшчаць загалоўкі вокнаў зверху"
|
||||
msgstr "Размяшчаць подпіс акна зверху"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
@@ -200,156 +105,243 @@ msgid ""
|
||||
"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:94
|
||||
#: extensions/places-menu/extension.js:97
|
||||
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:49
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Не ўдалося запусціць \"%s\""
|
||||
msgstr "Не ўдалося запусціць «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Не ўдалося прымацаваць том для «%s»."
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
msgid "Computer"
|
||||
msgstr "Камп'ютар"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
msgid "Home"
|
||||
msgstr "Дамашняя папка"
|
||||
msgstr "Хатняя папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
msgid "Browse Network"
|
||||
msgstr "Агляд сеткі"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Чаргаваць памеры экраннага здымка"
|
||||
msgstr "Паслядоўнасць змены памераў для здымка экрана"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Чаргаваць памеры экраннага здымка ў адваротным напрамку"
|
||||
msgstr "Адваротная паслядоўнасць змены памераў для здымка экрана"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Імя матыву аздаблення"
|
||||
msgstr "Назва тэмы"
|
||||
|
||||
#: 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"
|
||||
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Закрыць"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Скасаваць мінімалізацыю"
|
||||
msgstr "Скасаваць згортванне"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Мінімалізаваць"
|
||||
msgstr "Згарнуць"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Скасаваць максімалізацыю"
|
||||
msgstr "Скасаваць разгортванне"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Максімалізаваць"
|
||||
msgstr "Разгарнуць"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:483
|
||||
msgid "Minimize all"
|
||||
msgstr "Мінімалізаваць усе"
|
||||
msgstr "Згарнуць усе"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:489
|
||||
msgid "Unminimize all"
|
||||
msgstr "Скасаваць мінімалізацыю для ўсіх"
|
||||
msgstr "Скасаваць згортванне для ўсіх"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:495
|
||||
msgid "Maximize all"
|
||||
msgstr "Максімалізаваць усе"
|
||||
msgstr "Разгарнуць усе"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:503
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Скасаваць максімалізацыю для ўсіх"
|
||||
msgstr "Скасаваць разгортванне для ўсіх"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:511
|
||||
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:795
|
||||
msgid "Window List"
|
||||
msgstr "Спіс вокнаў"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Калі групаваць вокны"
|
||||
msgstr "Умовы групавання вокнаў"
|
||||
|
||||
#: 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”."
|
||||
msgstr ""
|
||||
"Вырашае калі групаваць вокны адной праграмы ў спісе вокнаў. Магчымыя "
|
||||
"значэнні: \"never\" (ніколі), \"auto\" (аўтаматычна), \"always\" (заўсёды)."
|
||||
"Вызначае калі групаваць вокны адной праграмы ў спісе вокнаў. Магчымыя "
|
||||
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Паказаць спіс вокнаў на ўсіх маніторах"
|
||||
#: extensions/window-list/prefs.js:79
|
||||
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:28
|
||||
msgid ""
|
||||
"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:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групаванне вокнаў"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:40
|
||||
msgid "Never group windows"
|
||||
msgstr "Ніколі не групаваць вокны"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групаваць вокны калі не хапае месца"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Always group windows"
|
||||
msgstr "Заўсёды групаваць вокны"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:66
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Паказаць усе маніторы"
|
||||
msgstr "Паказваць на ўсіх маніторах"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
msgid "Workspace Names"
|
||||
msgstr "Назвы працоўных прастораў"
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Індыкатар працоўнай прасторы"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Імя"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Працоўная прастора %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Назвы працоўных прастор"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
msgid "Add Workspace"
|
||||
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.desktop.wm.preferences калі запушчаны "
|
||||
#~ "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 "Application"
|
||||
#~ msgstr "Праграма"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Стварыць новае правіла адпаведнасці"
|
||||
|
||||
#~ 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"
|
||||
#~ 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 ""
|
||||
#~ "Example пакажа як ствараць пашырэнні для Shell. Сам па сабе ён мае мала "
|
||||
#~ "функцыянальнасці.\n"
|
||||
#~ "Тым не менш, можна змяніць тэкст прывітання."
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Імя"
|
||||
|
||||
631
po/bg.po
631
po/bg.po
@@ -1,359 +1,272 @@
|
||||
# Bulgarian translation for gnome-shell-extensions po-file.
|
||||
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
|
||||
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015.
|
||||
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
|
||||
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-09-09 15:20+0000\n"
|
||||
"PO-Revision-Date: 2017-09-08 08:47+0300\n"
|
||||
"Last-Translator: Lyubomir Vasilev <lyubomirv@abv.bg>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\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"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Класически GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Работната среда изглежда като класическия GNOME (2.x)"
|
||||
|
||||
#: 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."
|
||||
|
||||
#: 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“ "
|
||||
"при изпълнението на обвивката на GNOME."
|
||||
|
||||
#: 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
|
||||
msgid "Favorites"
|
||||
msgstr "Любими"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
msgid "Applications"
|
||||
msgstr "Програми"
|
||||
|
||||
#: 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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
|
||||
"desktop“ file name), следван от знака „:“ и номер на работен плот"
|
||||
|
||||
#: 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:85
|
||||
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
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Неуспешно изваждане на устройство „%s“:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
msgid "Removable devices"
|
||||
msgstr "Преносими медии"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
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 ""
|
||||
"Това е пример за добре работещо разширение на обвивката на GNOME и има "
|
||||
"минимална функционалност.\n"
|
||||
"С него можете да промените приветстващото съобщение на панела."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Повече пространство за прозорците"
|
||||
|
||||
#: 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:11
|
||||
msgid "Place window captions on top"
|
||||
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."
|
||||
msgstr ""
|
||||
"Ако е истина, заглавията на прозорците се поставят над мини изображенията "
|
||||
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
|
||||
"настройката трябва да рестартирате обвивката на GNOME."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
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
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Неуспешно стартиране на „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
msgid "Computer"
|
||||
msgstr "Компютър"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
msgid "Home"
|
||||
msgstr "Домашна папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
msgid "Browse Network"
|
||||
msgstr "Мрежа"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Смяна на размерите на снимката на екрана"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Смяна на размерите на снимката на екрана наобратно"
|
||||
|
||||
#: 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: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
|
||||
msgid "Close"
|
||||
msgstr "Затваряне"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
msgid "Unminimize"
|
||||
msgstr "Деминимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
msgid "Minimize"
|
||||
msgstr "Минимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
msgid "Unmaximize"
|
||||
msgstr "Демаксимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
msgid "Maximize"
|
||||
msgstr "Максимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
msgid "Minimize all"
|
||||
msgstr "Минимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Unminimize all"
|
||||
msgstr "Деминимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
msgid "Maximize all"
|
||||
msgstr "Максимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Демаксимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
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
|
||||
msgid "Window List"
|
||||
msgstr "Списък на прозорците"
|
||||
|
||||
#: 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:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Кога да се групират прозорците на една програма в списъка с прозорците. "
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
|
||||
"„always“ (винаги)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Извеждане на списъка с прозорци на всички монитори"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
|
||||
"основния"
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групиране на прозорци"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
msgid "Never group windows"
|
||||
msgstr "Никога да не се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групиране при ограничено място"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
msgid "Always group windows"
|
||||
msgstr "Винаги да се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show on all monitors"
|
||||
msgstr "На всички монитори"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Име"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Работен плот %d"
|
||||
# Bulgarian translation for gnome-shell-extensions po-file.
|
||||
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2021, 2022 Alexander Shopov <ash@kambanaria.org>.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
|
||||
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022.
|
||||
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
|
||||
msgid ""
|
||||
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: 2022-02-12 20:25+0000\n"
|
||||
"PO-Revision-Date: 2022-02-13 11:40+0100\n"
|
||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\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"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Класически GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Работната среда изглежда като класическия GNOME (2.x)"
|
||||
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Класически GNOME в Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Класически GNOME в Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Любими"
|
||||
|
||||
#: extensions/apps-menu/extension.js:370
|
||||
msgid "Applications"
|
||||
msgstr "Програми"
|
||||
|
||||
#: 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:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
|
||||
"desktop“), следван от знака „:“ и номер на работен плот"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:19
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Правила за работните плотове"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:245
|
||||
msgid "Add Rule"
|
||||
msgstr "Добавяне на правило"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:123
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Неуспешно изваждане на устройство „%s“:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:139
|
||||
msgid "Removable devices"
|
||||
msgstr "Преносими медии"
|
||||
|
||||
#: extensions/drive-menu/extension.js:161
|
||||
msgid "Open Files"
|
||||
msgstr "Отваряне на файлове"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Повече пространство за прозорците"
|
||||
|
||||
#: 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:11
|
||||
msgid "Place window captions on top"
|
||||
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."
|
||||
msgstr ""
|
||||
"Ако е истина, заглавията на прозорците се поставят над мини изображенията "
|
||||
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
|
||||
"настройката трябва да рестартирате обвивката на GNOME."
|
||||
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Места"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:49
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Неуспешно стартиране на „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Неуспешно монтиране на тома „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
msgid "Computer"
|
||||
msgstr "Компютър"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
msgid "Home"
|
||||
msgstr "Домашна папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
msgid "Browse Network"
|
||||
msgstr "Мрежа"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Смяна на размерите на снимката на екрана"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Смяна на размерите на снимката на екрана наобратно"
|
||||
|
||||
#: 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: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:72
|
||||
msgid "Close"
|
||||
msgstr "Затваряне"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Деминимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Минимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Демаксимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Максимизиране"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Минимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Деминимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Максимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Демаксимизиране на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Затваряне на всички"
|
||||
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Списък на прозорците"
|
||||
|
||||
#: 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:13
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Кога прозорците на една програма да се групират в списъка с прозорците. "
|
||||
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
|
||||
"„always“ (винаги)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:76
|
||||
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:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
|
||||
"основния"
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групиране на прозорци"
|
||||
|
||||
#: extensions/window-list/prefs.js:37
|
||||
msgid "Never group windows"
|
||||
msgstr "Никога да не се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:38
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групиране при ограничено място"
|
||||
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Always group windows"
|
||||
msgstr "Винаги да се групират"
|
||||
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Show on all monitors"
|
||||
msgstr "На всички монитори"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Индикатор на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:18
|
||||
msgid "Workspace Names"
|
||||
msgstr "Имена на работните плотове"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:39
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Работен плот %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:184
|
||||
msgid "Add Workspace"
|
||||
msgstr "Добавяне на работен плот"
|
||||
|
||||
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 "স্বাভাবিক"
|
||||
|
||||
115
po/ca.po
115
po/ca.po
@@ -9,7 +9,7 @@ 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: 2019-08-09 22:24+0000\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+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"
|
||||
@@ -19,19 +19,28 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME clàssic"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Aquesta sessió us permet utilitzar el GNOME clàssic"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME clàssic amb Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME clàssic amb Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
@@ -48,39 +57,26 @@ 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:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regles dels espais de treball"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Espai de treball"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Afegeix una regla"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crea una regla de coincidència nova"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Afegeix"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: 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:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositius extraïbles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Obre els fitxers"
|
||||
|
||||
@@ -94,10 +90,10 @@ 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 "
|
||||
"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 "
|
||||
"configuració només s'aplica a l'estratègia de posicionament de finestres "
|
||||
"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 a reduir la caixa que les envolta. Aquest paràmetre "
|
||||
"de configuració només s'aplica a l'estratègia de posicionament de finestres "
|
||||
"natural."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
@@ -115,8 +111,8 @@ msgstr ""
|
||||
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
|
||||
"efecte."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Llocs"
|
||||
|
||||
@@ -135,11 +131,11 @@ msgstr "No s'ha pogut muntar el volum «%s»"
|
||||
msgid "Computer"
|
||||
msgstr "Ordinador"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Inici"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Navega per la xarxa"
|
||||
|
||||
@@ -159,43 +155,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Tanca-ho tot"
|
||||
|
||||
@@ -217,13 +213,15 @@ msgstr ""
|
||||
"«auto» (automàticament) i «always» (sempre)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
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. "
|
||||
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"
|
||||
@@ -237,41 +235,40 @@ msgstr ""
|
||||
"Si es mostra la llista de finestres en tots els monitors connectats o només "
|
||||
"al primari."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Agrupació de finestres"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Mai agrupis les finestres"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Agrupa les finestres quan l'espai estigui limitat"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Agrupa les finestres sempre"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostra a tots els monitors"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de l'espai de treball"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Noms dels espais de treball"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espai de treball %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Afegeix un espai de treball"
|
||||
|
||||
108
po/cs.po
108
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, 2019.
|
||||
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2022.
|
||||
#
|
||||
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: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-16 10:16+0200\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-02-16 09:58+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@@ -20,19 +20,28 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME klasik"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Toto sezení vás přihlásí do GNOME klasik"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME klasik na Waylandu"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME klasik na Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Oblíbené"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplikace"
|
||||
|
||||
@@ -48,39 +57,26 @@ msgstr ""
|
||||
"Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní "
|
||||
"plochy), následovaný dvojtečkou a číslem pracovní plochy"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikace"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Pravidla pracovních ploch"
|
||||
|
||||
#: 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:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Přidat pravidlo"
|
||||
|
||||
#: 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:117
|
||||
msgid "Add"
|
||||
msgstr "Přidat"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Vysunutí disku „%s“ selhalo:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Výměnná zařízení"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Otevřít soubory"
|
||||
|
||||
@@ -112,8 +108,8 @@ 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:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Místa"
|
||||
|
||||
@@ -132,11 +128,11 @@ msgstr "Selhalo připojení svazku pro „%s“"
|
||||
msgid "Computer"
|
||||
msgstr "Počítač"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Domů"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Procházet síť"
|
||||
|
||||
@@ -156,43 +152,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Zrušit minimalizaci"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizovat"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Zrušit maximalizaci"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximalizovat"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimalizovat všechna"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Zrušit minimalizaci všech"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximalizovat všechna"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Zrušit maximalizaci všech"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Zavřít všechna"
|
||||
|
||||
@@ -213,7 +209,7 @@ 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
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Zobrazovat okna ze všech pracovních ploch"
|
||||
|
||||
@@ -233,40 +229,40 @@ msgstr ""
|
||||
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
|
||||
"hlavním."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Seskupování oken"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Nikdy neseskupovat okna"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Seskupovat okna při nedostatku místa"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Vždy seskupovat okna"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Zobrazovat na všech monitorech"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Ukazatel pracovní plochy"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Názvy pracovních ploch"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Pracovní plocha %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Přidat pracovní plochu"
|
||||
|
||||
124
po/da.po
124
po/da.po
@@ -11,29 +11,39 @@ 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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-09-09 00:53+0200\n"
|
||||
"Last-Translator: Kris Thomsen <mail@kristhomsen.dk>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-02-27 13:21+0100\n"
|
||||
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\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.3\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Classic"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Denne session logger dig ind i GNOME Classic"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME Classic på Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic på Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritter"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Programmer"
|
||||
|
||||
@@ -49,39 +59,26 @@ msgstr ""
|
||||
"En liste over strenge, som hver indeholder et program-id "
|
||||
"(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Program"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regler for arbejdsområde"
|
||||
|
||||
#: 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:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Tilføj regel"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Opret ny regel for match"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Udskubning af drevet “%s” mislykkedes:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Flytbare enheder"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Åbn filer"
|
||||
|
||||
@@ -115,8 +112,8 @@ msgstr ""
|
||||
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
|
||||
"kraft."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Steder"
|
||||
|
||||
@@ -135,11 +132,11 @@ msgstr "Kunne ikke montere diskenhed for “%s”"
|
||||
msgid "Computer"
|
||||
msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Hjem"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Gennemse netværk"
|
||||
|
||||
@@ -159,43 +156,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Afminimér"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimér"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Afmaksimér"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimér"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimér"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Afminimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Afmaksimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Luk alle"
|
||||
|
||||
@@ -216,13 +213,14 @@ 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
|
||||
#: extensions/window-list/prefs.js:86
|
||||
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."
|
||||
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"
|
||||
@@ -236,44 +234,56 @@ msgstr ""
|
||||
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
|
||||
"primære."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Vinduesgruppering"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Gruppér aldrig vinduer"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Gruppér vinduer når pladsen er begrænset"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Gruppér altid vinduer"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Vis på alle skærme"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Arbejdsområdeindikator"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Navne på arbejdsområder"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbejdsområde %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Tilføj arbejdsområde"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Program"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Opret ny regel for match"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Tilføj"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Navn"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Tillæg modal-dialog til det overordnede vindue"
|
||||
|
||||
|
||||
141
po/de.po
141
po/de.po
@@ -2,41 +2,51 @@
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2011-2013, 2017.
|
||||
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2011, 2012.
|
||||
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2011, 2012, 2022.
|
||||
# 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.
|
||||
# Tim Sabsch <tim@sabsch.com>, 2019-2020.
|
||||
# Philipp Kiemle <philipp.kiemle@gmail.com>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-23 21:27+0200\n"
|
||||
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
|
||||
"POT-Creation-Date: 2022-03-07 15:35+0000\n"
|
||||
"PO-Revision-Date: 2022-03-10 22:26+0100\n"
|
||||
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.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.2.1\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Classic"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Diese Sitzung meldet Sie in GNOME Classic an"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME Classic unter Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic unter Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:379
|
||||
msgid "Applications"
|
||||
msgstr "Anwendungen"
|
||||
|
||||
@@ -53,39 +63,26 @@ msgstr ""
|
||||
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
|
||||
"Arbeitsfläche"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Anwendung"
|
||||
#: extensions/auto-move-windows/prefs.js:152
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Arbeitsfläche-Regeln"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Arbeitsfläche"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:306
|
||||
msgid "Add Rule"
|
||||
msgstr "Regel hinzufügen"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Neue Übereinstimmungsregel erstellen"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:126
|
||||
#: extensions/places-menu/placeDisplay.js:210
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Removable devices"
|
||||
msgstr "Wechseldatenträger"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:167
|
||||
msgid "Open Files"
|
||||
msgstr "Dateien öffnen"
|
||||
|
||||
@@ -119,31 +116,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:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:97
|
||||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#: extensions/places-menu/placeDisplay.js:49
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Starten von »%s« fehlgeschlagen"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#: extensions/places-menu/placeDisplay.js:64
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:125
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Rechner"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
msgid "Home"
|
||||
msgstr "Persönlicher Ordner"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:381
|
||||
msgid "Browse Network"
|
||||
msgstr "Netzwerk durchsuchen"
|
||||
|
||||
@@ -165,47 +162,47 @@ msgstr ""
|
||||
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
|
||||
"soll"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Minimieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimieren"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Maximieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximieren"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:441
|
||||
msgid "Minimize all"
|
||||
msgstr "Alle minimieren"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:447
|
||||
msgid "Unminimize all"
|
||||
msgstr "Alle minimieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:453
|
||||
msgid "Maximize all"
|
||||
msgstr "Alle maximieren"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:461
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Alle maximieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:469
|
||||
msgid "Close all"
|
||||
msgstr "Alle schließen"
|
||||
|
||||
#: extensions/window-list/extension.js:741
|
||||
#: extensions/window-list/extension.js:753
|
||||
msgid "Window List"
|
||||
msgstr "Fensterliste"
|
||||
|
||||
@@ -223,7 +220,7 @@ msgstr ""
|
||||
"»always« (immer)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:79
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Fenster von allen Arbeitsflächen anzeigen"
|
||||
|
||||
@@ -245,44 +242,56 @@ msgstr ""
|
||||
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
|
||||
"angezeigt wird oder nur auf dem Primären."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:35
|
||||
msgid "Window Grouping"
|
||||
msgstr "Fenstergruppierung"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:40
|
||||
msgid "Never group windows"
|
||||
msgstr "Fenster niemals gruppieren"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Fenster bei Platzmangel gruppieren"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Always group windows"
|
||||
msgstr "Fenster immer gruppieren"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:66
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Auf allen Bildschirmen anzeigen"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:261
|
||||
#: extensions/workspace-indicator/extension.js:266
|
||||
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:151
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:62
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbeitsfläche %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Namen der Arbeitsflächen"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:255
|
||||
msgid "Add Workspace"
|
||||
msgstr "Arbeitsfläche hinzufügen"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Anwendung"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Neue Übereinstimmungsregel erstellen"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Hinzufügen"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Name"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Einen modalen Dialog an das übergeordnete Fenster anhängen"
|
||||
|
||||
|
||||
115
po/el.po
115
po/el.po
@@ -12,16 +12,16 @@ 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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-09-05 19:27+0300\n"
|
||||
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\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: Gtranslator 3.32.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\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
|
||||
@@ -36,7 +36,7 @@ msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME Classic"
|
||||
msgid "Favorites"
|
||||
msgstr "Αγαπημένα"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Εφαρμογές"
|
||||
|
||||
@@ -53,39 +53,26 @@ 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:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Χώρος εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Προσθήκη κανόνα"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Δημιουργία νέου κανόνα αντιστοίχισης"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Προσθήκη"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: 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:118
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Αφαιρούμενες συσκευές"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Άνοιγμα αρχείων"
|
||||
|
||||
@@ -119,8 +106,8 @@ msgstr ""
|
||||
"στο κάτω μέρος. Η αλλαγή αυτής της ρύθμισης απαιτεί επανεκκίνηση του "
|
||||
"κελύφους για να υπάρξει κάποιο αποτέλεσμα."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Τοποθεσίες"
|
||||
|
||||
@@ -139,11 +126,11 @@ msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
|
||||
msgid "Computer"
|
||||
msgstr "Υπολογιστής"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Προσωπικός φάκελος"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Περιήγηση δικτύου"
|
||||
|
||||
@@ -164,47 +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:99
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Αποελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Ελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Απομεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Μεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Ελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Αποελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Μεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Απομεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Κλείσιμο όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:741
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Λίστα παραθύρου"
|
||||
|
||||
@@ -222,15 +209,11 @@ msgstr ""
|
||||
"«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"
|
||||
#: 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 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 ""
|
||||
"Αν θα εμφανίζονται παράθυρα όλων των χώρων εργασίας ή μόνο του τρέχοντα."
|
||||
@@ -247,44 +230,56 @@ msgstr ""
|
||||
"Αν θα εμφανίζεται ο κατάλογος παραθύρων όλων των συνδεμένων οθονών ή μόνο "
|
||||
"της κύριας οθόνης."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ομαδοποίηση παραθύρου"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: 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/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Δείκτης χώρου εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ονόματα χώρων εργασίας:"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Όνομα"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: 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 "Προσάρτηση αποκλειστικού διαλόγου στο γονικό παράθυρο"
|
||||
|
||||
|
||||
323
po/en_GB.po
323
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-2020.
|
||||
#
|
||||
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: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-24 23:05+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.36.0\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:369
|
||||
msgid "Applications"
|
||||
msgstr "Applications"
|
||||
|
||||
@@ -110,80 +51,30 @@ 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
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Workspace Rules"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:62
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Workspace"
|
||||
msgstr "Workspace"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:78
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Add Rule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:98
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Create new matching rule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:103
|
||||
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:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Ejecting drive “%s” failed:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Removable devices"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
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 +103,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:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
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:359
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Browse Network"
|
||||
|
||||
@@ -246,7 +136,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 +147,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:98
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Unminimise"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Minimise"
|
||||
|
||||
#: extensions/window-list/extension.js:132
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Unmaximise"
|
||||
|
||||
#: extensions/window-list/extension.js:133
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximise"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimise all"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Unminimise all"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximise all"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Unmaximise all"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:456
|
||||
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:734
|
||||
msgid "Window List"
|
||||
msgstr "Window List"
|
||||
|
||||
@@ -312,9 +196,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 +204,19 @@ 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:100
|
||||
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 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 +224,128 @@ 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:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Window Grouping"
|
||||
|
||||
#: extensions/window-list/prefs.js:46
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Never group windows"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:59
|
||||
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:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Always group windows"
|
||||
|
||||
#: extensions/window-list/prefs.js:71
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Show on all monitors"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:134
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Workspace Indicator"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Workspace Names"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:150
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:190
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Workspace %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
#| msgid "Workspace"
|
||||
msgid "Add Workspace"
|
||||
msgstr "Add Workspace"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Application"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Create new matching rule"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Add"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Name"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
188
po/eo.po
188
po/eo.po
@@ -4,40 +4,38 @@
|
||||
# Ryan LORTIE <desrt@desrt.ca>, 2013.
|
||||
# Daniel PUENTES <blatberk@openmailbox.org>, 2015.
|
||||
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011-2019.
|
||||
# Carmen Bianca BAKKER <carmen@carmenbianca.eu>, 2021.
|
||||
#
|
||||
msgid ""
|
||||
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"
|
||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||
"POT-Creation-Date: 2021-03-27 20:14+0000\n"
|
||||
"PO-Revision-Date: 2021-03-29 17:24+0200\n"
|
||||
"Last-Translator: Carmen Bianca BAKKER <carmen@carmenbianca.eu>\n"
|
||||
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
|
||||
"Language: eo\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: Virtaal 0.7.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Gtranslator 3.38.0\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME-klasika"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
|
||||
msgstr "Ĉi tiu 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:367
|
||||
msgid "Applications"
|
||||
msgstr "Aplikaĵoj"
|
||||
|
||||
@@ -53,41 +51,26 @@ 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
|
||||
msgid "Application"
|
||||
msgstr "Aplikaĵo"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Laborspacaj reguloj"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Laborspaco"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:237
|
||||
msgid "Add Rule"
|
||||
msgstr "Aldoni regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Krei novan kongruantan regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
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:112
|
||||
#: 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:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Demeteblaj aparatoj"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:152
|
||||
msgid "Open Files"
|
||||
msgstr "Malfermi dosierojn"
|
||||
|
||||
@@ -119,32 +102,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:89
|
||||
#: extensions/places-menu/extension.js:92
|
||||
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 +135,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 +146,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"
|
||||
msgstr "Malminimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Plejetigi"
|
||||
msgstr "Minimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Nemaksimumigi"
|
||||
msgstr "Malmaksimumigi"
|
||||
|
||||
#: 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:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Plejetigi ĉiujn"
|
||||
msgstr "Minimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Neplejetigi ĉiujn"
|
||||
msgstr "Malminimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Nemaksimumigi ĉiujn"
|
||||
msgstr "Malmaksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:460
|
||||
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,62 +195,86 @@ 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:100
|
||||
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."
|
||||
msgstr ""
|
||||
"Ĉu montri la fenestroliston en ĉiuj konektitaj ekranoj aŭ nur en la ĉefa."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Fenestra grupigo"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Neniam grupigi fenestrojn"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Grupigi fenestrojn kiam spaco limitas"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Ĉiam grupigi fenestrojn"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Montri en ĉiuj ekranoj"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:255
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Laborspaco Indikilo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laborspacaj nomoj"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nomo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Laborspaco %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:208
|
||||
msgid "Add Workspace"
|
||||
msgstr "Aldoni laborspacon"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplikaĵo"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Krei novan kongruantan regulon"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Aldoni"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nomo"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Aktivecoj-Superrigardon"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
|
||||
|
||||
@@ -319,9 +318,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!"
|
||||
|
||||
|
||||
131
po/es.po
131
po/es.po
@@ -4,15 +4,15 @@
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
|
||||
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
|
||||
#
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2019.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2021.
|
||||
#
|
||||
msgid ""
|
||||
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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-20 12:08+0200\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-26 17:58+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -20,21 +20,32 @@ 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 3.32.1\n"
|
||||
"X-Generator: Gtranslator 41.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME clásico"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Esta sesión inicia GNOME clásico"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME clásico en Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME clásicoen Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplicaciones"
|
||||
|
||||
@@ -50,39 +61,26 @@ 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:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Reglas de las áreas de trabajo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Área de trabajo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Añadir regla"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crear regla de coincidencia nueva"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: 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:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositivos extraíbles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Abrir archivos"
|
||||
|
||||
@@ -115,8 +113,8 @@ msgstr ""
|
||||
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
|
||||
"para que tenga efecto."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
@@ -135,11 +133,11 @@ msgstr "Falló al montar el volumen para «%s»"
|
||||
msgid "Computer"
|
||||
msgstr "Equipo"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Carpeta personal"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Examinar la red"
|
||||
|
||||
@@ -159,43 +157,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimizar"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizar"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Cerrar todo"
|
||||
|
||||
@@ -216,15 +214,11 @@ 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:82
|
||||
#| msgid "Show only windows in the current workspace"
|
||||
#: extensions/window-list/prefs.js:86
|
||||
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 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 ""
|
||||
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
|
||||
@@ -242,44 +236,59 @@ 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:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Agrupación de ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Nunca agrupar las ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Agrupar las ventanas cuando el espacio esté limitado"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Siempre agrupar las ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostrar en todas las pantallas"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de área de trabajo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nombres de los áreas de trabajo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de trabajo %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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"
|
||||
|
||||
|
||||
125
po/eu.po
125
po/eu.po
@@ -5,14 +5,14 @@
|
||||
# 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 <asier.sarasua@gmail.com>, 2019.
|
||||
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020, 2021.
|
||||
#
|
||||
msgid ""
|
||||
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-08-11 13:48+0000\n"
|
||||
"PO-Revision-Date: 2019-08-12 00:42+0200\n"
|
||||
"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-12-25 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"
|
||||
@@ -20,21 +20,29 @@ msgstr "Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\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
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Klasikoa"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Saio honek GNOME Klasikoa hasten du"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME klasikoa Wayland gainean"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME klasikoa Xorg gainean"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Gogokoak"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplikazioak"
|
||||
|
||||
@@ -48,39 +56,26 @@ msgid ""
|
||||
"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"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikazioa"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Laneko areen arauak"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Laneko area"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Gehitu araua"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Sortu bat datorren arau berria"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Gehitu"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Huts egin du “%s“ unitatea egoztean:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Gailu aldagarriak"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Ireki fitxategiak"
|
||||
|
||||
@@ -106,8 +101,8 @@ msgid ""
|
||||
"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."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Lekuak"
|
||||
|
||||
@@ -126,11 +121,11 @@ msgstr "Huts egin du “%s“(r)en bolumena muntatzean"
|
||||
msgid "Computer"
|
||||
msgstr "Ordenagailua"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Karpeta nagusia"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Arakatu sarea"
|
||||
|
||||
@@ -150,47 +145,47 @@ 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:98
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Itxi"
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Leheneratu"
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:430
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Leheneratu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:442
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:450
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:458
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Itxi denak"
|
||||
|
||||
#: extensions/window-list/extension.js:740
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Leiho-zerrenda"
|
||||
|
||||
@@ -205,7 +200,7 @@ msgid ""
|
||||
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:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Erakutsi laneko area guztietako leihoak"
|
||||
|
||||
@@ -223,44 +218,56 @@ msgid ""
|
||||
"primary one."
|
||||
msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Leiho-elkartzea"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Leihoak inoiz ez elkartu"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Elkartu leihoak lekua mugatuta dagoenean"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Elkartu beti leihoak"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Erakutsi pantaila guztietan"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Lan arearen adierazlea"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laneko areen izenak"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Izena"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. laneko area"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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"
|
||||
|
||||
|
||||
130
po/fa.po
130
po/fa.po
@@ -1,38 +1,48 @@
|
||||
# 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://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-14 11:48+0430\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-10 16:24+0330\n"
|
||||
"Last-Translator: MohammadSaleh Kamyab <mskf1383@protonmail.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.2.1\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "گنوم کلاسیک"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "این نشست شما را به گنوم کلاسیک وارد میکند"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "علاقهمندیها"
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "گنوم کلاسیک روی ویلند"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "گنوم کلاسیک روی زورگ"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "برگزیدهها"
|
||||
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "برنامهها"
|
||||
|
||||
@@ -48,39 +58,26 @@ msgstr ""
|
||||
"فهرستی از رشتهها، هرکدام حاوی شناسهی یک برنامه (نام پرونده رومیزی)، در ادامهی یک "
|
||||
"ویرگول و شمارهی فضای کاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "برنامه"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "قواعد فضای کاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "فضایکاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "افزودن قاعده"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "افزودن یک قاعدهی منطبق جدید"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "اضافه"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "بیرون دادن دیسکگردان «%s» شکست خورد:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "دستگاههای جداشدنی"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "گشودن پروندهها"
|
||||
|
||||
@@ -112,7 +109,7 @@ msgstr ""
|
||||
"شل در پایین را تغییر میدهد. تغییر این گزینه، نیاز به راهاندازی مجدد شل دارد تا "
|
||||
"تاثیر بگذارد."
|
||||
|
||||
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88 extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "مکانها"
|
||||
|
||||
@@ -131,11 +128,11 @@ msgstr "شکست در سوار کردن حجم برای «%s»"
|
||||
msgid "Computer"
|
||||
msgstr "رایانه"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "خانه"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "مرور شبکه"
|
||||
|
||||
@@ -155,43 +152,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "خروج"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "ناکمینه"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "کمینه"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "نابیشینه"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "بیشنه"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "کمینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "ناکمینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "بیشینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "نابیشینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "بستن همه"
|
||||
|
||||
@@ -212,7 +209,7 @@ msgstr ""
|
||||
"ممکن عبارتند از «never»، «auto» و «always»."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "نمایش پنجرهها از تمام فضاهای کاری"
|
||||
|
||||
@@ -232,44 +229,59 @@ msgstr ""
|
||||
"اینکه آیا فهرست پنجرهها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در نمایشگر "
|
||||
"اصلی."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "گروهسازی پنجرهها"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "هیچگاه پنجرهها گروه نشوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "پنجرهها زمانی که فضا محدود است گروه شوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "همیشه پنجرهها گروه شوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "نمایش در تمام نمایشگرها"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "نشانگر فضایکاری"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "نامهای فضای کاری"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "فضای کاری %Id"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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 به پنجره والد"
|
||||
|
||||
|
||||
134
po/fi.po
134
po/fi.po
@@ -12,32 +12,41 @@ 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: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-17 16:00+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-02-27 18:54+0200\n"
|
||||
"Last-Translator: JR-Fi <starman@starman.fi>\n"
|
||||
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
||||
"Language: fi\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: Poedit 3.0.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Perinteinen Gnome"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Perinteinen Gnome Waylandia käyttäen"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Perinteinen Gnome Xorgia käyttäen"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Suosikit"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Sovellukset"
|
||||
|
||||
@@ -50,40 +59,29 @@ msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Lista merkkijonoja, jossa jokainen on ohjelman tunnus (työpöydän "
|
||||
"tiedostonimi), jota seuraa kaksoispiste ja työtilan numero"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Sovellus"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Työtilojen säännöt"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Työtila"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Lisää sääntö"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Luo uusi vastaava sääntö"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Lisää"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Aseman “%s” irrottaminen epäonnistui:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Erilliset tallennusvälineet"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Avaa tiedostonhallinta"
|
||||
|
||||
@@ -97,6 +95,9 @@ msgid ""
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Yritä käyttää enemmän näyttötilaa laittamalla ikkunoiden pikkukuvat "
|
||||
"huomioiden näyttösuhteen ja lähentämällä niitä vähentämällä rajaavaa "
|
||||
"laatikkoa. Tämä asetus toimii vain luonnollisen asettelutavan kanssa."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
@@ -112,8 +113,8 @@ 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:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Sijainnit"
|
||||
|
||||
@@ -132,23 +133,22 @@ msgstr "Taltion “%s” liittäminen epäonnistui"
|
||||
msgid "Computer"
|
||||
msgstr "Tietokone"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Koti"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Selaa verkkoa"
|
||||
|
||||
# Konteksti muutui hieman, kun tälle ilmaantui pari, jossa suunta on taaksepäin
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Vaihtele kuvakaappausten kokojen välillä"
|
||||
msgstr "Vaihda kuvakaappausten kokojen välillä"
|
||||
|
||||
#: 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 "Vaihtele kuvakaappausten kokojen välillä"
|
||||
msgstr "Vaihda kuvakaappausten kokojen välillä taaksepäin"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
@@ -158,43 +158,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Palauta pienennys"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Pienennä"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Palauta suurennus"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Suurenna"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Pienennä kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Suurenna kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Sulje kaikki"
|
||||
|
||||
@@ -215,7 +215,7 @@ 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:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Näytä ikkunat kaikista työtiloista"
|
||||
|
||||
@@ -237,44 +237,56 @@ msgstr ""
|
||||
"Näytetäänkö ikkunaluettelo kaikilla liitetyillä näytöillä vai ainoastaan "
|
||||
"ensisijaisella näytöllä."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ikkunoiden ryhmitys"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Älä ryhmitä ikkunoita koskaan"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ryhmitä ikkunat tilan ollessa rajallinen"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Ryhmitä ikkunat aina"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Näytä kaikilla näytöillä"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Työtilan ilmaisin"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Työtilojen nimet"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Työtila %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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"
|
||||
|
||||
|
||||
116
po/fr.po
116
po/fr.po
@@ -3,36 +3,48 @@
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Claude Paroz <claude@2xlibre.net>, 2011.
|
||||
# Alain Lojewski <allomervan@gmail.com>, 2012-2013.
|
||||
# Charles Monzat <charles.monzat@numericable.fr>, 2018.
|
||||
# Charles Monzat <charles.monzat@free.fr>, 2018-2022.
|
||||
#
|
||||
msgid ""
|
||||
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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-25 10:43+0200\n"
|
||||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-03-01 21:04+0100\n"
|
||||
"Last-Translator: Charles Monzat <charles.monzat@free.fr>\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 40.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Classique"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Cette session vous connecte à GNOME Classique"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME Classique sur Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classique sur Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Favoris"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Applications"
|
||||
|
||||
@@ -49,39 +61,26 @@ 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:60
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Règles des espaces de travail"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Espace de travail"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Ajouter une règle"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Créer une nouvelle règle de concordance"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: 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:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Périphériques amovibles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Ouvrir Fichiers"
|
||||
|
||||
@@ -115,8 +114,8 @@ msgstr ""
|
||||
"dessous. Pour que ce paramètre soit pris en compte, il faut redémarrer le "
|
||||
"Shell."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Emplacements"
|
||||
|
||||
@@ -135,11 +134,11 @@ msgstr "Impossible de monter le volume « %s »"
|
||||
msgid "Computer"
|
||||
msgstr "Ordinateur"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Dossier personnel"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Parcourir le réseau"
|
||||
|
||||
@@ -159,43 +158,43 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Réduire"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximiser"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Tout réduire"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Tout restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Tout maximiser"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Tout restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Tout fermer"
|
||||
|
||||
@@ -217,7 +216,7 @@ msgstr ""
|
||||
"« always » (toujours)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Afficher les fenêtres de tous les espaces de travail"
|
||||
|
||||
@@ -239,40 +238,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:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Regroupement de fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Ne jamais regrouper les fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Regrouper les fenêtres quand l’espace est limité"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Toujours regrouper les fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Afficher sur tous les écrans"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicateur d’espace de travail"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Noms des espaces de travail"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espace de travail %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Ajouter un espace de travail"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Créer une nouvelle règle de concordance"
|
||||
|
||||
172
po/fur.po
172
po/fur.po
@@ -8,29 +8,38 @@ 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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-28 09:34+0200\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-07 17:51+0100\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 2.2.3\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Classic"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Cheste session a si invie cun GNOME classic"
|
||||
msgstr "Cheste session ti fâs jentrâ in GNOME Classic"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME Classic su Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic su Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Preferîts"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplicazions"
|
||||
|
||||
@@ -43,48 +52,35 @@ msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
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"
|
||||
"Une liste di stringhis, ogniune e ten il ID di une aplicazion (non dal file ."
|
||||
"desktop), cun daûr 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:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regulis dai spazis di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Spazi di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Zonte regule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Cree une gnove regule di corispondence"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Zonte"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: 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:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Argagn rimovibil"
|
||||
msgstr "Dispositîfs estraibii"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Vierç i file"
|
||||
msgstr "Vierç i files"
|
||||
|
||||
#: 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"
|
||||
msgstr "Dopre plui schermi pai barcons"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
msgid ""
|
||||
@@ -92,14 +88,14 @@ msgid ""
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Cîr di doprâ plui puest par plaçâ lis miniaturis dai balcons, adatânsi al "
|
||||
"rapuart di aspiet dal visôr e consolidanlis ancjemo di plui par ridusi il "
|
||||
"spazi complessîf. Cheste impostazion a si apliche dome se l'algoritmo di "
|
||||
"posizionament al è \"natural\"."
|
||||
"Cîr di doprâ plui schermi par plaçâ lis miniaturis dai barcons, adatant il "
|
||||
"rapuart di aspiet dal visôr e consolidant ancjemo di plui lis miniaturis par "
|
||||
"ridusi il spazi complessîf. Cheste impostazion si apliche dome se "
|
||||
"l'algoritmi di plaçament al è naturâl."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Met il titul dal balcon insomp"
|
||||
msgstr "Met il titul dal barcon parsore"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
@@ -107,12 +103,12 @@ msgid ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Se VÊR, al place i titui dai balcons insomp as relativis miniaturis, lant in "
|
||||
"volte al compuartament normâl de shell, che lis place in bas.Cambiant cheste "
|
||||
"impostazion a si scugne tornâ a inviâ la shell."
|
||||
"Se VÊR, al place i titui dai barcons denant des relativis miniaturis, "
|
||||
"sorpassant il compuartament predefinît de shell, che lis place in bas. "
|
||||
"Cambiant cheste impostazion si scugne tornâ a inviâ la shell."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Puescj"
|
||||
|
||||
@@ -131,21 +127,21 @@ msgstr "No si è rivâts a montâ il volum par “%s”"
|
||||
msgid "Computer"
|
||||
msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Cjase"
|
||||
msgstr "Home"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Esplore rêt"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Dimensions caturis di schermi ciclichis"
|
||||
msgstr "Dimensions videadis catuardis ciclichis"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Dimensions caturis di schermi ciclichis indaûr"
|
||||
msgstr "Dimensions videadis caturadis ciclichis indaûr"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
@@ -155,64 +151,64 @@ 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:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Siere"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Gjave minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimize"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Gjave massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Massimize"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Gjave a ducj la minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Massimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Gjave a ducj la massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Siere ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Liste balcons"
|
||||
msgstr "Liste barcons"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Quant ingrumâ i balcons"
|
||||
msgstr "Cuant meti in grup i barcons"
|
||||
|
||||
#: 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”."
|
||||
msgstr ""
|
||||
"Al decît cuant intropâ i balcons de stesse aplicazion su le liste dai "
|
||||
"balcons. I pussibii valôrs a son “never”, “auto” e “always”."
|
||||
"Al decît cuant meti dongje i barcons de stesse aplicazion su la liste dai "
|
||||
"barcons. I valôrs pussibii a son “never”, “auto” e “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostre i barcons di ducj i spazis di lavôr"
|
||||
|
||||
@@ -231,46 +227,58 @@ msgid ""
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Indiche se mostrâ la liste dai barcons su ducj i visôrs tacâts o nome sul "
|
||||
"principâl."
|
||||
"chel principâl."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ingrumament balcons"
|
||||
msgstr "Intropament di barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "No ingrumâ i balcons"
|
||||
msgstr "No sta meti mai in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ingrume i balcons quanche al'è pôc puest"
|
||||
msgstr "Met dongje i barcons cuant che il spazi al è limitât"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Ingrume simpri i balcons"
|
||||
msgstr "Met simpri in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostre su ducj i visôrs"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicadôr spazi di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nons dai spazis di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Non"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazi di lavôr %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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"
|
||||
|
||||
|
||||
524
po/gl.po
524
po/gl.po
@@ -1,106 +1,111 @@
|
||||
# Galician translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
#
|
||||
# Fran Diéguez <frandieguez@gnome.org>, 2011.
|
||||
# Fran Dieguez <frandieguez@gnome.org>, 2011, 2012, 2013, 2014, 2015, 2017.
|
||||
# Fran Dieguez <fran.dieguez@gnome.org>, 2011-2021.
|
||||
#
|
||||
msgid ""
|
||||
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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-25 18:13+0200\n"
|
||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-19 22:50+0100\n"
|
||||
"Last-Translator: Fran Dieguez <fran.dieguez@gnome.org>\n"
|
||||
"Language-Team: Galician <proxecto@trasno.gal>\n"
|
||||
"Language: gl\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.2.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-Generator: Gtranslator 40.0\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-DL-Team: gl\n"
|
||||
"X-DL-Module: gnome-shell-extensions\n"
|
||||
"X-DL-Branch: main\n"
|
||||
"X-DL-Domain: po\n"
|
||||
"X-DL-State: Translating\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME clasico"
|
||||
msgstr "GNOME clásico"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Esta sesión iniciarao en GNOME clásico"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME clásico en Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME clásico en Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplicativos"
|
||||
msgstr "Aplicacións"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Lista de aplicativos e espazos de traballo"
|
||||
msgstr "Lista de aplicacións e espazos de traballo"
|
||||
|
||||
#: 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 ""
|
||||
"Unha lista de cadeas, cada unha das cales contén un id de aplicativo (nome de "
|
||||
"ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
|
||||
"Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome "
|
||||
"de ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplicativo"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regras da área de traballo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Área de traballo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Engadir regra"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crear regra de coincidencia nova"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Engadir"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Fallo ao extraer a unidade «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositivos extraíbeis"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Abrir ficheiros"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Usar máis pantalla para as xanelas"
|
||||
msgstr "Usar mais pantalla para as xanelas"
|
||||
|
||||
#: 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."
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Tente usar máis pantalla para dispor as miniaturas das xanelas adaptándose á "
|
||||
"taxa de aspecto da pantalla e consolidalas para reducir a caixa saltante. Esta "
|
||||
"configuración aplícase só para a estratexia de disposición natural."
|
||||
"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose á "
|
||||
"taxa de aspecto da pantalla e consolidalas para reducir a caixa envolvente. "
|
||||
"Esta configuración aplícase só para a estratexia de disposición natural."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Pór a xanela sempre na parte superior"
|
||||
msgstr "Por a xanela sempre na parte superior"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
@@ -108,11 +113,12 @@ msgid ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Se é verdadeiro, dispor os títulos das xanelas enriba da miniatura respectiva, "
|
||||
"omitindo a disposición inferior por omisión do shell. Se cambia esta "
|
||||
"configuración deberá reiniciar o shell para que se apliquen os cambios."
|
||||
"Se é verdadeiro, dispor os títulos das xanelas enriba da miniatura "
|
||||
"respectiva, omitindo a disposición inferior por omisión do shell. Se cambia "
|
||||
"esta configuración deberá reiniciar o shell para que se apliquen os cambios."
|
||||
|
||||
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
@@ -131,11 +137,11 @@ msgstr "Produciuse un fallo ao montar o volume para «%s»"
|
||||
msgid "Computer"
|
||||
msgstr "Computador"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Cartafol persoal"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Explorar a rede"
|
||||
|
||||
@@ -155,43 +161,43 @@ msgstr "Nome do tema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "O nome do tema, a cargar desde ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Pechar"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Restabelecer"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizar"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Restaurar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Restaurar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Pechar todo"
|
||||
|
||||
@@ -208,11 +214,12 @@ msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Decide cando agrupar as xanelas do mesmo aplicativo na lista de xanelas. Os "
|
||||
"valores posíbeis son «never» (nunca), «auto» (automático) e «always» (sempre)."
|
||||
"Decide cando agrupar as xanelas da mesma aplicación na lista de xanelas. Os "
|
||||
"valores posíbeis son «never» (nunca), «auto» (automático) e "
|
||||
"«always» (sempre)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostrar as xanelas de todos os espazos de traballo"
|
||||
|
||||
@@ -230,402 +237,55 @@ msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Indica se mostrar a lista de xanelas en todos os monitores conectados ou só no "
|
||||
"primario."
|
||||
"Indica se mostrar a lista de xanelas en todos os monitores conectados ou só "
|
||||
"no primario."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Agrupación de xanelas"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Non agrupar nunca as xanelas"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Agrupar as xanelas cando o espazo é limitado"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Agrupar sempre as xanelas"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostrar en todos os monitores"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de espazo de traballo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nomes dos espazos de traballo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espazos de traballo %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Anexar o diálogo modal á xanela pai"
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Engadir área de traballo"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Esta chave sobrescribe a chave en org.gnome.mutter cando executa GNOME Shell."
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicación"
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Ordenación dos botóns na barra de título"
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Crear regra de coincidencia nova"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
#~ "GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Esta chave sobrescribe a chave en org.gnome.desktop.wm.preferences ao "
|
||||
#~ "executar GNOME Shell."
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Engadir"
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Espazos de traballo só no monitor primario"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Atrasar o cambio de foco no modo rato até que o punteiro se deteña ao moverse"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Só miniaturas"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Só icona do aplicativo"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniatura e icona do aplicativo"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Presentar xanelas como"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Vista xeral de actividades"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hola, mundo!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Texto de benvida alternativo"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on the "
|
||||
#~ "panel."
|
||||
#~ msgstr ""
|
||||
#~ "Se non está baleiro, contén o texto que se despregará ao premer sobre o panel"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaxe"
|
||||
|
||||
#~ 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 ""
|
||||
#~ "«Exemplo» pretende mostrar como construir extensións de bo comportamento "
|
||||
#~ "para a Shell e por iso ten pouca funcionalidade por si só.\n"
|
||||
#~ "Porén, é posíbel personalizar a mensaxe de benvida."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Memoria"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell clásico"
|
||||
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "Xestor de xanelas e inicio de aplicativos"
|
||||
|
||||
#~ msgid "Suspend"
|
||||
#~ msgstr "Suspender"
|
||||
|
||||
#~ msgid "Hibernate"
|
||||
#~ msgstr "Hibernar"
|
||||
|
||||
#~ msgid "Power Off"
|
||||
#~ msgstr "Apagar"
|
||||
|
||||
#~ msgid "Enable suspending"
|
||||
#~ msgstr "Activar a suspensión"
|
||||
|
||||
#~ msgid "Control the visibility of the Suspend menu item"
|
||||
#~ msgstr "Controla a visibilidade do elemento de menú «Suspender»"
|
||||
|
||||
#~ msgid "Enable hibernating"
|
||||
#~ msgstr "Activar hibernación"
|
||||
|
||||
#~ msgid "Control the visibility of the Hibernate menu item"
|
||||
#~ msgstr "Controla a visibilidade do elemento de menú «Hibernar»"
|
||||
|
||||
#~ msgid "Normal"
|
||||
#~ msgstr "Normal"
|
||||
|
||||
#~ msgid "Left"
|
||||
#~ msgstr "Esquerda"
|
||||
|
||||
#~ msgid "Right"
|
||||
#~ msgstr "Dereita"
|
||||
|
||||
#~ msgid "Upside-down"
|
||||
#~ msgstr "Co de arriba cara abaixo"
|
||||
|
||||
#~ msgid "Display"
|
||||
#~ msgstr "Pantalla"
|
||||
|
||||
#~ msgid "Display Settings"
|
||||
#~ msgstr "Preferencias da pantalla"
|
||||
|
||||
#~ msgid "Devices"
|
||||
#~ msgstr "Dispositivos"
|
||||
|
||||
#~ msgid "Bookmarks"
|
||||
#~ msgstr "Marcadores"
|
||||
|
||||
#~ msgid "Network"
|
||||
#~ msgstr "Rede"
|
||||
|
||||
#~ msgid "File System"
|
||||
#~ msgstr "Sistema de ficheiros"
|
||||
|
||||
#~ msgid "The application icon mode."
|
||||
#~ msgstr "O modo da icona do aplicativo."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
#~ "only' (shows only the application icon) or 'both'."
|
||||
#~ msgstr ""
|
||||
#~ "Configura como se mostran as xanelas no intercambiador. As opcións posíbeis "
|
||||
#~ "son «thumbnail-only» (mostra unha miniatura da xanela, «app-icon-only» (só "
|
||||
#~ "mostra a icona do aplicativo) ou «both» (móstranse ambas cosas)."
|
||||
|
||||
#~ msgid "Drag here to add favorites"
|
||||
#~ msgstr "Arrastre aquí para engadir aos favoritos"
|
||||
|
||||
#~ msgid "New Window"
|
||||
#~ msgstr "Nova xanela"
|
||||
|
||||
#~ msgid "Quit Application"
|
||||
#~ msgstr "Saír do aplicativo"
|
||||
|
||||
#~ msgid "Remove from Favorites"
|
||||
#~ msgstr "Eliminar dos favoritos"
|
||||
|
||||
#~ msgid "Position of the dock"
|
||||
#~ msgstr "Posición da doca"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sets the position of the dock in the screen. Allowed values are 'right' or "
|
||||
#~ "'left'"
|
||||
#~ msgstr ""
|
||||
#~ "Estabelece a posición da doca na pantalla. Os valores permitidos son «right» "
|
||||
#~ "e «left»"
|
||||
|
||||
#~ msgid "Icon size"
|
||||
#~ msgstr "Tamaño da icona"
|
||||
|
||||
#~ msgid "Sets icon size of the dock."
|
||||
#~ msgstr "Estabelece o tamaño das iconas na doca."
|
||||
|
||||
#~ msgid "Enable/disable autohide"
|
||||
#~ msgstr "Activar/desactivar autoagochado"
|
||||
|
||||
#~ msgid "Autohide effect"
|
||||
#~ msgstr "Efecto de autoagochado"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
|
||||
#~ "'move'"
|
||||
#~ msgstr ""
|
||||
#~ "Estabelece o efecto de agochado da doca. Os valores permitidos son "
|
||||
#~ "«resize» (redimensionar( e «rescale» (re-escalar) e «move» (mover)"
|
||||
|
||||
#~ msgid "Autohide duration"
|
||||
#~ msgstr "Duración do autoagochado"
|
||||
|
||||
#~ msgid "Sets the time duration of the autohide effect."
|
||||
#~ msgstr "Estabelece a duración do efecto de autoagochado."
|
||||
|
||||
#~ msgid "Monitor"
|
||||
#~ msgstr "Pantalla"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
|
||||
#~ "monitor."
|
||||
#~ msgstr ""
|
||||
#~ "Estabelece a pantalla na que mostrar o taboleiro. O valor predeterminado es "
|
||||
#~ "(-1), que é a pantalla principal."
|
||||
|
||||
#~ msgid "%s is away."
|
||||
#~ msgstr "%s está ausente."
|
||||
|
||||
#~ msgid "%s is offline."
|
||||
#~ msgstr "%s está desconectado."
|
||||
|
||||
#~ msgid "%s is online."
|
||||
#~ msgstr "%s está conectado."
|
||||
|
||||
#~ msgid "%s is busy."
|
||||
#~ msgstr "%s está ocupado."
|
||||
|
||||
#~ msgid "Removable Devices"
|
||||
#~ msgstr "Dispositivos extraíbeis"
|
||||
|
||||
#~ msgid "Configure display settings..."
|
||||
#~ msgstr "Configurar as preferencias de pantalla…"
|
||||
|
||||
#~ msgid "The alt tab behaviour."
|
||||
#~ msgstr "O comportamento de Alt+Tab"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
|
||||
#~ "workspace_icons. See the configuration dialogs for details."
|
||||
#~ msgstr ""
|
||||
#~ "Estabelece o comportamento do Alt+Tab. Os valores posíbeis son: "
|
||||
#~ "«native» (nativo), «all_thumbnails» (todo e miniaturas) e "
|
||||
#~ "«worspace_icons» (iconas de áreas de traballo). Para obter información máis "
|
||||
#~ "detallada, consulte a configuración dos diálogos."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This mode presents all applications from all workspaces in one selection "
|
||||
#~ "list. Instead of using the application icon of every window, it uses small "
|
||||
#~ "thumbnails resembling the window itself."
|
||||
#~ msgstr ""
|
||||
#~ "Este modo presenta todos os aplicativos de todas as áreas de traballo nunha "
|
||||
#~ "lista de selección. No lugar de usar a icona de aplicativo de cada xanela, "
|
||||
#~ "usa pequenas miniaturas que semellan a propia xanela."
|
||||
|
||||
#~ msgid "Workspace & Icons"
|
||||
#~ msgstr "Espazos de traballo e iconas"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This mode let's you switch between the applications of your current "
|
||||
#~ "workspace and gives you additionally the option to switch to the last used "
|
||||
#~ "application of your previous workspace. This is always the last symbol in "
|
||||
#~ "the list and is segregated by a separator/vertical line if available. \n"
|
||||
#~ "Every window is represented by its application icon."
|
||||
#~ msgstr ""
|
||||
#~ "Este modo permítelle alternar entre os aplicativos da súa área de traballo "
|
||||
#~ "actual e dálle a opción de cambiar ao último aplicativo empregada da súa "
|
||||
#~ "área de traballo anterior. Este sempre é o último símbolo da lista e está "
|
||||
#~ "separado por un separador/liña vertical se está dispoñíbel.\n"
|
||||
#~ "Cada xanela está representada pola súa icona de aplicativo."
|
||||
|
||||
#~ msgid "Move current selection to front before closing the popup"
|
||||
#~ msgstr "Mover a selección actual ao frente antes de pechar a xanela emerxente"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Alternate Tab can be used in different modes, that affect the way "
|
||||
#~ "windows are chosen and presented."
|
||||
#~ msgstr ""
|
||||
#~ "A combinación de teclas Alt+Tab pódese usar en diferentes modos, que afectan "
|
||||
#~ "á maneira na que se elixen e presentan as xanelas."
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "Notificacións"
|
||||
|
||||
#~ msgid "Online Accounts"
|
||||
#~ msgstr "Contas en liña"
|
||||
|
||||
#~ msgid "Lock Screen"
|
||||
#~ msgstr "Bloquear Pantaia"
|
||||
|
||||
#~ msgid "Switch User"
|
||||
#~ msgstr "Trocar de Usario"
|
||||
|
||||
#~ msgid "Log Out..."
|
||||
#~ msgstr "Sair da sesión"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This is the first time you use the Alternate Tab extension. \n"
|
||||
#~ "Please choose your preferred behaviour:\n"
|
||||
#~ "\n"
|
||||
#~ "All & Thumbnails:\n"
|
||||
#~ " This mode presents all applications from all workspaces in one "
|
||||
#~ "selection \n"
|
||||
#~ " list. Instead of using the application icon of every window, it uses "
|
||||
#~ "small \n"
|
||||
#~ " thumbnails resembling the window itself. \n"
|
||||
#~ "\n"
|
||||
#~ "Workspace & Icons:\n"
|
||||
#~ " This mode let's you switch between the applications of your current \n"
|
||||
#~ " workspace and gives you additionally the option to switch to the last "
|
||||
#~ "used \n"
|
||||
#~ " application of your previous workspace. This is always the last symbol "
|
||||
#~ "in \n"
|
||||
#~ " the list and is segregated by a separator/vertical line if available. \n"
|
||||
#~ " Every window is represented by its application icon. \n"
|
||||
#~ "\n"
|
||||
#~ "Native:\n"
|
||||
#~ " This mode is the native GNOME 3 behaviour or in other words: Clicking \n"
|
||||
#~ " native switches the Alternate Tab extension off. \n"
|
||||
#~ msgstr ""
|
||||
#~ "É a primeira vez que usa a extensión de Tab alternativo.\n"
|
||||
#~ "Seleccione o comportamento prefirido:\n"
|
||||
#~ "\n"
|
||||
#~ "Todo e miniaturas:\n"
|
||||
#~ " Este modo mostra tódolos aplicativos de tódolos espazos de traballa "
|
||||
#~ "nunha\n"
|
||||
#~ " lista de selección. No lugar de usar as iconas de aplicativos para cada\n"
|
||||
#~ " xanela, usa miniaturas pequenas que representan as xanelas.\n"
|
||||
#~ "\n"
|
||||
#~ "Espazos de traballo e iconas:\n"
|
||||
#~ " Este modo permítelle cambiar entre os aplicativos do seu espazo de "
|
||||
#~ "traballo \n"
|
||||
#~ " actual e permítelle engadir a opción de cambiar entre o último "
|
||||
#~ "aplicativo\n"
|
||||
#~ " usado do seu espazo de traballo anterior. Sempre é o último símbolo na\n"
|
||||
#~ " lista e está separado por unha liña separador/vertical se está "
|
||||
#~ "dispoñíbel.\n"
|
||||
#~ " Cada xanela está representada pola icona do aplicativo.\n"
|
||||
#~ "\n"
|
||||
#~ "Nativo:\n"
|
||||
#~ " Este modo é o comportamento nativo de GNOME 3 ou noutras palabras: ao \n"
|
||||
#~ " seleccionar nativo desactiva a extensión Tab alternativo.\n"
|
||||
|
||||
#~ msgid "Alt Tab Behaviour"
|
||||
#~ msgstr "Comportamento do Alt Tab"
|
||||
|
||||
#~ msgid "Native"
|
||||
#~ msgstr "Nativa"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
#~ msgid "Ask the user for a default behaviour if true."
|
||||
#~ msgstr "Preguntarlle o comportamento predeterminado ao usuario se é certo."
|
||||
|
||||
#~ msgid "Indicates if Alternate Tab is newly installed"
|
||||
#~ msgstr "Indica se o Tab alternativo está instalado recentemente"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The algorithm used to layout thumbnails in the overview. 'grid' to use the "
|
||||
#~ "default grid based algorithm, 'natural' to use another one that reflects "
|
||||
#~ "more the position and size of the actual window"
|
||||
#~ msgstr ""
|
||||
#~ "O algoritmo usado pola disposición de miniaturas na vista previa. «grid» "
|
||||
#~ "para usar o algoritmo predeterminado baseado na grella, «natural» para usar "
|
||||
#~ "outro que reflexa máis a posición e tamaño da xanela actual"
|
||||
|
||||
#~ msgid "Window placement strategy"
|
||||
#~ msgstr "Estratexia de disposición de xanelas"
|
||||
|
||||
#~ msgid "Available"
|
||||
#~ msgstr "Dispoñible"
|
||||
|
||||
#~ msgid "Busy"
|
||||
#~ msgstr "Ocupado"
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nome"
|
||||
|
||||
369
po/he.po
369
po/he.po
@@ -2,104 +2,55 @@
|
||||
# Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Yaron Shahrabani <sh.yaron@gmail.com>, 2011.
|
||||
# Yosef Or Boczko <yoseforb@gnome.org>, 2013, 2014.
|
||||
# Yosef Or Boczko <yoseforb@gmail.com>, 2013-2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-01-26 21:10+0200\n"
|
||||
"PO-Revision-Date: 2015-01-26 21:10+0200\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: עברית <>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-12 00:53+0200\n"
|
||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2;\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:1
|
||||
#: ../data/gnome-classic.session.desktop.in.in.h:1
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME קלסי"
|
||||
msgstr "GNOME קלסי"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "הפעלה זו מכניסה אותך למצב הקלסי של GNOME"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Attach modal dialog to the parent window"
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME קלסי על גבי Wayland"
|
||||
|
||||
#: ../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 ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME קלסי על גבי Xorg"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Arrangement of buttons on the titlebar"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
|
||||
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.in.h:5
|
||||
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.in.h:6
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Workspaces only on primary monitor"
|
||||
|
||||
#: ../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 "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
|
||||
#: ../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 "סקירת פעילויות"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:114
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "מועדפים"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:283
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
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 "Application and workspace list"
|
||||
|
||||
#: ../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"
|
||||
@@ -107,77 +58,34 @@ 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:60
|
||||
msgid "Application"
|
||||
msgstr "יישום"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
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:236
|
||||
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 "הוספה"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive '%s' failed:"
|
||||
msgstr "שליפת הכונן „%s“ נכשלה:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "שליפת הכונן „%s” נכשלה:"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "התקנים נתיקים"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:151
|
||||
msgid "Open File"
|
||||
msgstr "פתיחת קובץ"
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
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 "Alternative greeting text."
|
||||
|
||||
#: ../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 ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
|
||||
#: ../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.in.h:1
|
||||
#: 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"
|
||||
|
||||
#: ../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. "
|
||||
@@ -187,11 +95,11 @@ msgstr ""
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
|
||||
#: ../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 "Place window captions on top"
|
||||
|
||||
#: ../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 "
|
||||
@@ -201,115 +109,120 @@ 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:78
|
||||
#: ../extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
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”"
|
||||
msgstr "שיגור „%s” נכשל"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:99
|
||||
#: ../extensions/places-menu/placeDisplay.js:122
|
||||
#: 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: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 "עיון ברשת"
|
||||
|
||||
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in.h:1
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cycle Screenshot Sizes"
|
||||
|
||||
#: ../extensions/systemMonitor/extension.js:214
|
||||
msgid "CPU"
|
||||
msgstr "מעבד"
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cycle Screenshot Sizes Backward"
|
||||
|
||||
#: ../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 "Theme name"
|
||||
|
||||
#: ../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 "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
|
||||
#: ../extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "סגירה"
|
||||
|
||||
#: ../extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "ביטול המזעור"
|
||||
|
||||
#: ../extensions/window-list/extension.js:121
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "מזעור"
|
||||
|
||||
#: ../extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "ביטול ההגדלה"
|
||||
|
||||
#: ../extensions/window-list/extension.js:128
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "הגדלה"
|
||||
|
||||
#: ../extensions/window-list/extension.js:390
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "מזעור הכל"
|
||||
|
||||
#: ../extensions/window-list/extension.js:398
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "ביטול מזעור הכל"
|
||||
|
||||
#: ../extensions/window-list/extension.js:406
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "הגדלת הכל"
|
||||
|
||||
#: ../extensions/window-list/extension.js:415
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ביטול הגדלת הכל"
|
||||
|
||||
#: ../extensions/window-list/extension.js:424
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "סגירת הכל"
|
||||
|
||||
#: ../extensions/window-list/extension.js:706
|
||||
#: ../extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
|
||||
#: ../extensions/window-list/extension.js:870
|
||||
#: extensions/window-list/extension.js:741
|
||||
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\"."
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"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”."
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:3
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:86
|
||||
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 "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.in.h:4
|
||||
#: 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."
|
||||
@@ -317,39 +230,129 @@ msgstr ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
|
||||
#: ../extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "קיבוץ חלונות"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "לעולם לא לקבץ חלונות"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "תמיד לקבץ חלונות"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "הצגה בכל הצגים"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "מחוון מרחבי עבודה"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "שם מרחב העבודה"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "שם"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "מרחב עבודה %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
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 "Attach modal dialog 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 "תמונות ממוזערות בלבד"
|
||||
|
||||
#~ 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 "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 "הודעה"
|
||||
|
||||
#~ 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 "מעבד"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "זיכרון"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "מעטפת GNOME קלסית"
|
||||
|
||||
|
||||
124
po/hr.po
124
po/hr.po
@@ -8,9 +8,9 @@ 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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-09-03 17:50+0200\n"
|
||||
"Last-Translator: gogo <linux.hr@protonmail.com>\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-11-12 12:24+0100\n"
|
||||
"Last-Translator: gogo <trebelnik2@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,21 +18,30 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME klasičan"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ova sesija vas prijavljuje u klasičan GNOME"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME klasičan na Waylandu"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME klasičan na Xorgu"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Omiljeni"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplikacije"
|
||||
|
||||
@@ -48,39 +57,26 @@ msgstr ""
|
||||
"Popis nizova, svaki sadrži aplikaciju (naziv datoteke prečaca), slijedeći "
|
||||
"stupac i broj radnog prostora"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikacija"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Pravila radnog prostora"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Radni prostor"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Dodaj pravilo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Dodaj novo pravilo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Izbacivanje uređaja “%s” neuspjelo:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Prijenosni uređaji"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Otvori datoteku"
|
||||
|
||||
@@ -113,8 +109,8 @@ msgstr ""
|
||||
"zaobilazeći zadano smještanje ljuske na dnu. Promjena ove postavke zahtijeva "
|
||||
"ponovno pokretanje ljuske kako bi se primijenila."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Lokacije"
|
||||
|
||||
@@ -133,11 +129,11 @@ msgstr "Neuspješno montiranje uređaja “%s”"
|
||||
msgid "Computer"
|
||||
msgstr "Računalo"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Osobna mapa"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Pregledaj mrežu"
|
||||
|
||||
@@ -157,43 +153,43 @@ msgstr "Naziv teme"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Naziv teme, mora se učitati iz ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Zatvori"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Vrati"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Smanji"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Prikaži u prozoru"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Uvećaj"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Smanji sve"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Vrati sve"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Uvećaj sve"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Prikaži u prozoru sve"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Zatvori sve"
|
||||
|
||||
@@ -214,7 +210,7 @@ msgstr ""
|
||||
"vrijednosti su: “never”, “auto” i “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Prikaži prozore sa svih radnih prostora"
|
||||
|
||||
@@ -235,44 +231,56 @@ msgstr ""
|
||||
"Treba li prikazati popis prozora na svim povezanim zaslonima ili smo na "
|
||||
"glavnom."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Grupiranje prozora"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Nikada grupiraj prozore"
|
||||
msgstr "Ne grupiraj prozore"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Grupiraj prozore kada je prostor ograničen"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Uvijek grupiraj prozore"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Prikaži na svim zaslonima"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indikator radnog prostora"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nazivi radnih prostora"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Radni prostor %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Dodaj radni prostor"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplikacija"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Dodaj novo pravilo"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Dodaj"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Naziv"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Pričvrsti prozore dijaloga na nadređeni prozor"
|
||||
|
||||
|
||||
121
po/hu.po
121
po/hu.po
@@ -1,39 +1,50 @@
|
||||
# Hungarian translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019, 2022 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
#
|
||||
# Biró Balázs <arch.scar at gmail dot com>, 2011.
|
||||
# Gabor Kelemen <kelemeng at gnome dot hu>, 2011, 2012, 2013.
|
||||
# Balázs Úr <ur.balazs at fsf dot hu>, 2013, 2014, 2017, 2019.
|
||||
# Balázs Úr <ur.balazs at fsf dot hu>, 2013, 2014, 2017, 2019, 2022.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||
"sues\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-24 21:54+0200\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-03-11 01:38+0100\n"
|
||||
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
|
||||
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 18.12.3\n"
|
||||
"X-Generator: Lokalize 19.12.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Klasszikus GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Bejelentkezés a klasszikus GNOME környezetbe"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Klasszikus GNOME Waylanden"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Klasszikus GNOME Xorgon"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Kedvencek"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Alkalmazások"
|
||||
|
||||
@@ -49,39 +60,26 @@ msgstr ""
|
||||
"Alkalmazásazonosítókat (.desktop fájl neve), majd kettősponttal elválasztva "
|
||||
"a munkaterület számát tartalmazó karakterláncok sorozata"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Alkalmazás"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Munkaterület szabályok"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Munkaterület"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Szabály hozzáadása"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Új illesztési szabály létrehozása"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Hozzáadás"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "A(z) „%s” meghajtó kiadása nem sikerült:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Cserélhető eszközök"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Fájlok megnyitása"
|
||||
|
||||
@@ -114,8 +112,8 @@ msgstr ""
|
||||
"tetejére helyezi el, az alapértelmezett alja helyett. Ezen beállítás "
|
||||
"módosítása a Shell újraindítását igényli."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Helyek"
|
||||
|
||||
@@ -134,11 +132,11 @@ msgstr "Nem sikerült a kötet csatolása ennél: „%s”"
|
||||
msgid "Computer"
|
||||
msgstr "Számítógép"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Saját mappa"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Hálózat tallózása"
|
||||
|
||||
@@ -158,43 +156,43 @@ msgstr "Témanév"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Minimalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Maximalizálás megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maximalizálás"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minden minimalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Minden minimalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Minden maximalizálása"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Minden maximalizálásának megszüntetése"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Minden bezárása"
|
||||
|
||||
@@ -216,18 +214,15 @@ msgstr ""
|
||||
"„always” (mindig)."
|
||||
|
||||
#: 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"
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Ablakok megjelenítése az összes munkaterületről"
|
||||
|
||||
#: 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 ""
|
||||
"Megjelenjenek-e az ablakok az összes munkaterületről vagy csak a jelenlegiről."
|
||||
"Megjelenjenek-e az ablakok az összes munkaterületről vagy csak a "
|
||||
"jelenlegiről."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
@@ -241,40 +236,40 @@ msgstr ""
|
||||
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
|
||||
"elsődlegesen."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ablakcsoportosítás"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Soha ne csoportosítsa az ablakokat"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ablakok csoportosítása, ha kevés a hely"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Mindig csoportosítsa az ablakokat"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Megjelenítés minden monitoron"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Munkaterület indikátor"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Munkaterületnevek"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Név"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. munkaterület"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Munkaterület hozzáadása"
|
||||
|
||||
122
po/id.po
122
po/id.po
@@ -4,14 +4,14 @@
|
||||
#
|
||||
# Andika Triwidada <andika@gmail.com>, 2012, 2013.
|
||||
# Dirgita <dirgitadevina@yahoo.co.id>, 2012.
|
||||
# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2019.
|
||||
# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2019, 2020, 2022.
|
||||
msgid ""
|
||||
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-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-16 15:43+0700\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2022-01-05 10:23+0700\n"
|
||||
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
|
||||
"Language-Team: Indonesian <gnome@i15n.org>\n"
|
||||
"Language: id\n"
|
||||
@@ -20,21 +20,30 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Klasik"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Sesi ini memasukkan Anda ke GNOME Klasik"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "GNOME Klasik di Wayland"
|
||||
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Klasik di Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Favorit"
|
||||
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Aplikasi"
|
||||
|
||||
@@ -50,39 +59,26 @@ msgstr ""
|
||||
"Daftar string, masing-masing memuat id aplikasi (nama berkas desktop), "
|
||||
"diikuti oleh titik dua dan nomor ruang kerja"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikasi"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Aturan Ruang Kerja"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Ruang Kerja"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Tambah Aturan"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Buat aturan pencocokan baru"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Tambah"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Saat mengeluarkan drive \"%s\" gagal:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Perangkat yang dapat dilepas"
|
||||
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Buka Berkas"
|
||||
|
||||
@@ -115,8 +111,8 @@ msgstr ""
|
||||
"masing, menimpa bawaan shell yang menempatkannya di bagian bawah. Mengubah "
|
||||
"ini memerlukan memulai ulang shell agar berdampak."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Tempat"
|
||||
|
||||
@@ -135,11 +131,11 @@ msgstr "Gagal mengaitkan volume untuk \"%s\""
|
||||
msgid "Computer"
|
||||
msgstr "Komputer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Rumah"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Ramban Jaringan"
|
||||
|
||||
@@ -159,43 +155,43 @@ msgstr "Nama tema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Nama tema, untuk dimuat dari ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Tak minimalkan"
|
||||
|
||||
#: extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalkan"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Tak maksimalkan"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimalkan"
|
||||
|
||||
#: extensions/window-list/extension.js:431
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimalkan semua"
|
||||
|
||||
#: extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Tak minimalkan semua"
|
||||
|
||||
#: extensions/window-list/extension.js:443
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimalkan semua"
|
||||
|
||||
#: extensions/window-list/extension.js:451
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Tak maksimalkan semua"
|
||||
|
||||
#: extensions/window-list/extension.js:459
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Tutup semua"
|
||||
|
||||
@@ -217,7 +213,7 @@ msgstr ""
|
||||
"\" (otomatis), atau \"always\" (selalu)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Menampilkan jendela dari semua area kerja"
|
||||
|
||||
@@ -238,44 +234,56 @@ msgstr ""
|
||||
"Apakah menampilkan daftar jendela pada semua monitor yang tersambung atau "
|
||||
"hanya pada yang utama."
|
||||
|
||||
#: extensions/window-list/prefs.js:25
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Pengelompokan Jendela"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Jangan pernah kelompokkan jendela"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Kelompokkan jendela ketika ruang terbatas"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Selalu kelompokkan jendela"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Tampilkan pada semua monitor"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indikator Ruang Kerja"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nama Ruang Kerja"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Ruang Kerja %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Tambah Ruang Kerja"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplikasi"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Buat aturan pencocokan baru"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Tambah"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nama"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Cantolkan dialog modal ke jendela induk"
|
||||
|
||||
|
||||
338
po/is.po
338
po/is.po
@@ -1,99 +1,47 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017.
|
||||
# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017, 2021.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \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-08 06:07+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||
"sues\n"
|
||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
||||
"PO-Revision-Date: 2021-12-13 09:07+0000\n"
|
||||
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
|
||||
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
|
||||
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.org>\n"
|
||||
"Language: is\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-Generator: Lokalize 19.12.3\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME Klassík"
|
||||
msgstr "Hefðbundið GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
||||
#: data/gnome-classic-xorg.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Þessi seta skráir þig inn í klassískt GNOME"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Festa kvaðningarglugga við yfirglugga"
|
||||
#: data/gnome-classic-wayland.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Wayland"
|
||||
msgstr "Hefðbundið GNOME á Wayland"
|
||||
|
||||
#: 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 ""
|
||||
"Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.mutter "
|
||||
"þegar GNOME Skelin er keyrð."
|
||||
#: data/gnome-classic-xorg.desktop.in:3
|
||||
#| msgid "GNOME Classic"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "Hefðbundið GNOME á Xorg"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Staðsetning hnappa á tiltilrönd"
|
||||
|
||||
#: 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 ""
|
||||
"Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.desktop.wm."
|
||||
"þegar GNOME Skelin er keyrð."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Virkja flísalögn við jaðra þegar gluggum er sleppt á skjájaðra"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Vinnusvæði einungis á aðalskjá"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fresta breytingum á virkni í músarham þar til bendillinn hefur stöðvast"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Einungis smámynd"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Einungis táknmynd forrits"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Smámynd og táknmynd"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Birta glugga sem"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Birta eingöngu glugga á núverandi vinnusvæði"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Virkniyfirlit"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:112
|
||||
msgid "Favorites"
|
||||
msgstr "Eftirlæti"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:366
|
||||
msgid "Applications"
|
||||
msgstr "Forrit"
|
||||
|
||||
@@ -109,75 +57,29 @@ msgstr ""
|
||||
"Listi yfir textastrengi, þar sem hver þeirra inniheldur forritsauðkenni "
|
||||
"(heiti skjáborðsskrár) að viðbættum tvípunkti og svo númeri vinnusvæðis"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Forrit"
|
||||
#: extensions/auto-move-windows/prefs.js:34
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Vinnusvæðareglur"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Vinnusvæði"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:236
|
||||
msgid "Add Rule"
|
||||
msgstr "Bæta við reglu"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Búa til nýja samsvörunarreglu"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Bæta við"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Útspýting drifsins '%s' mistókst:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
msgid "Removable devices"
|
||||
msgstr "Útskiptanleg tæki"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:171
|
||||
msgid "Open Files"
|
||||
msgstr "Opna skrár"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hæ heimur!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Varatexti ávarps."
|
||||
|
||||
#: 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 ""
|
||||
"Ef þetta er ekki autt, inniheldur það textann sem birtist þegar smellt er á "
|
||||
"spjaldið."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Skilaboð"
|
||||
|
||||
#. 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-viðbótin hefur að markmiði að sýna hvernig byggja eigi vel gerðar "
|
||||
"viðbætur fyrir GNOME-Shell hefur því sem slík ekki mikið aðra virkni.\n"
|
||||
"Samt sem áður má nota hana til að sérsníða skilaboð í kvaðningu."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Nota meira af skjánum fyrir glugga"
|
||||
@@ -189,9 +91,9 @@ msgid ""
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Reyndu að nota meira af skjánum undir gluggatákn með aðlögun að "
|
||||
"stærðarhlutföllum skjásins og að þjappa þeim enn frekar til að minnka umgjörð "
|
||||
"þeirra. "
|
||||
"Þessi stilling gildir einungis með stefnu um eðlilegar staðsetningar."
|
||||
"stærðarhlutföllum skjásins og að þjappa þeim enn frekar til að minnka "
|
||||
"umgjörð þeirra. Þessi stilling gildir einungis með stefnu um eðlilegar "
|
||||
"staðsetningar."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
@@ -207,32 +109,31 @@ msgstr ""
|
||||
"öfugt við það sem sjálfgefið er í skelinni sem setur þær neðst. Breytingar á "
|
||||
"þessum stillingum krefjast þess að skelin sé endurræst svo að þær taki gildi."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:88
|
||||
#: extensions/places-menu/extension.js:91
|
||||
msgid "Places"
|
||||
msgstr "Staðir"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Mistókst að ræsa \"%s\""
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Gat ekki tengt gagnageymslu fyrir “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Mistókst að ræsa \"%s\""
|
||||
|
||||
#: 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 "Tölva"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Heim"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Flakka um net"
|
||||
|
||||
@@ -241,7 +142,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Fletta í gegnum skjámyndastærðir"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Fletta afturábak í gegnum skjámyndastærðir"
|
||||
|
||||
@@ -253,52 +153,47 @@ msgstr "Heiti þema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Heiti á þema, hlaðið inn frá ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:72
|
||||
msgid "Close"
|
||||
msgstr "Loka"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Unminimize"
|
||||
msgstr "Endurheimta"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:92
|
||||
msgid "Minimize"
|
||||
msgstr "Lágmarka"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Unmaximize"
|
||||
msgstr "Minnka glugga"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Maximize"
|
||||
msgstr "Hámarka"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Minimize all"
|
||||
msgstr "Lágmarka allt"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Unminimize all"
|
||||
msgstr "Endurheimta allt"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:446
|
||||
msgid "Maximize all"
|
||||
msgstr "Hámarka allt"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:454
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Minnka allt"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:462
|
||||
msgid "Close all"
|
||||
msgstr "Loka öllu"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Vinnusvæðavísir"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Gluggalisti"
|
||||
|
||||
@@ -307,9 +202,6 @@ msgid "When to group windows"
|
||||
msgstr "Hvenær á að hópa glugga"
|
||||
|
||||
#: 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”."
|
||||
@@ -318,49 +210,145 @@ msgstr ""
|
||||
"Möguleg gildi eru „aldrei‟, „sjálfvirkt‟ og „alltaf‟."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:86
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Birta glugga frá öllum vinnusvæðum"
|
||||
|
||||
#: 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 ""
|
||||
"Hvort birta eigi glugga frá öllum vinnusvæðum eða einungis því sem er virkt."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Sýna gluggalistann á öllum skjám"
|
||||
|
||||
#: 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 ""
|
||||
"Hvort birta eigi gluggalistann á öllum tengdum skjám eða einungis á aðalskjá."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:39
|
||||
msgid "Window Grouping"
|
||||
msgstr "Hópun glugga"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Never group windows"
|
||||
msgstr "Aldrei hópa glugga"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:64
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Hópa glugga þegar pláss er takmarkað"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:65
|
||||
msgid "Always group windows"
|
||||
msgstr "Alltaf hópa glugga"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:81
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Birta á öllum skjám"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:254
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Vinnusvæðavísir"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:33
|
||||
msgid "Workspace Names"
|
||||
msgstr "Vinnusvæðaheiti"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Heiti"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:66
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Vinnusvæði %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:207
|
||||
msgid "Add Workspace"
|
||||
msgstr "Bæta við vinnusvæði"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Festa kvaðningarglugga við yfirglugga"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.mutter "
|
||||
#~ "þegar GNOME Skelin er keyrð."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Staðsetning hnappa á tiltilrönd"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.desktop."
|
||||
#~ "wm.þegar GNOME Skelin er keyrð."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Virkja flísalögn við jaðra þegar gluggum er sleppt á skjájaðra"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Vinnusvæði einungis á aðalskjá"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Fresta breytingum á virkni í músarham þar til bendillinn hefur stöðvast"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Einungis smámynd"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Einungis táknmynd forrits"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Smámynd og táknmynd"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Birta glugga sem"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Virkniyfirlit"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Forrit"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Búa til nýja samsvörunarreglu"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Bæta við"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hæ heimur!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Varatexti ávarps."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Ef þetta er ekki autt, inniheldur það textann sem birtist þegar smellt er "
|
||||
#~ "á spjaldið."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Skilaboð"
|
||||
|
||||
#~ 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-viðbótin hefur að markmiði að sýna hvernig byggja eigi vel gerðar "
|
||||
#~ "viðbætur fyrir GNOME-Shell hefur því sem slík ekki mikið aðra virkni.\n"
|
||||
#~ "Samt sem áður má nota hana til að sérsníða skilaboð í kvaðningu."
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Heiti"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "Örgjörvi"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user