Compare commits
122 Commits
debian/3.3
...
40.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29c5131ee1 | ||
|
|
8ba229f0bb | ||
|
|
2e932eb688 | ||
|
|
c08aff38d2 | ||
|
|
721d7b271a | ||
|
|
5049ccdc99 | ||
|
|
0857b041ee | ||
|
|
a5a3523df8 | ||
|
|
06acd9ff25 | ||
|
|
1a1d45d9e4 | ||
|
|
1d3775b3d1 | ||
|
|
15c83db793 | ||
|
|
cc021589b8 | ||
|
|
5e316d37cb | ||
|
|
28dbb47937 | ||
|
|
619de9d5ee | ||
|
|
561b8aeb03 | ||
|
|
4286fd1bcc | ||
|
|
3bb0897bc1 | ||
|
|
12eedcf6f7 | ||
|
|
08d382facc | ||
|
|
96a1de92db | ||
|
|
cc2f46b837 | ||
|
|
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 |
@@ -1,33 +1,86 @@
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
|
||||
include:
|
||||
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/33:2020-11-17.0
|
||||
|
||||
stages:
|
||||
- pre_review
|
||||
- review
|
||||
- build
|
||||
|
||||
default:
|
||||
# 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"
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
JS_LOG: "js-report.txt"
|
||||
|
||||
.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'
|
||||
|
||||
check_commit_log:
|
||||
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||
stage: review
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
- 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
|
||||
|
||||
js_check:
|
||||
stage: review
|
||||
script:
|
||||
- find extensions -name '*.js' -exec js68 -c -s '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
@@ -36,18 +89,18 @@ js_check:
|
||||
eslint:
|
||||
stage: review
|
||||
script:
|
||||
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
|
||||
<<: *only_default
|
||||
- eslint -o $LINT_LOG -f junit extensions
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
when: on_failure
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
|
||||
build-bundles:
|
||||
stage: build
|
||||
needs: ["check_commit_log"]
|
||||
script:
|
||||
- ./export-zips.sh
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
name: 'Extension bundles'
|
||||
expose_as: 'Get Extension bundles here'
|
||||
|
||||
@@ -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
|
||||
124
NEWS
124
NEWS
@@ -1,3 +1,127 @@
|
||||
40.7
|
||||
====
|
||||
* Bump version
|
||||
|
||||
40.6
|
||||
====
|
||||
* window-list: Update window tracking to avoid missing icons [Florian; #372]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
40.5
|
||||
====
|
||||
* native-window-placement: Fix distorted layout in app grid [Sebastian; !189]
|
||||
* window-list: Fix on-screen keyboard [Florian; !199]
|
||||
* Misc. bug fixes [Neal; !195]
|
||||
|
||||
Contributors:
|
||||
Neal Gompa, Sebastian Keller, Florian Müllner
|
||||
|
||||
40.4
|
||||
====
|
||||
* drive-menu: Fix indicator visibility [Florian; !176]
|
||||
* Use distinct gettext domain for e.g.o uploads [Florian; #335]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
|
||||
40.3
|
||||
====
|
||||
* drive-menu: Improve detection of network mounts [Florian; !27]
|
||||
* Misc. bug fixes [Florian; #340]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
40.2
|
||||
====
|
||||
* window-list: Extend reactive area of minimap to screen edges [Adam; !171]
|
||||
* Misc. bug fixes [Florian; !172]
|
||||
|
||||
Contributors:
|
||||
Adam Goode, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Hugo Carvalho [pt], Juliano de Souza Camargo [pt]
|
||||
|
||||
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
|
||||
======
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"parentMode": "user",
|
||||
"stylesheetName": "gnome-classic.css",
|
||||
"hasOverview": false,
|
||||
"showWelcomeDialog": false,
|
||||
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
||||
"panel": { "left": ["appMenu"],
|
||||
"center": [],
|
||||
|
||||
@@ -5,3 +5,4 @@ Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME-Classic;GNOME;
|
||||
X-GDM-SessionRegisters=true
|
||||
|
||||
@@ -33,6 +33,18 @@ $variant: 'light';
|
||||
font-weight: normal;
|
||||
color: $fg_color;
|
||||
text-shadow: none;
|
||||
transition-duration: 0ms;
|
||||
border: 0;
|
||||
border-radius: 0px;
|
||||
|
||||
&.clock-display {
|
||||
.clock {
|
||||
transition-duration: 0ms;
|
||||
border: 0;
|
||||
border-radius: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: lighten($fg_color,10%);
|
||||
text-shadow: none;
|
||||
@@ -69,7 +81,6 @@ $variant: 'light';
|
||||
border-bottom: none;
|
||||
.panel-button { color: $osd_fg_color; }
|
||||
}
|
||||
.popup-menu-arrow { width: 0; height: 0; } // shell's display: none;
|
||||
}
|
||||
|
||||
#appMenu {
|
||||
|
||||
Submodule data/gnome-shell-sass updated: 940aff8ce7...9d66f7dd54
@@ -28,7 +28,42 @@ 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'
|
||||
'gnome-shell-sass/_high-contrast-colors.scss',
|
||||
'gnome-shell-sass/_widgets.scss',
|
||||
'gnome-shell-sass/widgets/_a11y.scss',
|
||||
'gnome-shell-sass/widgets/_app-grid.scss',
|
||||
'gnome-shell-sass/widgets/_base.scss',
|
||||
'gnome-shell-sass/widgets/_buttons.scss',
|
||||
'gnome-shell-sass/widgets/_calendar.scss',
|
||||
'gnome-shell-sass/widgets/_check-box.scss',
|
||||
'gnome-shell-sass/widgets/_corner-ripple.scss',
|
||||
'gnome-shell-sass/widgets/_dash.scss',
|
||||
'gnome-shell-sass/widgets/_dialogs.scss',
|
||||
'gnome-shell-sass/widgets/_entries.scss',
|
||||
'gnome-shell-sass/widgets/_hotplug.scss',
|
||||
'gnome-shell-sass/widgets/_ibus-popup.scss',
|
||||
'gnome-shell-sass/widgets/_keyboard.scss',
|
||||
'gnome-shell-sass/widgets/_login-dialog.scss',
|
||||
'gnome-shell-sass/widgets/_looking-glass.scss',
|
||||
'gnome-shell-sass/widgets/_message-list.scss',
|
||||
'gnome-shell-sass/widgets/_misc.scss',
|
||||
'gnome-shell-sass/widgets/_network-dialog.scss',
|
||||
'gnome-shell-sass/widgets/_notifications.scss',
|
||||
'gnome-shell-sass/widgets/_osd.scss',
|
||||
'gnome-shell-sass/widgets/_overview.scss',
|
||||
'gnome-shell-sass/widgets/_panel.scss',
|
||||
'gnome-shell-sass/widgets/_popovers.scss',
|
||||
'gnome-shell-sass/widgets/_screen-shield.scss',
|
||||
'gnome-shell-sass/widgets/_scrollbars.scss',
|
||||
'gnome-shell-sass/widgets/_search-entry.scss',
|
||||
'gnome-shell-sass/widgets/_search-results.scss',
|
||||
'gnome-shell-sass/widgets/_slider.scss',
|
||||
'gnome-shell-sass/widgets/_switcher-popup.scss',
|
||||
'gnome-shell-sass/widgets/_switches.scss',
|
||||
'gnome-shell-sass/widgets/_tiled-previews.scss',
|
||||
'gnome-shell-sass/widgets/_window-picker.scss',
|
||||
'gnome-shell-sass/widgets/_workspace-switcher.scss',
|
||||
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
||||
)
|
||||
|
||||
theme_data = [
|
||||
@@ -41,15 +76,20 @@ theme_data = [
|
||||
'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
|
||||
)
|
||||
stylesheet = 'gnome-classic.css'
|
||||
if fs.exists(stylesheet)
|
||||
install_data(stylesheet, install_dir: themedir)
|
||||
else
|
||||
sassc = find_program('sassc', required: true)
|
||||
custom_target(stylesheet,
|
||||
input: fs.replace_suffix(stylesheet, '.scss'),
|
||||
output: stylesheet,
|
||||
depend_files: theme_sources,
|
||||
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
|
||||
install: true,
|
||||
install_dir: themedir
|
||||
)
|
||||
endif
|
||||
|
||||
install_data(theme_data, install_dir: themedir)
|
||||
|
||||
|
||||
@@ -14,13 +14,16 @@ 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
|
||||
|
||||
olddomain=gnome-shell-extensions
|
||||
newdomain=gnome-shell-extension-$name
|
||||
sed -i "/gettext-domain/ s:$olddomain:$newdomain:" $f/metadata.json
|
||||
|
||||
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
|
||||
|
||||
if [ -f $builddir/$name.pot ]; then
|
||||
|
||||
0
extensions/.lock
Normal file
0
extensions/.lock
Normal file
@@ -12,7 +12,8 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const appSys = Shell.AppSystem.get_default();
|
||||
@@ -363,17 +364,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;
|
||||
|
||||
|
||||
@@ -72,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
|
||||
@@ -116,10 +116,12 @@ 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
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
|
||||
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const SETTINGS_KEY = 'application-list';
|
||||
|
||||
@@ -29,9 +30,9 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
margin_start: 36,
|
||||
margin_end: 36,
|
||||
});
|
||||
this.add(box);
|
||||
this.set_child(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
box.append(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Rules')),
|
||||
use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
@@ -40,9 +41,9 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
valign: Gtk.Align.START,
|
||||
show_separators: true,
|
||||
});
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
box.add(this._list);
|
||||
box.append(this._list);
|
||||
|
||||
const context = this._list.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
@@ -53,7 +54,7 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
context.add_class('frame');
|
||||
|
||||
this._list.add(new NewRuleRow());
|
||||
this._list.append(new NewRuleRow());
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this._list.insert_action_group('rules', this._actionGroup);
|
||||
@@ -84,12 +85,10 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
this._sync();
|
||||
|
||||
this.connect('destroy', () => this._settings.run_dispose());
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
_onAddActivated() {
|
||||
const dialog = new NewRuleDialog(this.get_toplevel());
|
||||
const dialog = new NewRuleDialog(this.get_root());
|
||||
dialog.connect('response', (dlg, id) => {
|
||||
const appInfo = id === Gtk.ResponseType.OK
|
||||
? dialog.get_widget().get_app_info() : null;
|
||||
@@ -101,6 +100,7 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
}
|
||||
dialog.destroy();
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
_onRemoveActivated(action, param) {
|
||||
@@ -113,7 +113,7 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
}
|
||||
|
||||
_getRuleRows() {
|
||||
return this._list.get_children().filter(row => !!row.id);
|
||||
return [...this._list].filter(row => !!row.id);
|
||||
}
|
||||
|
||||
_sync() {
|
||||
@@ -139,17 +139,11 @@ class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
|
||||
const removed = oldRules.filter(
|
||||
({ id }) => !newRules.find(r => r.id === id));
|
||||
removed.forEach(r => r.destroy());
|
||||
removed.forEach(r => this._list.remove(r));
|
||||
|
||||
this._settings.unblock_signal_handler(this._changedId);
|
||||
this._updateAction.enabled = true;
|
||||
}
|
||||
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const RuleRow = GObject.registerClass({
|
||||
@@ -165,12 +159,6 @@ const RuleRow = GObject.registerClass({
|
||||
},
|
||||
}, class RuleRow extends Gtk.ListBoxRow {
|
||||
_init(appInfo, value) {
|
||||
super._init({
|
||||
activatable: false,
|
||||
value,
|
||||
});
|
||||
this._appInfo = appInfo;
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 6,
|
||||
margin_top: 6,
|
||||
@@ -179,12 +167,19 @@ const RuleRow = GObject.registerClass({
|
||||
margin_end: 6,
|
||||
});
|
||||
|
||||
super._init({
|
||||
activatable: false,
|
||||
value,
|
||||
child: box,
|
||||
});
|
||||
this._appInfo = appInfo;
|
||||
|
||||
const icon = new Gtk.Image({
|
||||
gicon: appInfo.get_icon(),
|
||||
pixel_size: 32,
|
||||
});
|
||||
icon.get_style_context().add_class('icon-dropshadow');
|
||||
box.add(icon);
|
||||
box.append(icon);
|
||||
|
||||
const label = new Gtk.Label({
|
||||
label: appInfo.get_display_name(),
|
||||
@@ -193,7 +188,7 @@ const RuleRow = GObject.registerClass({
|
||||
max_width_chars: 20,
|
||||
ellipsize: Pango.EllipsizeMode.END,
|
||||
});
|
||||
box.add(label);
|
||||
box.append(label);
|
||||
|
||||
const spinButton = new Gtk.SpinButton({
|
||||
adjustment: new Gtk.Adjustment({
|
||||
@@ -207,26 +202,17 @@ const RuleRow = GObject.registerClass({
|
||||
this.bind_property('value',
|
||||
spinButton, 'value',
|
||||
GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
|
||||
box.add(spinButton);
|
||||
box.append(spinButton);
|
||||
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'rules.remove',
|
||||
action_target: new GLib.Variant('s', this.id),
|
||||
image: new Gtk.Image({
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
pixel_size: 16,
|
||||
}),
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
});
|
||||
box.add(button);
|
||||
box.append(button);
|
||||
|
||||
this.add(box);
|
||||
|
||||
this.connect('notify::value', () => {
|
||||
const actionGroup = this.get_action_group('rules');
|
||||
actionGroup.activate_action('update', null);
|
||||
});
|
||||
|
||||
this.show_all();
|
||||
this.connect('notify::value',
|
||||
() => this.activate_action('rules.update', null));
|
||||
}
|
||||
|
||||
get id() {
|
||||
@@ -239,19 +225,17 @@ class NewRuleRow extends Gtk.ListBoxRow {
|
||||
_init() {
|
||||
super._init({
|
||||
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.get_accessible().set_name(_('Add Rule'));
|
||||
|
||||
this.add(new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}));
|
||||
|
||||
this.show_all();
|
||||
this.update_property(
|
||||
[Gtk.AccessibleProperty.LABEL], [_('Add Rule')]);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -273,8 +257,6 @@ class NewRuleDialog extends Gtk.AppChooserDialog {
|
||||
this.get_widget().connect('application-selected',
|
||||
this._updateSensitivity.bind(this));
|
||||
this._updateSensitivity();
|
||||
|
||||
this.show();
|
||||
}
|
||||
|
||||
_updateSensitivity() {
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
// Drive menu extension
|
||||
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const ShellMountOperation = imports.ui.shellMountOperation;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
var MountMenuItem = GObject.registerClass(
|
||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(mount) {
|
||||
@@ -41,6 +42,8 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
ejectButton.connect('clicked', this._eject.bind(this));
|
||||
this.add(ejectButton);
|
||||
|
||||
this.hide();
|
||||
|
||||
this._changedId = mount.connect('changed', this._syncVisibility.bind(this));
|
||||
this._syncVisibility();
|
||||
}
|
||||
@@ -54,7 +57,21 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
super.destroy();
|
||||
}
|
||||
|
||||
_isInteresting() {
|
||||
_fsIsRemote(root) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const attr = Gio.FILE_ATTRIBUTE_FILESYSTEM_REMOTE;
|
||||
root.query_filesystem_info_async(attr, null, (o, res) => {
|
||||
try {
|
||||
const info = root.query_filesystem_info_finish(res);
|
||||
resolve(!info.get_attribute_boolean(attr));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async _isInteresting() {
|
||||
if (!this.mount.can_eject() && !this.mount.can_unmount())
|
||||
return false;
|
||||
if (this.mount.is_shadowed())
|
||||
@@ -62,17 +79,23 @@ 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 {
|
||||
return await this._fsIsRemote(root);
|
||||
} 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() {
|
||||
@@ -127,21 +150,16 @@ class DriveMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('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();
|
||||
@@ -172,6 +190,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) {
|
||||
|
||||
@@ -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,5 +0,0 @@
|
||||
extension_data += configure_file(
|
||||
input: metadata_name + '.in',
|
||||
output: metadata_name,
|
||||
configuration: metadata_conf
|
||||
)
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"extension-id": "@extension_id@",
|
||||
"uuid": "@uuid@",
|
||||
"settings-schema": "@gschemaname@",
|
||||
"gettext-domain": "@gettext_domain@",
|
||||
"name": "Horizontal workspaces",
|
||||
"description": "Use a horizontal workspace layout",
|
||||
"shell-version": [ "@shell_current@" ],
|
||||
"url": "@url@"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
/* This extensions requires no special styling */
|
||||
@@ -3,6 +3,7 @@
|
||||
const { Clutter } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const { WindowPreview } = imports.ui.windowPreview;
|
||||
const Workspace = imports.ui.workspace;
|
||||
|
||||
@@ -66,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,
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -103,7 +106,6 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
direction++;
|
||||
if (direction === 4)
|
||||
direction = 0;
|
||||
|
||||
}
|
||||
|
||||
let loopCounter = 0;
|
||||
@@ -247,23 +249,36 @@ function enable() {
|
||||
let settings = ExtensionUtils.getSettings();
|
||||
|
||||
workspaceInjections['_createBestLayout'] = Workspace.WorkspaceLayout.prototype._createBestLayout;
|
||||
Workspace.WorkspaceLayout.prototype._createBestLayout = function (area) {
|
||||
let strategy = new NaturalLayoutStrategy(settings);
|
||||
let layout = { area, strategy };
|
||||
strategy.computeLayout(this._sortedWindows, layout);
|
||||
|
||||
return layout;
|
||||
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['_init'] = WindowPreview.prototype._init;
|
||||
WindowPreview.prototype._init = function (metaWindow, workspace) {
|
||||
winInjections['_init'].call(this, metaWindow, workspace);
|
||||
WindowPreview.prototype._init = function (...args) {
|
||||
winInjections['_init'].call(this, ...args);
|
||||
|
||||
const constraint = this._title.get_constraints().find(
|
||||
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);
|
||||
constraint.factor = settings.get_boolean('window-captions-on-top')
|
||||
? 0 : 1;
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1 @@
|
||||
.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;
|
||||
}
|
||||
/* This extensions requires no special styling */
|
||||
|
||||
@@ -8,11 +8,12 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = x => x;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const PlaceDisplay = Me.imports.placeDisplay;
|
||||
|
||||
const PLACE_ICON_SIZE = 16;
|
||||
@@ -88,15 +89,12 @@ class PlacesMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('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();
|
||||
|
||||
|
||||
@@ -3,10 +3,13 @@
|
||||
const { Gio, GLib, Shell } = imports.gi;
|
||||
const Signals = imports.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 Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = x => x;
|
||||
|
||||
@@ -194,7 +197,7 @@ class PlaceDeviceInfo extends PlaceInfo {
|
||||
}
|
||||
|
||||
isRemovable() {
|
||||
return this._mount.can_eject();
|
||||
return this._mount.can_eject() || this._mount.can_unmount();
|
||||
}
|
||||
|
||||
eject() {
|
||||
@@ -486,7 +489,6 @@ var PlacesManager = class {
|
||||
}
|
||||
|
||||
_reloadBookmarks() {
|
||||
|
||||
this._bookmarks = [];
|
||||
|
||||
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
|
||||
|
||||
@@ -26,18 +26,21 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
||||
});
|
||||
|
||||
const box = new Gtk.Box();
|
||||
this.add(box);
|
||||
this.set_child(box);
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
show_separators: true,
|
||||
halign: Gtk.Align.CENTER,
|
||||
valign: Gtk.Align.START,
|
||||
hexpand: true,
|
||||
margin: 60,
|
||||
margin_start: 60,
|
||||
margin_end: 60,
|
||||
margin_top: 60,
|
||||
margin_bottom: 60,
|
||||
});
|
||||
this._list.get_style_context().add_class('frame');
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
box.add(this._list);
|
||||
box.append(this._list);
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this._list.insert_action_group('theme', this._actionGroup);
|
||||
@@ -90,11 +93,10 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
||||
}
|
||||
|
||||
_addTheme(name) {
|
||||
const row = new ThemeRow(name);
|
||||
const row = new ThemeRow(name, this._settings);
|
||||
this._rows.set(name, row);
|
||||
|
||||
this._list.add(row);
|
||||
row.show_all();
|
||||
this._list.append(row);
|
||||
}
|
||||
|
||||
async _enumerateDir(dir) {
|
||||
@@ -121,31 +123,28 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
||||
|
||||
return fileInfos.map(info => info.get_name());
|
||||
}
|
||||
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const ThemeRow = GObject.registerClass(
|
||||
class ThemeRow extends Gtk.ListBoxRow {
|
||||
_init(name) {
|
||||
this._name = new GLib.Variant('s', name);
|
||||
|
||||
super._init({
|
||||
action_name: 'theme.name',
|
||||
action_target: this._name,
|
||||
});
|
||||
_init(name, settings) {
|
||||
this._name = name;
|
||||
this._settings = settings;
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 12,
|
||||
margin: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
});
|
||||
super._init({
|
||||
action_name: 'theme.name',
|
||||
action_target: new GLib.Variant('s', name),
|
||||
child: box,
|
||||
});
|
||||
this.add(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
box.append(new Gtk.Label({
|
||||
label: name || 'Default',
|
||||
hexpand: true,
|
||||
xalign: 0,
|
||||
@@ -157,24 +156,21 @@ class ThemeRow extends Gtk.ListBoxRow {
|
||||
icon_name: 'emblem-ok-symbolic',
|
||||
pixel_size: 16,
|
||||
});
|
||||
box.add(this._checkmark);
|
||||
box.append(this._checkmark);
|
||||
|
||||
box.show_all();
|
||||
const id = this._settings.connect('changed::name',
|
||||
this._syncCheckmark.bind(this));
|
||||
this._syncCheckmark();
|
||||
|
||||
const id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
actionGroup.connect('action-state-changed::name',
|
||||
this._syncCheckmark.bind(this));
|
||||
this._syncCheckmark();
|
||||
this.connect('destroy', () => {
|
||||
this._settings.disconnect(id);
|
||||
this._settings = null;
|
||||
});
|
||||
}
|
||||
|
||||
_syncCheckmark() {
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
const state = actionGroup.get_action_state('name');
|
||||
this._checkmark.opacity = this._name.equal(state);
|
||||
const visible = this._name === this._settings.get_string('name');
|
||||
this._checkmark.opacity = visible ? 1. : 0;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -182,8 +178,5 @@ function init() {
|
||||
}
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new UserThemePrefsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new UserThemePrefsWidget();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ const Me = ExtensionUtils.getCurrentExtension();
|
||||
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
|
||||
const { WorkspaceIndicator } = Me.imports.workspaceIndicator;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ICON_TEXTURE_SIZE = 24;
|
||||
@@ -352,6 +352,9 @@ class WindowButton extends BaseButton {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
|
||||
this.metaWindow = metaWindow;
|
||||
this._skipTaskbarId = metaWindow.connect('notify::skip-taskbar', () => {
|
||||
this._updateVisibility();
|
||||
});
|
||||
this._updateVisibility();
|
||||
|
||||
this._windowTitle = new WindowTitle(this.metaWindow);
|
||||
@@ -412,6 +415,7 @@ class WindowButton extends BaseButton {
|
||||
|
||||
_onDestroy() {
|
||||
super._onDestroy();
|
||||
this.metaWindow.disconnect(this._skipTaskbarId);
|
||||
this.metaWindow.disconnect(this._workspaceChangedId);
|
||||
global.display.disconnect(this._notifyFocusId);
|
||||
this._contextMenu.destroy();
|
||||
@@ -608,7 +612,6 @@ class AppButton extends BaseButton {
|
||||
this._contextMenuManager.addMenu(this._appContextMenu);
|
||||
this.label_actor = this._multiWindowTitle.label_actor;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
_onClicked(actor, button) {
|
||||
@@ -741,28 +744,26 @@ class WindowList extends St.Widget {
|
||||
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));
|
||||
@@ -782,10 +783,14 @@ class WindowList extends St.Widget {
|
||||
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),
|
||||
};
|
||||
@@ -904,7 +909,7 @@ class WindowList extends St.Widget {
|
||||
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) -
|
||||
@@ -916,11 +921,8 @@ class WindowList extends St.Widget {
|
||||
}
|
||||
|
||||
_updateKeyboardAnchor() {
|
||||
if (!Main.keyboard.keyboardActor)
|
||||
return;
|
||||
|
||||
let translationY = Main.overview.visible ? 0 : this.height;
|
||||
Main.keyboard.keyboardActor.translation_y = -translationY;
|
||||
const translationY = Main.overview.visible ? 0 : this.height;
|
||||
Main.layoutManager.keyboardBox.translation_y = -translationY;
|
||||
}
|
||||
|
||||
_onAppStateChanged(appSys, app) {
|
||||
@@ -947,10 +949,7 @@ class WindowList extends St.Widget {
|
||||
child.destroy();
|
||||
}
|
||||
|
||||
_onWindowAdded(ws, win) {
|
||||
if (win.skip_taskbar)
|
||||
return;
|
||||
|
||||
_addWindow(win) {
|
||||
if (!this._grouped)
|
||||
this._checkGrouping();
|
||||
|
||||
@@ -961,21 +960,26 @@ class WindowList extends St.Widget {
|
||||
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.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(id);
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.metaWindow === win);
|
||||
@@ -983,44 +987,11 @@ class WindowList extends St.Widget {
|
||||
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();
|
||||
}
|
||||
@@ -1076,24 +1047,25 @@ class WindowList extends St.Widget {
|
||||
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);
|
||||
|
||||
@@ -1107,6 +1079,8 @@ class WindowList extends St.Widget {
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
ExtensionUtils.initTranslations();
|
||||
|
||||
this._windowLists = null;
|
||||
this._hideOverviewOrig = Main.overview.hide;
|
||||
}
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
|
||||
function init() {
|
||||
@@ -27,7 +28,7 @@ class WindowListPrefsWidget extends Gtk.Box {
|
||||
});
|
||||
|
||||
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
|
||||
this.add(new Gtk.Label({
|
||||
this.append(new Gtk.Label({
|
||||
label: groupingLabel, use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
}));
|
||||
@@ -37,7 +38,7 @@ class WindowListPrefsWidget extends Gtk.Box {
|
||||
spacing: 12,
|
||||
margin_bottom: 12,
|
||||
});
|
||||
this.add(box);
|
||||
this.append(box);
|
||||
|
||||
const context = box.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
@@ -70,13 +71,13 @@ class WindowListPrefsWidget extends Gtk.Box {
|
||||
continue;
|
||||
}
|
||||
|
||||
radio = new Gtk.RadioButton({
|
||||
radio = new Gtk.CheckButton({
|
||||
active: !i,
|
||||
label,
|
||||
group: radio,
|
||||
margin_end: 12,
|
||||
});
|
||||
box.add(radio);
|
||||
box.append(radio);
|
||||
|
||||
if (currentMode === mode)
|
||||
currentRadio = radio;
|
||||
@@ -94,15 +95,13 @@ class WindowListPrefsWidget extends Gtk.Box {
|
||||
label: _('Show on all monitors'),
|
||||
});
|
||||
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
this.append(check);
|
||||
|
||||
check = new Gtk.CheckButton({
|
||||
label: _('Show windows from all workspaces'),
|
||||
});
|
||||
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
|
||||
this.show_all();
|
||||
this.append(check);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
.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;
|
||||
@@ -30,7 +23,7 @@
|
||||
.window-picker-toggle > StWidget {
|
||||
color: #bbb;
|
||||
background-color: black;
|
||||
border-radius: 4px;
|
||||
border-radius: 2px;
|
||||
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);
|
||||
@@ -89,7 +82,7 @@
|
||||
background-color: rgba(200, 200, 200, .3);
|
||||
border: 1px solid #cccccc;
|
||||
padding: 0 3px;
|
||||
margin: 3px 0;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspaces-box {
|
||||
@@ -98,37 +91,23 @@
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace {
|
||||
border: 1px solid #cccccc;
|
||||
border: 2px solid #000;
|
||||
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;
|
||||
background-color: #595959;
|
||||
}
|
||||
|
||||
.window-list-workspace-indicator .workspace.active {
|
||||
background-color: rgba(200, 200, 200, .3);
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.window-list-window-preview {
|
||||
background-color: #252525;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #bebebe;
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
|
||||
.window-list-window-preview.active {
|
||||
background-color: #353535;
|
||||
border: 2px solid #ccc;
|
||||
background-color: #d4d4d4;
|
||||
}
|
||||
|
||||
.notification {
|
||||
|
||||
@@ -1,16 +1,24 @@
|
||||
/* 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 Workspace = imports.ui.workspace;
|
||||
|
||||
const { VIGNETTE_BRIGHTNESS } = imports.ui.lightbox;
|
||||
const {
|
||||
SIDE_CONTROLS_ANIMATION_TIME,
|
||||
OverviewAdjustment,
|
||||
ControlsState,
|
||||
} = imports.ui.overviewControls;
|
||||
|
||||
let MyWorkspacesDisplay = GObject.registerClass(
|
||||
class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
_init() {
|
||||
_init(controls, overviewAdjustment) {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._overviewAdjustment = overviewAdjustment;
|
||||
this._workspaceAdjustment = new St.Adjustment({
|
||||
value: workspaceManager.get_active_workspace_index(),
|
||||
lower: 0,
|
||||
@@ -24,7 +32,7 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._updateAdjustment.bind(this));
|
||||
|
||||
super._init(this._workspaceAdjustment);
|
||||
super._init(controls, this._workspaceAdjustment, this._overviewAdjustment);
|
||||
|
||||
this._workspaceAdjustment.actor = this;
|
||||
|
||||
@@ -33,19 +41,15 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
primary: true,
|
||||
work_area: true,
|
||||
}));
|
||||
|
||||
this._workareasChangedId = global.display.connect('workareas-changed',
|
||||
this._onWorkAreasChanged.bind(this));
|
||||
this._onWorkAreasChanged();
|
||||
}
|
||||
|
||||
animateToOverview(...args) {
|
||||
prepareToEnterOverview(...args) {
|
||||
if (!this._scrollEventId) {
|
||||
this._scrollEventId = Main.windowPicker.connect('scroll-event',
|
||||
this._onScrollEvent.bind(this));
|
||||
}
|
||||
|
||||
super.animateToOverview(...args);
|
||||
super.prepareToEnterOverview(...args);
|
||||
}
|
||||
|
||||
vfunc_hide(...args) {
|
||||
@@ -56,13 +60,6 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
super.vfunc_hide(...args);
|
||||
}
|
||||
|
||||
_onWorkAreasChanged() {
|
||||
let { primaryIndex } = Main.layoutManager;
|
||||
this._actualGeometry =
|
||||
Main.layoutManager.getWorkAreaForMonitor(primaryIndex);
|
||||
this._syncWorkspacesActualGeometry();
|
||||
}
|
||||
|
||||
_updateAdjustment() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._workspaceAdjustment.set({
|
||||
@@ -71,20 +68,7 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
});
|
||||
}
|
||||
|
||||
_updateWorkspacesViews() {
|
||||
super._updateWorkspacesViews();
|
||||
|
||||
this._workspacesViews.forEach(v => {
|
||||
Main.layoutManager.overviewGroup.remove_actor(v);
|
||||
Main.windowPicker.add_actor(v);
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
if (this._workareasChangedId)
|
||||
global.display.disconnect(this._workareasChangedId);
|
||||
this._workareasChangedId = 0;
|
||||
|
||||
if (this._nWorkspacesChangedId)
|
||||
global.workspace_manager.disconnect(this._nWorkspacesChangedId);
|
||||
this._nWorkspacesChangedId = 0;
|
||||
@@ -93,6 +77,69 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
}
|
||||
});
|
||||
|
||||
const MyWorkspace = GObject.registerClass(
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
_init(...args) {
|
||||
super._init(...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;
|
||||
}
|
||||
});
|
||||
|
||||
const MyWorkspaceBackground = GObject.registerClass(
|
||||
class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
|
||||
_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 = GObject.registerClass({
|
||||
Signals: {
|
||||
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
|
||||
@@ -105,7 +152,9 @@ var WindowPicker = GObject.registerClass({
|
||||
this._overlayKeyId = 0;
|
||||
this._stageKeyPressId = 0;
|
||||
|
||||
super._init();
|
||||
super._init({ reactive: true });
|
||||
|
||||
this._adjustment = new OverviewAdjustment(this);
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
@@ -116,31 +165,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._workspacesDisplay = new MyWorkspacesDisplay(this, this._adjustment);
|
||||
this.add_child(this._workspacesDisplay);
|
||||
|
||||
Main.overview.addAction = addActionOrig;
|
||||
|
||||
this._bgManagers = [];
|
||||
|
||||
this._monitorsChangedId = Main.layoutManager.connect('monitors-changed',
|
||||
this._updateBackgrounds.bind(this));
|
||||
this._updateBackgrounds();
|
||||
|
||||
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();
|
||||
@@ -150,6 +182,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;
|
||||
}
|
||||
@@ -164,9 +204,15 @@ var WindowPicker = GObject.registerClass({
|
||||
return;
|
||||
|
||||
this._fakeOverviewVisible(true);
|
||||
this._shadeBackgrounds();
|
||||
this._fakeOverviewAnimation();
|
||||
this._workspacesDisplay.animateToOverview(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) => {
|
||||
@@ -190,11 +236,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);
|
||||
@@ -203,16 +255,8 @@ 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) {
|
||||
@@ -245,6 +289,12 @@ var WindowPicker = GObject.registerClass({
|
||||
}
|
||||
|
||||
_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;
|
||||
@@ -257,18 +307,6 @@ var WindowPicker = GObject.registerClass({
|
||||
global.stage.disconnect(this._stageKeyPressId);
|
||||
this._stageKeyPressId = 0;
|
||||
}
|
||||
|
||||
_updateBackgrounds() {
|
||||
Main.overview._updateBackgrounds.call(this);
|
||||
}
|
||||
|
||||
_shadeBackgrounds() {
|
||||
Main.overview._shadeBackgrounds.call(this);
|
||||
}
|
||||
|
||||
_unshadeBackgrounds() {
|
||||
Main.overview._unshadeBackgrounds.call(this);
|
||||
}
|
||||
});
|
||||
|
||||
var WindowPickerToggle = GObject.registerClass(
|
||||
|
||||
@@ -2,13 +2,21 @@
|
||||
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 Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
let WindowPreview = GObject.registerClass(
|
||||
class WindowPreview extends St.Button {
|
||||
_init(window) {
|
||||
@@ -24,27 +32,14 @@ class WindowPreview extends St.Button {
|
||||
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));
|
||||
@@ -52,19 +47,15 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
// 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() {
|
||||
@@ -74,26 +65,42 @@ class WindowPreview extends St.Button {
|
||||
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 WorkspaceLayout = GObject.registerClass(
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
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;
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
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));
|
||||
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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -103,12 +110,19 @@ class WorkspaceThumbnail extends St.Button {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: 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
|
||||
@@ -134,16 +148,15 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -194,7 +207,39 @@ class WorkspaceThumbnail extends St.Button {
|
||||
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);
|
||||
@@ -207,6 +252,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
super._init(0.0, _('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({
|
||||
@@ -246,13 +292,13 @@ 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._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._onWorkspaceOrientationChanged();
|
||||
this._updateThumbnailVisibility();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.preferences' });
|
||||
this._settingsChangedId = this._settings.connect(
|
||||
@@ -271,12 +317,15 @@ 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._statusBin.visible = vertical;
|
||||
this._thumbnailsBox.visible = !vertical;
|
||||
this._statusBin.visible = useMenu;
|
||||
this._thumbnailsBox.visible = !useMenu;
|
||||
}
|
||||
|
||||
_onWorkspaceSwitched() {
|
||||
@@ -292,6 +341,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_nWorkspacesChanged() {
|
||||
this._updateMenu();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
|
||||
@@ -1,52 +1,20 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init */
|
||||
const { Clutter, GObject, 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;
|
||||
|
||||
class MyWindowOverlay extends Workspace.WindowOverlay {
|
||||
constructor(windowClone, parentActor) {
|
||||
super(windowClone, parentActor);
|
||||
|
||||
this._id = null;
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false,
|
||||
});
|
||||
parentActor.add_actor(this._text);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
this._parentActor.set_child_below_sibling(this._text, null);
|
||||
this._text.show();
|
||||
this._text.text = (this._windowClone.slotId + 1).toString();
|
||||
}
|
||||
|
||||
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._parentActor.set_child_below_sibling(this._text, null);
|
||||
}
|
||||
}
|
||||
const WINDOW_SLOT = 4;
|
||||
|
||||
var MyWorkspace = GObject.registerClass(
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
_init(metaWorkspace, monitorIndex) {
|
||||
super._init(metaWorkspace, monitorIndex);
|
||||
_init(...args) {
|
||||
super._init(...args);
|
||||
|
||||
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,
|
||||
@@ -61,63 +29,98 @@ class MyWorkspace extends Workspace.Workspace {
|
||||
}
|
||||
}
|
||||
|
||||
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.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.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();
|
||||
}
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
});
|
||||
|
||||
var MyWorkspacesView = GObject.registerClass(
|
||||
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||
_init(width, height, x, y, workspaces) {
|
||||
super._init(width, height, x, y, workspaces);
|
||||
_init(...args) {
|
||||
super._init(...args);
|
||||
|
||||
this._pickWorkspace = false;
|
||||
this._pickWindow = false;
|
||||
@@ -161,8 +164,8 @@ class MyWorkspacesView 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;
|
||||
@@ -244,19 +247,16 @@ class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -9,12 +9,19 @@ const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
|
||||
const TOOLTIP_OFFSET = 6;
|
||||
const TOOLTIP_ANIMATION_TIME = 150;
|
||||
|
||||
const MAX_THUMBNAILS = 6;
|
||||
|
||||
let WindowPreview = GObject.registerClass(
|
||||
class WindowPreview extends St.Button {
|
||||
_init(window) {
|
||||
@@ -30,27 +37,14 @@ class WindowPreview extends St.Button {
|
||||
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));
|
||||
@@ -58,19 +52,15 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
// 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() {
|
||||
@@ -80,26 +70,42 @@ class WindowPreview extends St.Button {
|
||||
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 WorkspaceLayout = GObject.registerClass(
|
||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
vfunc_get_preferred_width() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
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;
|
||||
vfunc_get_preferred_height() {
|
||||
return [0, 0];
|
||||
}
|
||||
|
||||
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));
|
||||
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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -109,12 +115,19 @@ class WorkspaceThumbnail extends St.Button {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
layout_manager: new WorkspaceLayout(),
|
||||
clip_to_allocation: 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
|
||||
@@ -140,16 +153,15 @@ class WorkspaceThumbnail extends St.Button {
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -200,7 +212,39 @@ class WorkspaceThumbnail extends St.Button {
|
||||
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);
|
||||
@@ -248,14 +292,14 @@ 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._settingsChangedId = this._settings.connect(
|
||||
@@ -277,16 +321,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);
|
||||
}
|
||||
@@ -303,6 +350,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_nWorkspacesChanged() {
|
||||
this._createWorkspacesSection();
|
||||
this._updateThumbnails();
|
||||
this._updateThumbnailVisibility();
|
||||
}
|
||||
|
||||
_updateMenuOrnament() {
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gdk, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = e => e;
|
||||
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
|
||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = e => e;
|
||||
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
@@ -28,9 +29,9 @@ class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
margin_start: 36,
|
||||
margin_end: 36,
|
||||
});
|
||||
this.add(box);
|
||||
this.set_child(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
box.append(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||
use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
@@ -39,10 +40,10 @@ class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
valign: Gtk.Align.START,
|
||||
show_separators: true,
|
||||
});
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
this._list.connect('row-activated', (l, row) => row.edit());
|
||||
box.add(this._list);
|
||||
box.append(this._list);
|
||||
|
||||
const context = this._list.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
@@ -53,7 +54,7 @@ class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
context.add_class('frame');
|
||||
|
||||
this._list.add(new NewWorkspaceRow());
|
||||
this._list.append(new NewWorkspaceRow());
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this._list.insert_action_group('workspaces', this._actionGroup);
|
||||
@@ -94,12 +95,10 @@ class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
this._settings.connect(`changed::${WORKSPACE_KEY}`,
|
||||
this._sync.bind(this));
|
||||
this._sync();
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
_getWorkspaceRows() {
|
||||
return this._list.get_children().filter(row => row.name);
|
||||
return [...this._list].filter(row => row.name);
|
||||
}
|
||||
|
||||
_sync() {
|
||||
@@ -111,17 +110,11 @@ class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
const removed = oldNames.filter(n => !newNames.includes(n));
|
||||
const added = newNames.filter(n => !oldNames.includes(n));
|
||||
|
||||
removed.forEach(n => rows.find(r => r.name === n).destroy());
|
||||
removed.forEach(n => this._list.remove(rows.find(r => r.name === n)));
|
||||
added.forEach(n => {
|
||||
this._list.insert(new WorkspaceRow(n), newNames.indexOf(n));
|
||||
});
|
||||
}
|
||||
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const WorkspaceRow = GObject.registerClass(
|
||||
@@ -129,6 +122,13 @@ class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
_init(name) {
|
||||
super._init({ name });
|
||||
|
||||
const controller = new Gtk.ShortcutController();
|
||||
controller.add_shortcut(new Gtk.Shortcut({
|
||||
trigger: Gtk.ShortcutTrigger.parse_string('Escape'),
|
||||
action: Gtk.CallbackAction.new(this._stopEdit.bind(this)),
|
||||
}));
|
||||
this.add_controller(controller);
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 12,
|
||||
margin_top: 6,
|
||||
@@ -145,18 +145,14 @@ class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
});
|
||||
this.bind_property('name', label, 'label',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
box.add(label);
|
||||
box.append(label);
|
||||
|
||||
const image = new Gtk.Image({
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
pixel_size: 16,
|
||||
});
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'workspaces.remove',
|
||||
action_target: new GLib.Variant('s', name),
|
||||
image,
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
});
|
||||
box.add(button);
|
||||
box.append(button);
|
||||
|
||||
this._entry = new Gtk.Entry({
|
||||
max_width_chars: 25,
|
||||
@@ -165,7 +161,7 @@ class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
this._stack = new Gtk.Stack();
|
||||
this._stack.add_named(box, 'display');
|
||||
this._stack.add_named(this._entry, 'edit');
|
||||
this.add(this._stack);
|
||||
this.child = this._stack;
|
||||
|
||||
this._entry.connect('activate', () => {
|
||||
this.name = this._entry.text;
|
||||
@@ -176,17 +172,11 @@ class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
return;
|
||||
this._stopEdit();
|
||||
});
|
||||
this._entry.connect('key-press-event',
|
||||
this._onEntryKeyPress.bind(this));
|
||||
|
||||
this.connect('notify::name', () => {
|
||||
button.action_target = new GLib.Variant('s', this.name);
|
||||
|
||||
const actionGroup = this.get_action_group('workspaces');
|
||||
actionGroup.activate_action('update', null);
|
||||
this.activate_action('workspaces.update', null);
|
||||
});
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
edit() {
|
||||
@@ -199,14 +189,6 @@ class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
this.grab_focus();
|
||||
this._stack.visible_child_name = 'display';
|
||||
}
|
||||
|
||||
_onEntryKeyPress(entry, event) {
|
||||
const [, keyval] = event.get_keyval();
|
||||
if (keyval !== Gdk.KEY_Escape)
|
||||
return Gdk.EVENT_PROPAGATE;
|
||||
this._stopEdit();
|
||||
return Gdk.EVENT_STOP;
|
||||
}
|
||||
});
|
||||
|
||||
const NewWorkspaceRow = GObject.registerClass(
|
||||
@@ -214,19 +196,17 @@ class NewWorkspaceRow extends Gtk.ListBoxRow {
|
||||
_init() {
|
||||
super._init({
|
||||
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.get_accessible().set_name(_('Add Workspace'));
|
||||
|
||||
this.add(new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}));
|
||||
|
||||
this.show_all();
|
||||
this.update_property(
|
||||
[Gtk.AccessibleProperty.LABEL], [_('Add Workspace')]);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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,4 +1,5 @@
|
||||
---
|
||||
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
||||
env:
|
||||
es6: true
|
||||
extends: 'eslint:recommended'
|
||||
@@ -24,7 +25,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
|
||||
@@ -87,6 +90,7 @@ rules:
|
||||
- error
|
||||
- all
|
||||
- conditionalAssign: false
|
||||
nestedBinaryExpressions: false
|
||||
returnAssign: false
|
||||
no-implicit-coercion:
|
||||
- error
|
||||
@@ -105,15 +109,15 @@ rules:
|
||||
no-prototype-builtins: 'off'
|
||||
no-restricted-properties:
|
||||
- error
|
||||
- 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 +133,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
|
||||
@@ -165,6 +171,9 @@ rules:
|
||||
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
|
||||
@@ -217,12 +226,12 @@ globals:
|
||||
ARGV: readonly
|
||||
Debugger: readonly
|
||||
GIRepositoryGType: readonly
|
||||
globalThis: readonly
|
||||
imports: readonly
|
||||
Intl: readonly
|
||||
log: readonly
|
||||
logError: readonly
|
||||
print: readonly
|
||||
printerr: readonly
|
||||
window: readonly
|
||||
parserOptions:
|
||||
ecmaVersion: 2017
|
||||
ecmaVersion: 2020
|
||||
|
||||
13
meson.build
13
meson.build
@@ -1,11 +1,12 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.38.1',
|
||||
version: '40.7',
|
||||
meson_version: '>= 0.44.0',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
|
||||
gettext_domain = meson.project_name()
|
||||
|
||||
fs = import('fs')
|
||||
gnome = import('gnome')
|
||||
i18n = import('i18n')
|
||||
|
||||
@@ -21,17 +22,12 @@ sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
|
||||
xsessiondir = join_paths(datadir, 'xsessions')
|
||||
|
||||
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'
|
||||
@@ -86,9 +82,10 @@ foreach e : enabled_extensions
|
||||
endforeach
|
||||
|
||||
if classic_mode_enabled
|
||||
sassc = find_program('sassc', required: true)
|
||||
subdir('data')
|
||||
endif
|
||||
|
||||
subdir('extensions')
|
||||
subdir('po')
|
||||
|
||||
meson.add_dist_script('meson/generate-stylesheets.py')
|
||||
|
||||
13
meson/generate-stylesheets.py
Normal file
13
meson/generate-stylesheets.py
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
from pathlib import PurePath
|
||||
import subprocess
|
||||
|
||||
sourceroot = os.environ.get('MESON_SOURCE_ROOT')
|
||||
distroot = os.environ.get('MESON_DIST_ROOT')
|
||||
|
||||
stylesheet_path = PurePath('data/gnome-classic.css')
|
||||
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
|
||||
dst = PurePath(distroot, stylesheet_path)
|
||||
subprocess.call(['sassc', '-a', src, dst])
|
||||
377
po/be.po
377
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: 2021-01-20 23:03+0000\n"
|
||||
"PO-Revision-Date: 2021-01-24 15:33+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,9 +18,9 @@ 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 2.4.2\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"
|
||||
|
||||
@@ -28,171 +28,69 @@ msgstr "Класічны GNOME"
|
||||
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/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "Гэты ключ засланяе ключ у org.gnome.mutter калі запушчаны GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Парадак кнопак у загалоўнай стужцы"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Гэты ключ засланяе ключ у org.gnome.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:113
|
||||
msgid "Favorites"
|
||||
msgstr "Упадабаныя"
|
||||
msgstr "Абраныя"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Праграмы"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Праграма і спіс працоўных прастораў"
|
||||
msgstr "Праграма і спіс працоўных прастор"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Спіс радкоў, кожны з якіх утрымлівае ідэнтыфікатар праграмы (імя *.desktop "
|
||||
"файла), затым двукроп'е і нумар працоўнай прасторы"
|
||||
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
|
||||
"desktop), затым двукроп'е і нумар працоўнай прасторы"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Праграма"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Правілы для працоўнай прасторы"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Працоўная прастора"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:237
|
||||
msgid "Add Rule"
|
||||
msgstr "Дадаць правіла"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Стварыць новае правіла адпаведнасці"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Дадаць"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Не ўдалося выняць прывод \"%s\":"
|
||||
msgstr "Не ўдалося выняць дыск «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Зменныя прыстасаванні"
|
||||
msgstr "Здымныя прылады"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Адкрыць файлы"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Прывітанне, свет!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Альтэрнатыўны тэкст вітання."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Калі не пуста, ўтрымлівае тэкст, які будзе паказвацца пры націсканні на "
|
||||
"панэль."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Паведамленне"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Example пакажа як ствараць пашырэнні для Shell. Сам па сабе ён мае мала "
|
||||
"функцыянальнасці.\n"
|
||||
"Тым не менш, можна змяніць тэкст прывітання."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
#, fuzzy
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
#, fuzzy
|
||||
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 "Змяшчаць загалоўкі вокнаў зверху"
|
||||
msgstr "Размяшчаць подпіс акна зверху"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
@@ -200,156 +98,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:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Месцы"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Не ўдалося прымацаваць том для \"%s\"."
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Не ўдалося запусціць \"%s\""
|
||||
msgstr "Не ўдалося запусціць «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Не ўдалося прымацаваць том для «%s»."
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Камп'ютар"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Дамашняя папка"
|
||||
msgstr "Хатняя папка"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
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:98
|
||||
msgid "Close"
|
||||
msgstr "Закрыць"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Скасаваць мінімалізацыю"
|
||||
msgstr "Скасаваць згортванне"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Мінімалізаваць"
|
||||
msgstr "Згарнуць"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Скасаваць максімалізацыю"
|
||||
msgstr "Скасаваць разгортванне"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Максімалізаваць"
|
||||
msgstr "Разгарнуць"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Мінімалізаваць усе"
|
||||
msgstr "Згарнуць усе"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Скасаваць мінімалізацыю для ўсіх"
|
||||
msgstr "Скасаваць згортванне для ўсіх"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Максімалізаваць усе"
|
||||
msgstr "Разгарнуць усе"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Скасаваць максімалізацыю для ўсіх"
|
||||
msgstr "Скасаваць разгортванне для ўсіх"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Закрыць усе"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Індыкатар працоўнай прасторы"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:737
|
||||
msgid "Window List"
|
||||
msgstr "Спіс вокнаў"
|
||||
|
||||
#: 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:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Паказваць вокны з усіх працоўных прастор"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr "Паказваць вокны з усіх працоўных прастор ці толькі з бягучай."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Паказваць спіс вокнаў на ўсіх маніторах"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml: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:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Групаванне вокнаў"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Ніколі не групаваць вокны"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Групаваць вокны калі не хапае месца"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Заўсёды групаваць вокны"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Паказаць усе маніторы"
|
||||
msgstr "Паказваць на ўсіх маніторах"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:247
|
||||
#: extensions/workspace-indicator/extension.js:253
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Індыкатар працоўнай прасторы"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Назвы працоўных прастораў"
|
||||
msgstr "Назвы працоўных прастор"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Імя"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Працоўная прастора %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:208
|
||||
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 "Імя"
|
||||
|
||||
2
po/ca.po
2
po/ca.po
@@ -83,7 +83,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"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 capsa que les envolta. Aquest paràmetre de "
|
||||
"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."
|
||||
|
||||
|
||||
111
po/eo.po
111
po/eo.po
@@ -4,36 +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: 2020-03-31 07:16+0000\n"
|
||||
"PO-Revision-Date: 2020-04-18 10:59+0200\n"
|
||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||
"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: Poedit 2.3\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:113
|
||||
msgid "Favorites"
|
||||
msgstr "Plej ŝatataj"
|
||||
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
#: extensions/apps-menu/extension.js:367
|
||||
msgid "Applications"
|
||||
msgstr "Aplikaĵoj"
|
||||
|
||||
@@ -49,39 +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:59
|
||||
msgid "Application"
|
||||
msgstr "Aplikaĵo"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Laborspacaj reguloj"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:70
|
||||
#: extensions/auto-move-windows/prefs.js:133
|
||||
msgid "Workspace"
|
||||
msgstr "Laborspaco"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:88
|
||||
#: extensions/auto-move-windows/prefs.js:237
|
||||
msgid "Add Rule"
|
||||
msgstr "Aldoni regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:110
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Krei novan kongruantan regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:116
|
||||
msgid "Add"
|
||||
msgstr "Aldoni"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Elĵeto de volumo “%s” malsukcesis:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:119
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Demeteblaj aparatoj"
|
||||
|
||||
#: extensions/drive-menu/extension.js:146
|
||||
#: extensions/drive-menu/extension.js:152
|
||||
msgid "Open Files"
|
||||
msgstr "Malfermi dosierojn"
|
||||
|
||||
@@ -113,8 +102,8 @@ msgstr ""
|
||||
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
|
||||
"la ŝelon."
|
||||
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:92
|
||||
msgid "Places"
|
||||
msgstr "Lokoj"
|
||||
|
||||
@@ -163,37 +152,37 @@ msgstr "Fermi"
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Neplejetigi"
|
||||
msgstr "Malminimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Plejetigi"
|
||||
msgstr "Minimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Nemaksimumigi"
|
||||
msgstr "Malmaksimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Plejetigi ĉiujn"
|
||||
msgstr "Minimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:435
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Neplejetigi ĉiujn"
|
||||
msgstr "Malminimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:441
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:449
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Nemaksimumigi ĉiujn"
|
||||
msgstr "Malmaksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:457
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Fermi ĉiujn"
|
||||
|
||||
@@ -214,7 +203,7 @@ msgstr ""
|
||||
"Validaj valoroj estas “neniam”, “aŭtomate” kaj ĉiam”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Montri la fenestrojn de ĉiuj laborspacoj"
|
||||
|
||||
@@ -233,44 +222,56 @@ msgid ""
|
||||
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/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:255
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Laborspaco Indikilo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laborspacaj nomoj"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:149
|
||||
msgid "Name"
|
||||
msgstr "Nomo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:189
|
||||
#: 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"
|
||||
|
||||
|
||||
34
po/fi.po
34
po/fi.po
@@ -12,20 +12,20 @@ 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: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-16 18:17+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"POT-Creation-Date: 2020-10-17 20:14+0000\n"
|
||||
"PO-Revision-Date: 2021-03-15 21:32+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.4.1\n"
|
||||
"X-Generator: Poedit 2.0.6\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"
|
||||
|
||||
@@ -50,6 +50,8 @@ 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:35
|
||||
msgid "Workspace Rules"
|
||||
@@ -84,6 +86,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"
|
||||
@@ -127,15 +132,14 @@ msgstr "Koti"
|
||||
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"
|
||||
@@ -165,27 +169,27 @@ msgstr "Palauta suurennus"
|
||||
msgid "Maximize"
|
||||
msgstr "Suurenna"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Pienennä kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Suurenna kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:448
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:456
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Sulje kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
#: extensions/window-list/extension.js:738
|
||||
msgid "Window List"
|
||||
msgstr "Ikkunaluettelo"
|
||||
|
||||
|
||||
60
po/fur.po
60
po/fur.po
@@ -8,23 +8,23 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-07-12 18:10+0200\n"
|
||||
"POT-Creation-Date: 2020-10-08 21:24+0000\n"
|
||||
"PO-Revision-Date: 2020-10-17 22:14+0200\n"
|
||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||
"Language-Team: Friulian <fur@li.org>\n"
|
||||
"Language: fur\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
"X-Generator: Poedit 2.4.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
|
||||
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
|
||||
msgid "Favorites"
|
||||
@@ -43,8 +43,8 @@ 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:35
|
||||
msgid "Workspace Rules"
|
||||
@@ -63,15 +63,15 @@ msgstr "No si è rivâts a parâ fûr la unitât “%s”»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Argagn rimovibil"
|
||||
msgstr "Dispositîfs estraibii"
|
||||
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
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 ""
|
||||
@@ -79,14 +79,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 ""
|
||||
@@ -94,9 +94,9 @@ 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:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
@@ -120,7 +120,7 @@ msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Cjase"
|
||||
msgstr "Home"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
@@ -128,11 +128,11 @@ 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"
|
||||
@@ -184,19 +184,19 @@ msgstr "Siere ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
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:100
|
||||
@@ -218,23 +218,23 @@ 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:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ingrumament balcons"
|
||||
msgstr "Intropament di barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "No ingrumâ i balcons"
|
||||
msgstr "No sta meti mai in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:59
|
||||
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:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Ingrume simpri i balcons"
|
||||
msgstr "Met simpri in grup i barcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
|
||||
47
po/gl.po
47
po/gl.po
@@ -1,29 +1,29 @@
|
||||
# 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-2020.
|
||||
#
|
||||
# Fran Diéguez <frandieguez@gnome.org>, 2011.
|
||||
# Fran Dieguez <frandieguez@gnome.org>, 2011-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: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-13 01:02+0200\n"
|
||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician <proxecto@trasno.gal>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||
"sues\n"
|
||||
"POT-Creation-Date: 2020-10-17 20:14+0000\n"
|
||||
"PO-Revision-Date: 2021-02-24 20:41+0100\n"
|
||||
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Proxecto Trasno <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: Gtranslator 3.36.0\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 clasico"
|
||||
msgstr "GNOME clásico"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
@@ -50,7 +50,6 @@ msgstr ""
|
||||
"de ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regras da área de traballo"
|
||||
|
||||
@@ -75,7 +74,7 @@ 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 ""
|
||||
@@ -83,13 +82,14 @@ msgid ""
|
||||
"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 ""
|
||||
@@ -165,27 +165,27 @@ msgstr "Restaurar"
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Restaurar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:448
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Restaurar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:456
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Pechar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
#: extensions/window-list/extension.js:738
|
||||
msgid "Window List"
|
||||
msgstr "Lista de xanelas"
|
||||
|
||||
@@ -259,7 +259,6 @@ msgid "Workspace %d"
|
||||
msgstr "Espazos de traballo %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
#| msgid "Workspace"
|
||||
msgid "Add Workspace"
|
||||
msgstr "Engadir área de traballo"
|
||||
|
||||
|
||||
360
po/ne.po
360
po/ne.po
@@ -6,320 +6,304 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extension gnome 3.14\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-09 10:57+0000\n"
|
||||
"PO-Revision-Date: 2014-09-14 21:52+0400\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: 2021-05-01 11:32+0545\n"
|
||||
"Last-Translator: Pawan Chitrakar <chautari@gmail.com>\n"
|
||||
"Language-Team: Nepali Translation Team <chautari@gmail.com>\n"
|
||||
"Language: ne\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Language: ne\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\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 "जिनोम क्लासिक"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "यो सेसन जिनोम क्लासिकमा लगईन हुन्छ"
|
||||
|
||||
#: ../data/gnome-shell-classic.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Classic"
|
||||
msgstr "जिनोम शेल क्लासिक"
|
||||
|
||||
#: ../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 ""
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
#, fuzzy
|
||||
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.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
|
||||
#: ../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 ""
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:113
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "मनपर्ने"
|
||||
|
||||
#: ../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 ""
|
||||
"स्ट्रिङहरूको सूची, प्रत्येकमा अनुप्रयोग आईडी (डेस्कटप फाइल नाम) समाविष्ट छ, त्यसपछि "
|
||||
"विराम र कार्यस्थान नम्बरद्वारा अनुगमन गरियो"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "अनुप्रयोग"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "कार्यस्थान नियम"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:69
|
||||
#: ../extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "कार्यस्थल"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "नियम थप्नुहोस्"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "मिल्ने नियम सिर्जना गर्नुहोस्"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "थप्नुहोस्..."
|
||||
|
||||
#: ../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 ""
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "\"%s\" ड्राइभ निकाल्न असफल भयो:"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:123
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "छुट्याउन मिल्ने यन्त्र"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:150
|
||||
msgid "Open File"
|
||||
msgstr "फाइल खोल्नुहोस्"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "खुला फाइल"
|
||||
|
||||
#: ../extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "हेलो विश्व"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
||||
#, fuzzy
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "युआरएल (URL) %s हो, वैकल्पिक पाठ %s हो ।"
|
||||
|
||||
#: ../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"
|
||||
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 ""
|
||||
|
||||
#: ../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
|
||||
#, fuzzy
|
||||
#: 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.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 ""
|
||||
"ठीक भएमा, सम्बन्धित थम्बनेलको माथि सञ्झ्याल क्याप्सन राख्नुहोस्, यसलाई तल राख्ने "
|
||||
"पूर्वनिर्धारित शेल अधिलेखन गर्नुहोस् । यो सेटिङ परिवर्तन गर्न कुनै प्रभाव पार्न शेल पुन: "
|
||||
"सुरुआत गर्नु आवश्यक हुन्छ ।"
|
||||
|
||||
#: ../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\""
|
||||
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/systemMonitor/extension.js:214
|
||||
msgid "CPU"
|
||||
msgstr "सीपीयू (CPU)"
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "स्क्रिनसट साइज चक्र"
|
||||
|
||||
#: ../extensions/systemMonitor/extension.js:267
|
||||
msgid "Memory"
|
||||
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.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 ""
|
||||
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
|
||||
#, fuzzy
|
||||
#: 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
|
||||
#, fuzzy
|
||||
#: 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
|
||||
#, fuzzy
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "कार्यस्थल"
|
||||
|
||||
#: ../extensions/window-list/extension.js:808
|
||||
#: 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\"."
|
||||
"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 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: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 ""
|
||||
msgstr "खाली स्थान सिमित भएको बेलामा सञ्झ्यालहरू समूह गर्नुहोस्"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "सञ्झ्याल सधैँ समुहबध्द गर्ने"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#: 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 "Add Workspace"
|
||||
msgstr "कार्यस्थल थप्नुहोस्"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "जिनोम शेल क्लासिक"
|
||||
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "सञ्झ्याल प्रबन्ध र अनुप्रयोग सुरुआत "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "टाँकहरू"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "थम्बनेल प्रतिमा मात्रै"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "अनुप्रयोग प्रतिमा मात्रै"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "थम्बनेल प्रतिमा र अनुप्रयोग प्रतिमा"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "हालको सञ्झ्याल"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "अनुप्रयोग"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "मिल्ने नियम सिर्जना गर्नुहोस्"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "थप्नुहोस्..."
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "हेलो विश्व"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "युआरएल (URL) %s हो, वैकल्पिक पाठ %s हो ।"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "सन्देश"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "सीपीयू (CPU)"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "स्मृति"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "नाम: "
|
||||
|
||||
352
po/oc.po
352
po/oc.po
@@ -6,105 +6,41 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2016-05-09 19:09+0000\n"
|
||||
"PO-Revision-Date: 2016-05-08 18:59+0200\n"
|
||||
"Last-Translator: Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>\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: 2021-05-10 22:04+0200\n"
|
||||
"Last-Translator: Quentin PAGÈS\n"
|
||||
"Language-Team: Tot En Òc\n"
|
||||
"Language: oc\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"
|
||||
"X-Generator: Poedit 2.4.3\n"
|
||||
"X-Project-Style: gnome\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 Classic"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Aquesta session vos connècta a GNOME Classic"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Estacar las bóstias de dialòg modalas a lor fenèstra parenta"
|
||||
|
||||
#: ../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 ""
|
||||
"Aquesta clau remplaça la clau dins org.gnome.mutter quand GNOME Shell es en "
|
||||
"cors d'execucion."
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "òrdre dels botons dins la barra de títol"
|
||||
|
||||
#: ../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 ""
|
||||
"Aquesta clau remplaça la clau dins org.gnome.desktop.wm.preferences quand "
|
||||
"GNOME Shell es en cors d'execucion."
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Activar la disposicion verticala quand las fenèstras son depausadas als "
|
||||
"bòrds de l'ecran"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Espacis de trabalh unicament sus l'ecran principal"
|
||||
|
||||
#: ../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 ""
|
||||
"Retardar los cambiaments de focus en mòde mirga fins al moment que lo "
|
||||
"puntador arrèsta de bolegar"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Vinheta solament"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Icòna d'aplicacion solament"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Vinheta e icòna d'aplicacion"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Presentar la fenèstra coma"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Afichar pas las fenèstras que sus l'espaci de trabalh actual"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:38
|
||||
msgid "Activities Overview"
|
||||
msgstr "Vista d'ensemble de las activitats"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:109
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favorits"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:266
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
#: ../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 "Lista d'aplicacions e d'espacis de trabalh"
|
||||
|
||||
#: ../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"
|
||||
@@ -113,76 +49,34 @@ msgstr ""
|
||||
"d'aplicacion (nom de fichièr desktop), seguit per un dos-punts e lo numèro "
|
||||
"de l'espaci de trabalh"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplicacion"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Règlas dels espacis de trabalh"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:69
|
||||
#: ../extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Espaci de trabalh"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Apondre una règla"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crear una règla novèla de concordància"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Apondre"
|
||||
|
||||
#: ../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:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "L'ejeccion del disc « %s » a fracassat :"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Periferics amovibles"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:149
|
||||
msgid "Open File"
|
||||
msgstr "Dobrir lo fichièr"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Dobrir Fichièrs"
|
||||
|
||||
#: ../extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Adieu, lo mond !"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Autre tèxte d'acuèlh."
|
||||
|
||||
#: ../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 ""
|
||||
"S'es pas void, conten lo tèxte que s'aficha quand clicatz sul tablèu de bòrd."
|
||||
|
||||
#: ../extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#. 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 ""
|
||||
"Exemple a per tòca de far veire cossí bastir de bonas èxtensions pel Shell e "
|
||||
"en tant que tal, a pas tant de foncionalitats en se qu'aquò.\n"
|
||||
"Pasmens, es possible de personalizar lo messatge d'acuèlh."
|
||||
|
||||
#: ../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 "Utilizar mai d'ecran per las fenèstras"
|
||||
|
||||
#: ../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. "
|
||||
@@ -193,11 +87,11 @@ msgstr ""
|
||||
"mai per reduire la zòna englobanta. Aqueste paramètre s'aplica pas qu'en "
|
||||
"utilizant l'estrategia de plaçament « natural »."
|
||||
|
||||
#: ../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 "Plaçar los títols de las fenèstras en dessús"
|
||||
|
||||
#: ../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 "
|
||||
@@ -207,108 +101,123 @@ msgstr ""
|
||||
"correspondenta, aquò remplaça lo comportament per defaut que los plaça en "
|
||||
"dejós. Per qu'aqueste paramètre siá pres en compte, cal reaviar lo Shell."
|
||||
|
||||
#: ../extensions/places-menu/extension.js:78
|
||||
#: ../extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Emplaçaments"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:59
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Impossible d'aviar « %s »"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:101
|
||||
#: ../extensions/places-menu/placeDisplay.js:124
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Fracàs del montatge del volum per « %s »"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Ordenador"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:267
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Dorsièr personal"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:311
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Percórrer la ret"
|
||||
|
||||
#: ../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 "Passar a la talha de captura seguenta"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Talhas de las capturas d'ecran enrèire"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Nom del tèma"
|
||||
|
||||
#: ../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 "Lo nom del tèma, de cargar a partir de ~/.themes/name/gnome-shell"
|
||||
|
||||
#: ../extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Tampar"
|
||||
|
||||
#: ../extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Restablir"
|
||||
|
||||
#: ../extensions/window-list/extension.js:121
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Reduire"
|
||||
|
||||
#: ../extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Restablir"
|
||||
|
||||
#: ../extensions/window-list/extension.js:128
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: ../extensions/window-list/extension.js:403
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Reduire tot"
|
||||
|
||||
#: ../extensions/window-list/extension.js:411
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Restablir tot"
|
||||
|
||||
#: ../extensions/window-list/extension.js:419
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar tot"
|
||||
|
||||
#: ../extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Restablir tot"
|
||||
|
||||
#: ../extensions/window-list/extension.js:437
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Tampar tot"
|
||||
|
||||
#: ../extensions/window-list/extension.js:661
|
||||
#: ../extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicator d'espaci de trabalh"
|
||||
|
||||
#: ../extensions/window-list/extension.js:820
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Lista de fenèstras"
|
||||
|
||||
#: ../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 "Quand regropar las fenèstras"
|
||||
|
||||
#: ../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 ""
|
||||
"Decidís quora regropar las fenèstras d'una meteissa aplicacion sus la lista "
|
||||
"de las fenèstras. Las valors possiblas son « never » (pas jamai), « auto » e "
|
||||
"« always » (totjorn)."
|
||||
|
||||
#: ../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:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Afichar las fenèstras de totes los espacis de trabalh"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr ""
|
||||
"Indica se cal afichar las fenèstras sus totes los espacis de trabalh o "
|
||||
"solament l'actual."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Afichar la lista de las fenèstras sus totes los ecrans"
|
||||
|
||||
#: ../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."
|
||||
@@ -316,39 +225,128 @@ msgstr ""
|
||||
"Indica se cal afichar la lista de las fenèstras sus totes los ecrans "
|
||||
"connectats o solament l'ecran principal."
|
||||
|
||||
#: ../extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Regropament de fenèstras"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Regropar pas jamai las fenèstras"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Regropar las fenèstras quand l'espaci es limitat"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Regropar totjorn las fenèstras"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Afichar sus totes los ecrans"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicator d'espaci de trabalh"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Noms dels espacis de trabalh"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espaci de trabalh %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Apondre un espaci de trabalh"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Estacar las bóstias de dialòg modalas a lor fenèstra parenta"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Aquesta clau remplaça la clau dins org.gnome.mutter quand GNOME Shell es "
|
||||
#~ "en cors d'execucion."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "òrdre dels botons dins la barra de títol"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Aquesta clau remplaça la clau dins org.gnome.desktop.wm.preferences quand "
|
||||
#~ "GNOME Shell es en cors d'execucion."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Activar la disposicion verticala quand las fenèstras son depausadas als "
|
||||
#~ "bòrds de l'ecran"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Espacis de trabalh unicament sus l'ecran principal"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Retardar los cambiaments de focus en mòde mirga fins al moment que lo "
|
||||
#~ "puntador arrèsta de bolegar"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Vinheta solament"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Icòna d'aplicacion solament"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Vinheta e icòna d'aplicacion"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Presentar la fenèstra coma"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Vista d'ensemble de las activitats"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicacion"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Crear una règla novèla de concordància"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Apondre"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Adieu, lo mond !"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Autre tèxte d'acuèlh."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "S'es pas void, conten lo tèxte que s'aficha quand clicatz sul tablèu de "
|
||||
#~ "bòrd."
|
||||
|
||||
#~ 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."
|
||||
#~ msgstr ""
|
||||
#~ "Exemple a per tòca de far veire cossí bastir de bonas èxtensions pel "
|
||||
#~ "Shell e en tant que tal, a pas tant de foncionalitats en se qu'aquò.\n"
|
||||
#~ "Pasmens, es possible de personalizar lo messatge d'acuèlh."
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nom"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell Classic"
|
||||
|
||||
|
||||
328
po/pa.po
328
po/pa.po
@@ -2,21 +2,21 @@
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
#
|
||||
# A S Alam <aalam@users.sf.net>, 2011, 2012, 2013, 2014, 2015, 2018.
|
||||
# A S Alam <aalam@users.sf.net>, 2011, 2012, 2013, 2014, 2015, 2018, 2021.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||
"sues\n"
|
||||
"POT-Creation-Date: 2018-02-20 23:07+0000\n"
|
||||
"PO-Revision-Date: 2018-03-10 09:36-0600\n"
|
||||
"Last-Translator: A S Alam <alam.yellow@gmail.com>\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2021-02-13 16:51-0800\n"
|
||||
"Last-Translator: A S Alam <aalam@satluj.org>\n"
|
||||
"Language-Team: Punjabi <punjabi-translation@googlegroups.com>\n"
|
||||
"Language: pa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 2.0\n"
|
||||
"X-Generator: Lokalize 20.08.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
@@ -27,73 +27,11 @@ msgstr "ਗਨੋਮ ਕਲਾਸਿਕ"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "ਇਹ ਸ਼ੈਸ਼ਨ ਤੁਹਾਨੂੰ ਗਨੋਮ ਕਲਾਸਿਕ ਵਿੱਚ ਲਾਗ ਕਰਦਾ ਹੈ"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "ਮੁੱਢਲੀ ਵਿੰਡੋ ਵਿੱਚ ਮਾਡਲ ਡਾਈਲਾਗ ਜੋੜੋ"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"ਇਹ ਕੁੰਜੀ ਗਨੋਮ ਸ਼ੈੱਲ ਚੱਲਣ ਦੇ ਦੌਰਾਨ org.gnome.mutter ਕੁੰਜੀ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦੀ ਹੈ।"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "ਟਾਈਟਲ-ਪੱਟੀ ਵਿੱਚ ਬਟਨਾਂ ਦਾ ਪ੍ਰਬੰਧ"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"ਇਹ ਕੁੰਜੀ ਗਨੋਮ ਸ਼ੈੱਲ ਚੱਲਣ ਦੇ ਦੌਰਾਨ org.gnome.desktop.wm.preferencesr ਕੁੰਜੀ ਨੂੰ"
|
||||
" ਅਣਡਿੱਠਾ "
|
||||
"ਕਰਦੀ ਹੈ।"
|
||||
|
||||
#: 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:19
|
||||
msgid "Thumbnail only"
|
||||
msgstr "ਕੇਵਲ ਥੰਮਨੇਲ ਹੀ"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Application icon only"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਈਕਾਨ ਹੀ"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "ਥੰਮਨੇਲ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਆਈਕਾਨ"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:34
|
||||
msgid "Present windows as"
|
||||
msgstr "ਵਿੰਡੋਜ਼ ਨੂੰ ਪੇਸ਼ ਕਰੋ"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:65
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "ਮੌਜੂਦਾ ਵਰਕਸਪੇਸ ਵਿੱਚੋਂ ਹੀ ਵਿੰਡੋਜ਼ ਹੀ ਵੇਖਾਓ"
|
||||
|
||||
#: extensions/apps-menu/extension.js:37
|
||||
msgid "Activities Overview"
|
||||
msgstr "ਸਰਗਰਮੀ ਝਲਕ"
|
||||
|
||||
#: extensions/apps-menu/extension.js:130
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "ਪਸੰਦੀਦਾ"
|
||||
|
||||
#: extensions/apps-menu/extension.js:417
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
||||
|
||||
@@ -110,81 +48,30 @@ msgstr ""
|
||||
" ਵਰਕਸਪੇਸ ਨੰਬਰ "
|
||||
"ਰੱਖਦਾ ਹੈ"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:53
|
||||
msgid "Application"
|
||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "ਵਰਕਸਪੇਸ ਨਿਯਮ"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:62
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Workspace"
|
||||
msgstr "ਵਰਕਸਪੇਸ"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:78
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "ਨਿਯਮ ਜੋੜੋ"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:98
|
||||
msgid "Create new matching rule"
|
||||
msgstr "ਨਵਾਂ ਮਿਲਾਉਣ ਨਿਯਮ ਬਣਾਓ"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:103
|
||||
msgid "Add"
|
||||
msgstr "ਜੋੜੋ"
|
||||
|
||||
#. 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 "ਡਰਾਇਵ “%s“ ਬਾਹਰ ਕੱਢਣ ਲਈ ਫੇਲ੍ਹ:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "ਫਾਇਲਾਂ ਨੂੰ ਖੋਲ੍ਹੋ"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "ਹੈਲੋ, ਵਰਲਡ!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "ਬਦਲਵਾਂ ਸਵਾਗਤੀ ਟੈਕਸਟ ਹੈ।"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"ਜੇ ਖਾਲੀ ਨਹੀਂ ਤਾਂ ਇਹ ਟੈਕਸਟ ਰੱਖਦਾ ਹੈ, ਜੋ ਕਿ ਪੈਨਲ ਨੂੰ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਵੇਖਾਇਆ"
|
||||
" ਜਾਵੇਗਾ।"
|
||||
|
||||
#: extensions/example/prefs.js:27
|
||||
msgid "Message"
|
||||
msgstr "ਸੁਨੇਹਾ"
|
||||
|
||||
#. 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 ਦਾ ਮਕਸਦ ਸ਼ੈਲ ਲਈ ਇੱਕ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਇਕਸਟੈਸ਼ਨ ਬਣਾਉਣ ਦੀ ਉਦਾਹਰਨ ਦੇਣਾ ਹੈ ਅਤੇ"
|
||||
" ਇਸ ਦਾ "
|
||||
"ਖੁਦ ਕੋਈ ਬਹੁਤਾ ਕੰਮ ਨਹੀਂ ਹੈ।\n"
|
||||
"ਫੇਰ ਵੀ ਸਵਾਗਤੀ ਸੁਨੇਹੇ ਨੂੰ ਬਦਲਣਾ ਸੰਭਵ ਹੈ।"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "ਵਿੰਡੋਜ਼ ਲਈ ਹੋਰ ਸਕਰੀਨ ਵਰਤੋਂ"
|
||||
@@ -216,32 +103,31 @@ msgstr ""
|
||||
"ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦਾ ਹੈ। ਇਹ ਸੈਟਿੰਗ ਬਦਲਾਅ ਦੇ ਚਾਲੂ ਹੋਣ ਲਈ ਸ਼ੈਲ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ"
|
||||
" ਲੋੜ ਹੈ।"
|
||||
|
||||
#: 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 "ਥਾਵਾਂ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:66
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "“%s“ ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "“%s” ਲਈ ਵਾਲੀਅਮ ਮਾਊਂਟ ਕਰਨ ਲਈ ਅਸਫ਼ਲ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:79
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "“%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 "ਕੰਪਿਊਟਰ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "ਘਰ"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "ਨੈੱਟਵਰਕ ਝਲਕ ਵੇਖੋ"
|
||||
|
||||
@@ -250,7 +136,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "ਸਾਈਕਲ ਸਕਰੀਨਸ਼ਾਟ ਆਕਾਰ"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "ਸਾਈਕਲ ਸਕਰੀਨਸ਼ਾਟ ਆਕਾਰ ਪਿੱਛੇ ਵੱਲ"
|
||||
|
||||
@@ -262,52 +147,47 @@ msgstr "ਥੀਮ ਨਾਂ"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "ਥੀਮ ਦਾ ਨਾਂ, ਜੋ ~/.themes/name/gnome-shell ਤੋਂ ਲੋਡ ਕੀਤਾ ਜਾਵੇਗਾ"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "ਬੰਦ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "ਅਣ-ਨਿਊਨਤਮ"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "ਨਿਊਨਤਮ"
|
||||
|
||||
#: extensions/window-list/extension.js:132
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "ਅਣ-ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: extensions/window-list/extension.js:133
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "ਵੱਧੋ-ਵੱਧ"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "ਸਭ ਨਿਊਨਤਮ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "ਸਭ ਅਣ-ਨਿਊਨਤਮ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "ਸਭ ਵੱਧ-ਵੱਧ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ਸਭ ਅਣ-ਵੱਧੋ-ਵੱਧ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "ਸਭ ਬੰਦ ਕਰੋ"
|
||||
|
||||
#: extensions/window-list/extension.js:646
|
||||
#: extensions/workspace-indicator/extension.js:26
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "ਵਰਕਸਪੇਸ ਇੰਡੀਕੇਟਰ"
|
||||
|
||||
#: extensions/window-list/extension.js:811
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "ਵਿੰਡੋਜ਼ ਸੂਚੀ"
|
||||
|
||||
@@ -316,61 +196,157 @@ 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\"."
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"ਵਿੰਡੋ ਲਿਸਟ ਵਿੱਚ ਇਕੋ ਕੰਮ ਦੇ ਵਿੰਡੋ ਦਾ ਗਰੁੱਪ ਕਦੋਂ ਬਣਾਉਣਾ ਹੈ, ਇਹ ਦੱਸੋ। ਸੰਭਵ ਮੁੱਲ"
|
||||
" ਹਨ “ਕਦੇ ਨਹੀਂ“, "
|
||||
"“ਆਟੋ“ ਅਤੇ “ਹਮੇਸ਼ਾ“।"
|
||||
" ਹਨ “ਕਦੇ ਨਹੀਂ“, “ਆਟੋ“ "
|
||||
"ਅਤੇ “ਹਮੇਸ਼ਾ“।"
|
||||
|
||||
#: 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/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 "ਕੀ ਸਭ ਵਰਕਸਪੇਸਾਂ ਤੋਂ ਵਿੰਡੋ ਵੇਖਣੀਆਂ ਹਨ ਜਾਂ ਸਿਰਫ਼ ਇੱਕ ਤੋਂ ਹੀ।"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "ਸਭ ਮਾਨੀਟਰਾਂ ਉੱਤੇ ਵਿੰਡੋ ਸੂਚੀ ਵੇਖਾਓ"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"ਕੀ ਸਭ ਕਨੈਕਟ ਹੋਏ ਮਾਨੀਟਰਾਂ ਉੱਤੇ ਵਿੰਡੋ ਸੂਚੀ ਦੇਖਣੀ ਹੈ ਜਾਂ ਕੇਵਲ ਪ੍ਰਾਇਮਰੀ ਉੱਤੇ ਹੀ।"
|
||||
|
||||
#: extensions/window-list/prefs.js:28
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "ਵਿੰਡੋ ਗਰੁੱਪਿੰਗ"
|
||||
|
||||
#: extensions/window-list/prefs.js:46
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "ਵਿੰਡੋ ਦਾ ਗਰੁੱਪ ਕਦੇ ਨਾ ਬਣਾਓ"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "ਜਦੋਂ ਥਾਂ ਥੋੜੀ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋਜ਼ ਦਾ ਗਰੁੱਪ ਬਣਾਓ"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "ਵਿੰਡੋ ਦਾ ਗਰੁੱਪ ਹਮੇਸ਼ਾ ਬਣਾਓ"
|
||||
|
||||
#: extensions/window-list/prefs.js:71
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "ਸਭ ਮਾਨੀਟਰਾਂ ਉੱਤੇ ਵੇਖਾਓ"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:134
|
||||
#: 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:150
|
||||
msgid "Name"
|
||||
msgstr "ਨਾਂ"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:190
|
||||
#: 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 "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 ਕੁੰਜੀ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦੀ ਹੈ।"
|
||||
|
||||
#~ 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.preferencesr ਕੁੰਜੀ ਨੂੰ ਅਣਡਿੱਠਾ "
|
||||
#~ "ਕਰਦੀ ਹੈ।"
|
||||
|
||||
#~ 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."
|
||||
#~ 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 ਦਾ ਮਕਸਦ ਸ਼ੈਲ ਲਈ ਇੱਕ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਇਕਸਟੈਸ਼ਨ ਬਣਾਉਣ ਦੀ ਉਦਾਹਰਨ ਦੇਣਾ ਹੈ ਅਤੇ ਇਸ "
|
||||
#~ "ਦਾ ਖੁਦ ਕੋਈ ਬਹੁਤਾ ਕੰਮ ਨਹੀਂ ਹੈ।\n"
|
||||
#~ "ਫੇਰ ਵੀ ਸਵਾਗਤੀ ਸੁਨੇਹੇ ਨੂੰ ਬਦਲਣਾ ਸੰਭਵ ਹੈ।"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "ਨਾਂ"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "ਗਨੋਮ ਸ਼ੈਲ ਕਲਾਸਿਕ"
|
||||
|
||||
|
||||
72
po/pt.po
72
po/pt.po
@@ -6,38 +6,45 @@
|
||||
# António Lima <amrlima@gmail.com>, 2013.
|
||||
# Pedro Albuquerque <palbuquerque73@gmail.com>, 2014.
|
||||
# Bruno Ramalhete <bram.512@gmail.com>, 2015.
|
||||
# José Vieira <jvieira33@sapo.pt>, 2020.
|
||||
# José Vieira <jvieira33@sapo.pt>, 2020-2021.
|
||||
# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
|
||||
# Juliano de Souza Camargo <julianosc@protonmail.com>, 2021.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.14\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-09-05 00:47+0100\n"
|
||||
"Last-Translator: José Vieira <jvieira33@sapo.pt>\n"
|
||||
"Language-Team: Portuguese <>\n"
|
||||
"POT-Creation-Date: 2021-06-02 16:10+0000\n"
|
||||
"PO-Revision-Date: 2021-06-07 07:21-0300\n"
|
||||
"Last-Translator: Juliano de Souza Camargo <julianosc@protonmail.com>\n"
|
||||
"Language-Team: Portuguese < >\n"
|
||||
"Language: pt\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.36.0\n"
|
||||
"X-Generator: Gtranslator 40.0\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-DL-Team: pt\n"
|
||||
"X-DL-Module: gnome-shell-extensions\n"
|
||||
"X-DL-Branch: gnome-40\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 clássico"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Esta sessão entra no GNOME clássico"
|
||||
msgstr "Esta sessão vai usar o GNOME clássico"
|
||||
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
#: extensions/apps-menu/extension.js:367
|
||||
msgid "Applications"
|
||||
msgstr "Aplicações"
|
||||
|
||||
@@ -54,11 +61,10 @@ msgstr ""
|
||||
"ficheiro desktop), seguido de dois pontos e o número da área de trabalho"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regras das áreas de trabalho"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
#: extensions/auto-move-windows/prefs.js:237
|
||||
msgid "Add Rule"
|
||||
msgstr "Adicionar regra"
|
||||
|
||||
@@ -66,7 +72,6 @@ msgstr "Adicionar regra"
|
||||
#: 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 "Falha ao ejetar a unidade '%s':"
|
||||
|
||||
@@ -74,10 +79,9 @@ msgstr "Falha ao ejetar a unidade '%s':"
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositivos removíveis"
|
||||
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:152
|
||||
msgid "Open Files"
|
||||
msgstr "Ficheiros abertos"
|
||||
msgstr "Abrir ficheiros"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
@@ -96,7 +100,7 @@ msgstr ""
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Colocar título de janelas em cima"
|
||||
msgstr "Colocar título de janela em cima"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
@@ -104,18 +108,17 @@ msgid ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Se verdadeiro, coloca títulos de janelas em cima da respectiva miniatura, "
|
||||
"Se verdadeiro, coloca títulos de janelas em cima das respectivas miniaturas, "
|
||||
"substituindo a predefinição, que as coloca no fundo. Alterar esta "
|
||||
"configuração requer reinicializar a interface para ter efeito."
|
||||
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
#: extensions/places-menu/extension.js:92
|
||||
msgid "Places"
|
||||
msgstr "Locais"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Falha ao iniciar \"%s\""
|
||||
|
||||
@@ -142,7 +145,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Percorrer os tamanhos de captura de ecrã"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Percorrer para trás os tamanhos de captura de ecrã"
|
||||
|
||||
@@ -174,27 +176,27 @@ msgstr "Desmaximizar"
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizar todas"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimizar todas"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar todas"
|
||||
|
||||
#: extensions/window-list/extension.js:448
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximizar todas"
|
||||
|
||||
#: extensions/window-list/extension.js:456
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Fechar todas"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
#: extensions/window-list/extension.js:737
|
||||
msgid "Window List"
|
||||
msgstr "Lista de janelas"
|
||||
|
||||
@@ -203,26 +205,19 @@ msgid "When to group windows"
|
||||
msgstr "Quando agrupar janelas"
|
||||
|
||||
#: 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”."
|
||||
msgstr ""
|
||||
"Decide quando agrupar janelas da mesma aplicação na lista de janelas. "
|
||||
"Valores válidos são \"nunca\", \"auto\" e \"sempre\"."
|
||||
"Decide quando agrupar janelas da mesma aplicação na lista de janelas. Os "
|
||||
"valores válidos são \"nunca\", \"auto\" e \"sempre\"."
|
||||
|
||||
#: 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 "Mostrar janelas de todas as área de trabalho"
|
||||
|
||||
#: 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 ""
|
||||
"Se deve mostrar janelas de todas as áreas de trabalho ou apenas da atual."
|
||||
@@ -259,8 +254,8 @@ msgstr "Agrupar sempre as janelas"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostrar em todos os monitores"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
#: extensions/window-list/workspaceIndicator.js:249
|
||||
#: extensions/workspace-indicator/extension.js:255
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de área de trabalho"
|
||||
|
||||
@@ -273,8 +268,7 @@ msgstr "Nomes das áreas de trabalho"
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de trabalho %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
#| msgid "Workspace"
|
||||
#: extensions/workspace-indicator/prefs.js:208
|
||||
msgid "Add Workspace"
|
||||
msgstr "Adicionar área de trabalho"
|
||||
|
||||
|
||||
114
po/sv.po
114
po/sv.po
@@ -1,26 +1,26 @@
|
||||
# Swedish translation for gnome-shell-extensions.
|
||||
# Copyright © 2011, 2012, 2014, 2015, 2017, 2019, 2020 Free Software Foundation, Inc.
|
||||
# Copyright © 2011-2021 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Daniel Nylander <po@danielnylander.se>, 2011, 2012.
|
||||
# Mattias Eriksson <snaggen@gmail.com>, 2014.
|
||||
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020.
|
||||
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020, 2021.
|
||||
#
|
||||
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: 2020-06-25 05:19+0000\n"
|
||||
"PO-Revision-Date: 2020-07-31 16:32+0200\n"
|
||||
"POT-Creation-Date: 2020-10-17 20:14+0000\n"
|
||||
"PO-Revision-Date: 2021-03-27 21:12+0100\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
"X-Generator: Poedit 2.4.2\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 Klassisk"
|
||||
|
||||
@@ -96,7 +96,7 @@ msgid ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Om sant, placera fönster titlar över respektive miniatyrbild, överskuggar "
|
||||
"Om sant, placera fönster titlar över respektive miniatyrbild, åsidosätter "
|
||||
"skalets standardplacering under miniatyrbilden. För att ändra denna "
|
||||
"inställning krävs att skalet startas om för att den ska få effekt."
|
||||
|
||||
@@ -164,27 +164,27 @@ msgstr "Avmaximera"
|
||||
msgid "Maximize"
|
||||
msgstr "Maximera"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:432
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimera alla"
|
||||
|
||||
#: extensions/window-list/extension.js:434
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Unminimize all"
|
||||
msgstr "Avminimera alla"
|
||||
|
||||
#: extensions/window-list/extension.js:440
|
||||
#: extensions/window-list/extension.js:444
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximera alla"
|
||||
|
||||
#: extensions/window-list/extension.js:448
|
||||
#: extensions/window-list/extension.js:452
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Avmaximera alla"
|
||||
|
||||
#: extensions/window-list/extension.js:456
|
||||
#: extensions/window-list/extension.js:460
|
||||
msgid "Close all"
|
||||
msgstr "Stäng alla"
|
||||
|
||||
#: extensions/window-list/extension.js:734
|
||||
#: extensions/window-list/extension.js:738
|
||||
msgid "Window List"
|
||||
msgstr "Fönsterlista"
|
||||
|
||||
@@ -259,91 +259,3 @@ msgstr "Arbetsyta %d"
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Lägg till arbetsyta"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Program"
|
||||
|
||||
#~ msgid "Workspace"
|
||||
#~ msgstr "Arbetsyta"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Skapa ny matchande regel"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Lägg till"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Namn"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Koppla samman modal dialog till föräldrafönstret"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Denna nyckel överskuggar nyckeln i org.gnome.mutter när GNOME-skalet körs."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Arrangemang för knappar i namnlisten"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Denna nyckel överskuggar nyckeln i org.gnome.desktop.wm.preferences när "
|
||||
#~ "GNOME-skalet körs."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Slå på kantdockning när fönster släpps på skärmkanter"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Arbetsytor endast på primär skärm"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Fördröj fokusändringar i musläge tills pekare slutar röra sig"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Endast miniatyrbild"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Endast programikon"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniatyrbild och programikon"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Presentera fönster som"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Aktivitetsöversikt"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hej, världen!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alternativ hälsningstext."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Om inte tom, innehåller den text som kommer att visas när man klickar på "
|
||||
#~ "panelen."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Meddelande"
|
||||
|
||||
#~ 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 ""
|
||||
#~ "Exemplet ämnar visa hur man bygger ett väluppfostrat tillägg för skalet "
|
||||
#~ "och som sådant har det lite funktionalitet i sig självt.\n"
|
||||
#~ "Hur som helst är det i alla fall möjligt att anpassa välkomstmeddelandet."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Minne"
|
||||
|
||||
309
po/vi.po
309
po/vi.po
@@ -2,15 +2,15 @@
|
||||
# Copyright © 2016 GNOME i18n Project for Vietnamese.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Nguyễn Thái Ngọc Duy <pclouds@gmail.com>, 2011.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2014, 2016, 2017.
|
||||
# Trần Ngọc Quân <vnwildman@gmail.com>, 2014, 2016, 2017, 2021.
|
||||
#
|
||||
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-03 13:30+0000\n"
|
||||
"PO-Revision-Date: 2017-09-04 14:34+0700\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: 2021-03-27 14:51+0700\n"
|
||||
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
|
||||
"Language: vi\n"
|
||||
@@ -28,72 +28,11 @@ msgstr "GNOME cổ điển"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Phiên làm việc này đăng nhập bạn vào GNOME Cổ điển"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Gắn hộp thoại dạng luôn nằm trên cửa sổ mẹ"
|
||||
|
||||
#: 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 ""
|
||||
"Khóa này sẽ đè lên khóa có trong org.gnome.mutter khi chạy Hệ vỏ GNOME."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Sắp xếp các nút trên thanh tiêu đề"
|
||||
|
||||
#: 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 ""
|
||||
"Khóa này sẽ đè lên khóa có trong org.gnome.desktop.wm.preferences khi đang "
|
||||
"chạy Hệ vỏ GNOME."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Bật xếp lớp ở cạnh khi thả cửa sổ vào cạnh màn hình"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Không gian làm việc chỉ ở trên màn hình chính"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Khoảng trễ chờ cho con chuột ngừng di chuyển"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Chỉ ảnh nhỏ"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Chỉ có ảnh nhỏ đại diện cho ứng dụng"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Ảnh thu nhỏ và biểu tượng của ứng dụng"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Cửa sổ hiện tại như là"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Chỉ hiển thị các cửa sổ trong không gian làm việc hiện tại"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Tổng quan hoạt động"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Ưa thích"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Ứng dụng"
|
||||
|
||||
@@ -109,73 +48,29 @@ msgstr ""
|
||||
"Một danh sách chuỗi, mỗi chuỗi là một mã số của ứng dụng (tên tập tin ."
|
||||
"desktop), theo sau là dấu hai chấm và mã số không gian làm việc"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Ứng dụng"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Thước Không gian làm việc"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Không gian làm việc"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Thêm quy tắc"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Tạo mới một quy tắc khớp mẫu"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Thêm"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Gặp lỗi khi đẩy đĩa “%s” ra:"
|
||||
msgstr "Gặp lỗi khi đẩy hệ thống tập tin “%s” ra:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Đĩa di động"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Mở tập tin"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Xin chào!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Lời chào thay thế."
|
||||
|
||||
#: 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 ""
|
||||
"Nếu không rỗng, nó sẽ chứa chữ mà chữ này sẽ được hiển thị khi bấm chuột "
|
||||
"trên bảng điều khiển."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Thông báo"
|
||||
|
||||
#. 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 ""
|
||||
"Ví dụ có mục đích hướng dẫn làm cách nào để xây dựng các phần mở rộng chạy "
|
||||
"tốt cho Hệ vỏ và do vậy nó chỉ có một ít chức năng.\n"
|
||||
"Tuy thế nó có khả năng cá nhân hóa lời chào."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Dùng nhiều màn hình cho các cửa sổ"
|
||||
@@ -204,31 +99,31 @@ msgstr ""
|
||||
"đè lên cách ứng xử mặc định của hệ vỏ là ở dưới đáy. Những thay đổi này cần "
|
||||
"khởi động lại hệ vỏ để có tác dụng."
|
||||
|
||||
#: 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 "Mở nhanh"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Gặp lỗi khi gắn đĩa cho “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Gặp lỗi khi khởi chạy \"%s\""
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Gặp lỗi khi gắn đĩa cho “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Máy tính"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Thư mục riêng"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Duyệt mạng"
|
||||
|
||||
@@ -248,52 +143,47 @@ msgstr "Tên chủ đề"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Tên của chủ đề, được tải từ ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Đóng"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Thôi thu nhỏ"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Thu nhỏ"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Thôi phóng lớn"
|
||||
msgstr "Thôi phóng hết cỡ"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Phóng to hết cỡ"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Thu nhỏ tất cả"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Thôi thu nhỏ tất cả"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Phóng to tất cả"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Thôi phóng to tất cả"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Đóng tất cả"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Bộ chỉ thị không gian làm việc"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Danh sách cửa sổ"
|
||||
|
||||
@@ -310,10 +200,21 @@ msgstr ""
|
||||
"cửa số. Các giá trị có thể là “never”, “auto” và “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 "Hiển thị các cửa sổ trong mọi không gian làm việc"
|
||||
|
||||
#: 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 ""
|
||||
"Có hiển thị các cửa sổ từ mọi không gian làm việc hay chỉ trên màn hình hiện "
|
||||
"tại mà thôi."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Hiển thị danh sách cửa sổ ở mọi màn hình"
|
||||
|
||||
#: 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."
|
||||
@@ -321,39 +222,123 @@ msgstr ""
|
||||
"Có hiển thị danh sách cửa sổ trên mọi màn hình đã kết nối hay chỉ trên màn "
|
||||
"hình chính mà thôi."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Nhóm cửa sổ lại"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Không bao giờ nhóm các cửa sổ lại với nhau"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Nhóm các cửa sổ lại với nhau khi không đủ chỗ"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Luôn nhóm các cửa sổ lại với nhau"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Hiển thị trên mọi màn hình"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Bộ chỉ thị không gian làm việc"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Tên không gian làm việc"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Tên"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Không gian làm việc %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Thêm Không gian làm việc"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Gắn hộp thoại dạng luôn nằm trên cửa sổ mẹ"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Khóa này sẽ đè lên khóa có trong org.gnome.mutter khi chạy Hệ vỏ GNOME."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Sắp xếp các nút trên thanh tiêu đề"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Khóa này sẽ đè lên khóa có trong org.gnome.desktop.wm.preferences khi "
|
||||
#~ "đang chạy Hệ vỏ GNOME."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Bật xếp lớp ở cạnh khi thả cửa sổ vào cạnh màn hình"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Không gian làm việc chỉ ở trên màn hình chính"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Khoảng trễ chờ cho con chuột ngừng di chuyển"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Chỉ ảnh nhỏ"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Chỉ có ảnh nhỏ đại diện cho ứng dụng"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Ảnh thu nhỏ và biểu tượng của ứng dụng"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Cửa sổ hiện tại như là"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Tổng quan hoạt động"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Ứng dụng"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Tạo mới một quy tắc khớp mẫu"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Thêm"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Xin chào!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Lời chào thay thế."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Nếu không rỗng, nó sẽ chứa chữ mà chữ này sẽ được hiển thị khi bấm chuột "
|
||||
#~ "trên bảng điều khiển."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Thông báo"
|
||||
|
||||
#~ 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 ""
|
||||
#~ "Ví dụ có mục đích hướng dẫn làm cách nào để xây dựng các phần mở rộng "
|
||||
#~ "chạy tốt cho Hệ vỏ và do vậy nó chỉ có một ít chức năng.\n"
|
||||
#~ "Tuy thế nó có khả năng cá nhân hóa lời chào."
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Tên"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user