Compare commits

...

145 Commits

Author SHA1 Message Date
Simon McVittie
9f25047e24 New upstream version 3.38.2 2020-12-03 10:11:14 +00:00
Florian Müllner
fb66afbf71 Bump version to 3.38.2
Update NEWS.
2020-12-03 00:14:49 +01:00
Florian Müllner
365fa6abc9 Update sass submodule 2020-12-03 00:14:49 +01:00
Florian Müllner
d7a824f35f workspace-indicator: Use overlap to determine preview visibility
In order to better reflect the actual workspace, show any preview
that is at least partially located on the monitor, not only those
that have the major part on that monitor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 50d3ee5703)
2020-12-03 00:09:21 +01:00
Florian Müllner
0d8e412220 window-list: Use overlap to determine preview visibility
In order to better reflect the actual workspace, show any preview
that is at least partially located on the monitor, not only those
that have the major part on that monitor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 08dfb78815)
2020-12-03 00:09:19 +01:00
Florian Müllner
991f6ef508 workspace-indicator: Account for monitor offset in window previews
Windows' frame rects are in screen coordinates, while the workspace
thumbnails are based on the monitor work area. Unless we account
for the difference, previews end up mispositioned in multi-monitor
setups.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 6949a5d075)
2020-12-03 00:09:16 +01:00
Florian Müllner
37f03f5e2e window-list: Account for monitor offset in window previews
Windows' frame rects are in screen coordinates, while the workspace
thumbnails are based on the monitor work area. Unless we account
for the difference, previews end up mispositioned in multi-monitor
setups.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit 893d3b0473)
2020-12-03 00:09:12 +01:00
Florian Müllner
b4a4ff0a06 workspace-indicator: Round calculated preview sizes
While not strictly necessary, there's no reason to differ from the
copy in the window-list extension ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/142>

(cherry picked from commit f5128e13f2)
2020-12-03 00:09:09 +01:00
Ray Strode
de8876bd5e window-list: Stop monitoring drag operation if window list is destroyed
If a user is in the middle of a drag in the window list and the
window list associated with the drag gets destroyed, the drag
monitor gets leaked.

Later when the drag motion is processed, spew goes to the log:

clutter_actor_contains: assertion 'CLUTTER_IS_ACTOR (self)' failed

Examples of triggers for this bug:

- The monitor topology changes
- The screen gets locked during the drag

This commit fixes the spew and the leak by ensuring any pending
drag monitoring is disabled when the window lists are destroyed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/145>

(cherry picked from commit 8318ea919f)
2020-12-03 00:08:57 +01:00
Thun Pin
5ad272e628 window-navigator: Adjust to 3.38 overview changes
gnome-shell's overview code changed significantly in 3.38,
adjust the extension to work without the separate overlay.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/259

(cherry picked from commit 737c897624)
2020-12-03 00:08:30 +01:00
Florian Müllner
3b22582752 auto-move-windows: Exclude sticky windows from empty-check
We modify gnome-shell's workspace tracker to only remove empty
workspaces from the end. However we currently don't take into
account that sticky windows appear on all workspaces, so those
are preventing any workspace from getting removed at the moment.

Exclude them when determining whether a workspace is empty to
get the expected behavior.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/135

(cherry picked from commit 61cf679b8c)
2020-12-03 00:08:07 +01:00
Florian Müllner
e734fcbd21 window-list: Adjust to overview changes
Window DND in the overview is now based on the metaWindow,
not the window actor (misnamed as "real window").

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/133
2020-11-19 04:54:07 +01:00
Florian Müllner
435879c121 workspace-indicator: Adjust to overview changes
Window DND in the overview is now based on the metaWindow,
not the window actor (misnamed as "real window").

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/133
2020-11-19 04:54:07 +01:00
Florian Müllner
ed81650f55 window-list: Use custom layout manager for thumbnails
The current code positions window previews explicitly using a fixed
layout manager. For that it relies on a valid parent allocation,
which is error-prone and frequently results in warnings.

Address this by moving the positioning code into a custom layout
manager, and only update the visibility from the window preview.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/260
2020-10-21 13:44:44 +02:00
Florian Müllner
1276a880de workspace-indicator: Use custom layout manager for thumbnails
The current code positions window previews explicitly using a fixed
layout manager. For that it relies on a valid parent allocation,
which is error-prone and frequently results in warnings.

Address this by moving the positioning code into a custom layout
manager, and only update the visibility from the window preview.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/260
2020-10-21 13:44:44 +02:00
Sergio Costas
584016c291 window-list: Honor changes in skip-taskbar property
Although window-list checks the 'skip-taskbar' property when a
window is added to the desktop to decide wether it should be
shown in the bar or not, it doesn't honor that when the property
is changed after a window has already been added. Since the new
WaylandClient API allows to change this property for already
mapped windows, supporting this is a good idea.

This patch fixes this.

Fix https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/130


(cherry picked from commit b65f362f0d)
2020-10-08 21:50:07 +00:00
Jeremy Bicha
41664b152c New upstream version 3.38.1 2020-10-06 17:36:33 -04:00
Florian Müllner
9e976f06b4 Bump version to 3.38.1
Update NEWS.
2020-10-05 20:43:21 +02:00
Florian Müllner
369801dbeb Update sass submodule 2020-10-05 20:42:16 +02:00
Yosef Or Boczko
2c3c7e8a73 Update Hebrew translation 2020-09-28 19:05:19 +00:00
Stas Solovey
bb8f34de83 Update Russian translation 2020-09-22 19:52:00 +00:00
Cheng-Chia Tseng
6c98658fe1 Update Chinese (Taiwan) translation 2020-09-22 15:07:44 +00:00
Simon McVittie
8957c277a1 New upstream version 3.38.0 2020-09-22 09:16:27 +01:00
Yacine Bouklif
3f06c2bc04 Add Kabyle translation 2020-09-19 11:51:36 +00:00
Florian Müllner
9e38b091a9 Bump version to 3.38.0
Update NEWS.
2020-09-14 22:52:43 +02:00
Rūdolfs Mazurs
62d7b883f0 Update Latvian translation 2020-09-12 09:06:28 +00:00
Milo Casagrande
e56a9c5681 Update Italian translation 2020-09-10 08:12:04 +00:00
Tim Sabsch
03aa180472 Update German translation 2020-09-09 06:04:41 +00:00
Juliano Camargo
bbb0775e1a Update Portuguese translation 2020-09-08 20:08:29 +00:00
Alan Mortensen
c41d285131 Updated Danish translation 2020-09-07 19:58:09 +02:00
Balázs Meskó
cc63876b7e Update Hungarian translation 2020-09-06 21:06:21 +00:00
Florian Müllner
08769ec0b6 Bump version to 3.37.92
Update NEWS.
2020-09-06 01:06:49 +02:00
Dušan Kazik
5615c21797 Update Slovak translation 2020-09-02 12:02:31 +00:00
Changwoo Ryu
48d2b4c902 Update Korean translation 2020-08-30 07:46:02 +00:00
Marek Černocký
a43db7233d Updated Czech translation 2020-08-28 22:21:25 +02:00
Marco Trevisan (Treviño)
8b9be8f120 New upstream version 3.37.91 2020-08-27 08:18:07 +02:00
Aurimas Černius
25143c92f4 Updated Lithuanian translation 2020-08-26 22:34:38 +03:00
Zander Brown
c4ab7e9bbf Update British English translation 2020-08-26 12:25:53 +00:00
Nathan Follens
1d082fc026 Update Dutch translation 2020-08-25 15:38:07 +00:00
Florian Müllner
75919911f5 Bump version to 3.37.91
Update NEWS.
2020-08-24 18:09:27 +02:00
Florian Müllner
bf1f129854 Update sass submodule 2020-08-24 18:07:44 +02:00
Goran Vidović
59bcc0a6a7 Update Croatian translation 2020-08-19 22:39:08 +00:00
Goran Vidović
61a54add2e Update Croatian translation 2020-08-19 22:38:38 +00:00
Марко Костић
17d07239c1 Update Serbian translation 2020-08-19 05:21:54 +00:00
Jiri Grönroos
bf8a31a6c8 Update Finnish translation 2020-08-16 15:17:57 +00:00
Rafael Fontenelle
1d2fdf5c19 Update Brazilian Portuguese translation 2020-08-16 10:30:03 +00:00
Piotr Drąg
f6ada58f5f Update Polish translation 2020-08-15 11:39:47 +02:00
Kukuh Syafaat
ebfbc397be Update Indonesian translation 2020-08-13 12:19:05 +00:00
Akarshan Biswas
02290e8bba Update Bengali (India) translation 2020-08-13 04:36:03 +00:00
Fran Dieguez
1537ac39d4 Update Galician translation 2020-08-12 23:02:45 +00:00
Florian Müllner
e39c3b4561 Bump version to 3.37.90
Update NEWS.
2020-08-11 17:32:17 +02:00
Florian Müllner
80030687d9 Update sass submodule 2020-08-11 17:30:02 +02:00
Alexandre Franke
3859c09318 Update French translation 2020-08-10 10:50:40 +00:00
Asier Sarasua Garmendia
a41cd3c19a Update Basque translation 2020-08-10 07:06:33 +00:00
Anders Jonsson
fcbdeba8c5 Update Swedish translation 2020-08-01 23:10:54 +00:00
Piotr Drąg
116f074e3b Update POTFILES.in
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/128
2020-08-01 14:38:05 +02:00
Florian Müllner
9a78c7e4f4 classic: Drop separate gnome-session definition
Originally the classic session replaced `gnome-shell.desktop` with
`gnome-shell-classic.desktop` (to add the --mode=classic parameter)
and added `nautilus-classic.desktop` (to force on desktop icons).

Neither is the case anymore (and hasn't been for years): Nowadays the
only expected difference is the GNOME_SHELL_SESSION_MODE variable and
the DesktopNames field, which are both set from the session .desktop
file rather than the gnome-session session definition.

Any difference in the latter - like not starting the USBProtection
plugin and missing systemd user session support - are bugs. The
easiest way to avoid those in the future is by removing the obsolete
duplication that enables them, so do just that.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/126
2020-07-31 08:52:51 +00:00
Efstathios Iosifidis
9a2d6d68ff Update Greek translation 2020-07-13 21:42:11 +00:00
Fabio Tomat
bc49778100 Update Friulian translation 2020-07-12 16:10:38 +00:00
Florian Müllner
67d2e2f623 Bump version to 3.37.3
Update NEWS.
2020-07-07 18:47:17 +02:00
Florian Müllner
eff625fcb8 native-window-placement: Adjust to gnome-shell changes
The extension was affected pretty badly by the window picker overhaul;
adjust to all(?) the major and minor changes to get it to work again.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/124
2020-07-07 17:39:36 +02:00
Florian Müllner
3742f79d4b window-list: Adjust to gnome-shell changes
The window picker saw a significant overhaul. Amazingly the adjustments
necessary are relatively small ...

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/124
2020-07-07 17:31:52 +02:00
Florian Müllner
b6a3503f5e window-list: Remove some dead code
Since PanelMenu.Button started to inherit from St.Widget, the custom
_allocate() function isn't called anymore.

Simply changing the function to vfunc_allocate() doesn't work as other
changes happened in the meantime, so for now just remove it altogether.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/124
2020-07-07 17:31:52 +02:00
Baurzhan Muftakhidinov
f449ab31c9 Update Kazakh translation 2020-07-02 06:40:14 +00:00
Baurzhan Muftakhidinov
920b925b12 Update Kazakh translation
(cherry picked from commit 9a8b5caca3)
2020-06-25 05:18:54 +00:00
Boyuan Yang
ad5e70b03b Update Chinese (China) translation 2020-06-23 21:15:19 +00:00
sicklylife
7beebc11f6 Update Japanese translation 2020-06-10 12:34:10 +00:00
sicklylife
1391acd71f Update Japanese translation 2020-06-10 12:18:25 +00:00
Jordi Mas
761fdf1036 Update Catalan translation 2020-06-06 14:42:37 +02:00
Florian Müllner
7f2c39cdb2 Bump version to 3.37.2
Update NEWS.
2020-06-02 22:16:25 +02:00
Matej Urbančič
b5ff860118 Updated Slovenian translation 2020-06-01 22:08:36 +02:00
Florian Müllner
aeaba3f379 window-list: Replace removed Clutter.BoxLayout method
The method was deprecated for years and has finally been removed.
Just set appropriate expand/align properties on the children and
add them with the usual add_child() method.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/122
2020-05-28 02:46:06 +02:00
Florian Müllner
f96943a4dc window-list: Replace allocation-changed signal
It has been removed in favor of notify::allocation.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/122
2020-05-28 02:46:06 +02:00
Florian Müllner
60ad2e37ff window-list: Stop using obsolete StBin properties
Those properties were deprecated (and made no-ops) last cycle, and
have now been removed altogether.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/122
2020-05-28 02:46:06 +02:00
Florian Müllner
8c53fd9590 workspace-indicator: Stop using obsolete StBin properties
Those properties were deprecated (and made no-ops) last cycle, and
have now been removed altogether.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/122
2020-05-28 02:46:06 +02:00
Daniel Șerbănescu
867ace0b0a Update Romanian translation 2020-05-22 09:14:46 +00:00
Danial Behzadi
a74862e745 Update Persian translation 2020-05-12 14:27:33 +00:00
Emin Tufan Çetin
c16f9828bd Update Turkish translation 2020-05-05 14:34:53 +00:00
Daniel Mustieles
608a8b1639 Updated Spanish translation 2020-05-04 15:45:54 +02:00
Yuri Chornoivan
7bc9b282a2 Update Ukrainian translation 2020-05-03 19:20:15 +00:00
Florian Müllner
9db7b96f24 window-list: Modernize preference dialog a bit
The current widget uses UI patterns that are reminiscent of GNOME 2.
It doesn't take a lot to make it look more modern: Simply giving the
radio group a distinct background and border allows us to move the
whole UI to the center, making the dialog more balanced and visually
pleasing.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/121
2020-05-03 19:51:24 +02:00
Florian Müllner
c87cfc822a auto-move: Overhaul preference dialog
auto-move uses the same outdated UI pattern as workspace-indicator did
until commit 90d3c5c51d, imposing the same problems for a future GTK4
port.

So replace treeview and toolbar with an editable list like we did for
the other extension.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/121
2020-05-03 19:51:24 +02:00
Laurent Bigonville
d3b687df8b New upstream version 3.36.2 2020-05-03 10:01:14 +02:00
Cheng-Chia Tseng
ff94c5a143 Update Chinese (Taiwan) translation 2020-05-02 08:06:58 +00:00
Florian Müllner
81f999f761 Bump version to 3.37.1
Update NEWS.
2020-04-29 21:55:52 +02:00
Florian Müllner
17b5c0400a Update sass submodule 2020-04-29 21:49:53 +02:00
Florian Müllner
ac937b9549 user-theme: Make rows non-selectable
A row has to be activated to select a theme, not merely selected.
The selection therefore doesn't do anything, so disable it.
2020-04-29 21:44:13 +02:00
Daniel Mustieles
0c223de045 Updated Spanish translation 2020-04-28 17:47:14 +02:00
Anders Jonsson
564235d44c Update Swedish translation 2020-04-26 18:52:30 +00:00
Yuri Chornoivan
92a2361306 Update Ukrainian translation 2020-04-25 08:07:50 +00:00
Danial Behzadi
9f27654729 Update Persian translation 2020-04-24 20:13:04 +00:00
Dz Chen
f4013c7a5c Update Chinese (China) translation 2020-04-18 09:59:29 +00:00
Kristjan SCHMIDT
9e7eff4a3e Update Esperanto translation
(cherry picked from commit c5246b7415)
2020-04-18 09:00:54 +00:00
Florian Müllner
5b2bdd138a user-themes: Support session mode styles
Session mode stylesheets are installed in gnome-shell's theme
directory instead of a subdirectory of the global themes direc-
tory.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/118
2020-04-17 16:33:03 +00:00
Florian Müllner
90d3c5c51d workspace-indicator: Overhaul prefs widget
Inline toolbars are an outdated UI pattern, and both the toolbar widget
and the inline styling have been removed from GTK4. Making sure the
extension doesn't get in the way of a future GTK4 port is a good excuse
for modernizing the UI, so do just that :-)

Replace treeview and toolbar with an editable list as outline in the HIG:
https://developer.gnome.org/hig/stable/lists.html.en

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/120
2020-04-17 17:54:15 +02:00
Milan Crha
b00e531626 window-list: Invalid current mode selected in Preferences
It seems that gtk+ resets the active radio whenever a new radio button
is added into the group, thus rather restore the current mode after
the group is fully populated.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/119
2020-04-17 09:37:13 +02:00
Florian Müllner
b1c1b01184 po: Update POTFILES.in
The user-themes extension actually never had translatable strings.
2020-04-12 04:41:53 +02:00
Florian Müllner
739b1e11a0 user-themes: Add preference widget
While we don't endorse or support 3rd party theming, the extension
exists and is actively used. However right now the most convenient
way of setting it up is by installing Tweak Tool; give users an
alternative by providing a simple settings dialog ourselves.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/117
2020-04-12 04:13:25 +02:00
Florian Müllner
a3541ff0d9 ci: Drop "regular" build job
We already do a meson build/install when exporting extension bundles, and
now that the syntax check is handled by the CI instead of `meson test`,
the job just duplicates work.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:08:11 +02:00
Florian Müllner
8fb5476a1c build: Drop syntax-checks from meson test
Those checks are just as well handled by the CI, and removing them
makes for a nice build system cleanup.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:08:02 +02:00
Florian Müllner
fc8a46f15a ci: Syntax-check js sources
This is currently done as part of `ninja test`, but doing the check
in a separate CI job means it can run in parallel with other review
jobs and fail before trying to build.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:55 +02:00
Florian Müllner
2e21f7cf72 ci: Combine commit/source checks under 'review'
The current names are an artifact from when flatpak-ci used
review/stop_review jobs. 'review' is a much better name and
matches what gnome-shell itself uses.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:45 +02:00
Florian Müllner
a317d79016 ci: Set a default image
All jobs but one use the same issue, so specify that globally instead
of for each job.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:37 +02:00
Florian Müllner
4722b89cc3 cleanup: Don't linebreak before closing parentheses
Otherwise recent versions of eslint want "dangling" commas,
which is at least ugly considering that most functions don't
allow adding arguments at leisure.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:03:38 +02:00
Florian Müllner
5a4b71ba90 ci: Create and expose extension bundles
Similar to how we let CI create flatpaks for application, create
and expose extension bundles for easier testing.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:57:09 +02:00
Florian Müllner
a6ee142f21 build: Omit unneeded translations from zip files
Each extension zip we create includes the translations of all extensions,
which is clearly wasteful. Avoid that by generating per-extension .pot
files and filtering out unnecessary translations.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:11:43 +02:00
Florian Müllner
35427ed4f1 build: Use gnome-extensions-tool for zipping up
The tool has a dedicated command for creating an extension bundle. It
knows how to handle translations and GSettings schemas, so we don't
have to.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:11:43 +02:00
Florian Müllner
bce63d3168 places-menu: Emphasize eject buttons here as well
We already align the buttons correctly here, but otherwise they can
use the same treatment as in the drive-menu.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/223
2020-04-10 14:31:40 +00:00
Florian Müllner
0426d1d8d5 drive-menu: Emphasize eject buttons as distinct controls
The buttons currently appear more as an attachment to the label
than as distinct controls. Address that by:

 - applying .button styling
 - increasing spacing between label and button
 - aligning buttons at the end

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/223
2020-04-10 14:31:40 +00:00
Xiaoguang Wang
f9aaa732b2 windowPicker: Wrong signal ID _nWorkspacesNotifyId
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/106
2020-04-10 16:27:41 +02:00
Florian Müllner
7b82c5e12b ci: Update URL check
Gitlab started inserting a /-/ in its URLs, account for that.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/113
2020-04-10 16:19:27 +02:00
Simon McVittie
a4987d03b8 New upstream version 3.36.1 2020-04-02 10:14:07 +01:00
Yosef Or Boczko
db305687d5 Update Hebrew translation
(cherry picked from commit c477f10bfb)
2020-04-01 15:22:54 +00:00
Florian Müllner
f527fe3774 build: Post-release version bump
... and official start of the next development cycle.
2020-03-31 01:03:14 +02:00
Iain Lane
ac33058086 New upstream version 3.36.0 2020-03-16 12:13:26 +00:00
Marco Trevisan (Treviño)
c7a08aaf74 New upstream version 3.35.91 2020-02-24 14:48:45 +01:00
Laurent Bigonville
8c1d6d88cf New upstream version 3.34.2 2019-12-30 00:41:31 +01:00
Florian Müllner
33b16681c6 Bump version to 3.34.2
Update NEWS.
2019-12-11 22:56:08 +01:00
Umarzuki Bin Mochlis Moktar
3c51716268 Update Malay translation 2019-12-09 11:59:58 +00:00
Willy Stadnick
e5421b6cc6 screenshot-window-sizer: Fix cycling through all valid sizes
When cycling through window sizes, we should skip any sizes that are
bigger than the available area. We do that, but the current code
assumes that the possible sizes are sorted, which is no longer the
case since the addition of "phone" sizes in commit 5b43d4733c.

As a result, we may now skip sizes that would fit perfectly fine.
Address this by filtering out invalid sizes beforehand instead of
assuming a certain order (wich no longer work due to the addition
of a portrait format).

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/97
2019-11-27 20:56:55 +01:00
Florian Müllner
f1e7ae1010 workspace-indicator: Exclude DESKTOP windows from window previews
While nautilus removed its desktop support a while ago in favor of an
extension, it's still possible that some external X11 desktop icon app
is used. As DESKTOP windows cannot be moved between workspaces or stacked,
and aren't perceived as regular windows, it doesn't make sense to show
them as previews in the workspace switcher.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/93
2019-11-21 22:47:01 +01:00
Florian Müllner
10fe907c83 window-list: Exclude DESKTOP windows from window previews
While nautilus removed its desktop support a while ago in favor of an
extension, it's still possible that some external X11 desktop icon app
is used. As DESKTOP windows cannot be moved between workspaces or stacked,
and aren't perceived as regular windows, it doesn't make sense to show
them as previews in the workspace switcher.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/93
2019-11-21 22:47:01 +01:00
Stas Solovey
ae9809caba Update Russian translation 2019-11-13 18:42:24 +00:00
Jeremy Bicha
c95d197c5c New upstream version 3.34.1 2019-10-08 22:45:42 -04:00
Iain Lane
ae8749b7e1 New upstream version 3.34.0 2019-09-10 10:53:04 +01:00
Iain Lane
84a548c0b9 New upstream version 3.33.92 2019-09-05 18:21:22 +01:00
Marco Trevisan (Treviño)
f047cb0baf New upstream version 3.33.90 2019-08-13 04:25:54 +02:00
Iain Lane
28494941e1 New upstream version 3.32.0 2019-03-12 16:33:30 +00:00
Iain Lane
b70059ac4d New upstream version 3.31.92 2019-03-06 15:39:47 +00:00
Iain Lane
eb567c1120 New upstream version 3.31.90 2019-02-21 10:08:46 +00:00
Simon McVittie
b1eb9b9080 New upstream version 3.30.1 2018-11-02 09:22:09 +00:00
Jeremy Bicha
a0b6535210 New upstream version 3.30.0 2018-09-05 12:32:25 -04:00
Simon McVittie
9a9b3afa31 New upstream version 3.29.91 2018-08-20 19:55:42 +01:00
Simon McVittie
59bc054ef6 New upstream version 3.29.90 2018-08-02 10:32:10 +01:00
Simon McVittie
57e9dfe722 Merge remote-tracking branch 'origin/upstream/latest' into upstream/latest 2018-07-27 09:14:56 +01:00
Simon McVittie
f17a519c38 New upstream version 3.29.3 2018-07-27 08:43:26 +01:00
Jeremy Bicha
8223ca9739 New upstream version 3.28.1 2018-05-14 21:50:46 -04:00
Jeremy Bicha
fe20c27b60 New upstream version 3.28.0 2018-03-15 21:28:20 -04:00
Jeremy Bicha
5ba59d1096 New upstream version 3.27.92 2018-03-05 20:55:43 -05:00
Jeremy Bicha
0ad1e9bbc1 New upstream version 3.27.91 2018-02-23 19:30:14 -05:00
Jeremy Bicha
5ea14f063f New upstream version 3.26.2 2017-12-15 15:11:42 -05:00
Jeremy Bicha
3cc3d03f0b Initial upstream branch 2017-12-15 15:11:26 -05:00
Florian Müllner
057e5bb0c1 Bump version to 3.26.2
Update NEWS.
2017-11-02 19:51:10 +01:00
Florian Müllner
07fc66765d auto-move: Remove unused imports 2017-10-27 14:45:09 +02:00
Xavi Ivars
daa7b9b6ab [l10n] Updated Catalan (Valencian) translation 2017-10-05 14:02:06 +02:00
114 changed files with 7165 additions and 3527 deletions

29
.gitignore vendored
View File

@@ -1,29 +0,0 @@
ABOUT-NLS
Makefile
Makefile.in
Makefile.in.in
aclocal.m4
autom4te.cache/
config/
configure
config.log
config.status
data/*.json
m4/
po/*.header
po/*.sed
po/*.sin
po/Makevars.template
po/POTFILES
po/Rules-quot
po/gnome-shell-extensions.pot
po/stamp-it
staging/
zip-files/
*~
*.gmo
metadata.json
*.desktop
*.gschema.valid
*.session

View File

@@ -1,40 +0,0 @@
stages:
- commit_check
- source_check
- build
variables:
LINT_LOG: "eslint-report.txt"
.only_default: &only_default
only:
- branches
- tags
- merge_requests
check_commit_log:
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
stage: commit_check
script:
- ./.gitlab-ci/check-commit-log.sh
only:
- merge_requests
eslint:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
stage: source_check
script:
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
<<: *only_default
artifacts:
paths:
- ${LINT_LOG}
when: on_failure
build-shell-extensions:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
stage: build
script:
- meson _build .
- ninja -C _build test install
<<: *only_default

View File

@@ -1,31 +0,0 @@
#!/usr/bin/env bash
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
echo Cannot review non-merge request
exit 1
fi
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
branch_point=$(git merge-base HEAD FETCH_HEAD)
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
if [ -z "$commits" ]; then
echo Commit range empty
exit 1
fi
function commit_message_has_url() {
commit=$1
commit_message=$(git show -s --format='format:%b' $commit)
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(-/\)\?\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
return $?
}
for commit in $commits; do
if ! commit_message_has_url $commit; then
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
exit 1
fi
done

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "data/gnome-shell-sass"]
path = data/gnome-shell-sass
url = https://gitlab.gnome.org/GNOME/gnome-shell-sass.git

97
NEWS
View File

@@ -1,17 +1,102 @@
3.36.2
3.38.2
======
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106]
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
* window-list, workspace-indicator: Improve previews in workspace thumbs
[Florian; #260, !142]
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
* Misc. bug fixes [Ray; !145]
Contributors:
Florian Müllner, Xiaoguang Wang
Sergio Costas, Florian Müllner, Thun Pin, Ray Strode
3.38.1
======
Contributors:
Yacine Bouklif, Florian Müllner
Translators:
Yosef Or Boczko [he], Kristjan SCHMIDT [eo]
3.36.1
Yacine Bouklif [kab], Cheng-Chia Tseng [zh_TW], Stas Solovey [ru],
Yosef Or Boczko [he]
3.38.0
======
Translators:
Daniel Korostil [uk]
Balázs Meskó [hu], Alan Mortensen [da], Juliano Camargo [pt], Tim Sabsch [de],
Milo Casagrande [it], Rūdolfs Mazurs [lv]
3.37.92
=======
Translators:
Nathan Follens [nl], Zander Brown [en_GB], Aurimas Černius [lt],
Marek Černocký [cs], Changwoo Ryu [ko], Dušan Kazik [sk]
3.37.91
=======
Contributors:
Florian Müllner
Translators:
Fran Dieguez [gl], Akarshan Biswas [bn_IN], Kukuh Syafaat [id],
Piotr Drąg [pl], Rafael Fontenelle [pt_BR], Jiri Grönroos [fi],
Марко Костић [sr], Goran Vidović [hr]
3.37.90
=======
* Misc. bug fixes and cleanups [Florian, Piotr; !126, !128]
Contributors:
Piotr Drąg, Florian Müllner
Translators:
Fabio Tomat [fur], Efstathios Iosifidis [el], Anders Jonsson [sv],
Asier Sarasua Garmendia [eu], Alexandre Franke [fr]
3.37.3
======
* window-list, native-window-placement: Adjust to shell changes [Florian; !124]
Contributors:
Florian Müllner
Translators:
Jordi Mas [ca], sicklylife [ja], Boyuan Yang [zh_CN],
Baurzhan Muftakhidinov [kk]
3.37.2
======
* window-list, auto-move: Modernize preference dialogs [Florian; !121]
* Adjust to gnome-shell changes [Florian; !122]
Contributors:
Florian Müllner
Translators:
Cheng-Chia Tseng [zh_TW], Yuri Chornoivan [uk], Daniel Mustieles [es],
Emin Tufan Çetin [tr], Danial Behzadi [fa], Daniel Șerbănescu [ro],
Matej Urbančič [sl]
3.37.1
======
* drive-menu: Emphasize eject buttons [Florian; #223]
* user-theme: Add preference dialog [Florian; !117]
* window-list: Fix inconsistent state in preference dialog [Milan; !119]
* workspace-indicator: Overhaul preference dialog [Florian; !120]
* user-theme: Support session mode styles [Florian; !118]
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106, !114, !116]
Contributors:
Milan Crha, Florian Müllner, Xiaoguang Wang
Translators:
Daniel Korostil [uk], Yosef Or Boczko [he], Kristjan SCHMIDT [eo],
Dz Chen [zh_CN], Danial Behzadi [fa], Yuri Chornoivan [uk],
Anders Jonsson [sv], Daniel Mustieles [es]
3.36.0
======

View File

@@ -1,7 +1,7 @@
[Desktop Entry]
Name=GNOME Classic
Comment=This session logs you into GNOME Classic
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;

View File

@@ -1,3 +0,0 @@
[GNOME Session]
Name=GNOME Classic
RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;

View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

View File

@@ -0,0 +1,16 @@
# GNOME Shell Sass
GNOME Shell Sass is a project intended to allow the sharing of the
theme sources in sass between gnome-shell and other projects like
gnome-shell-extensions.
Any changes should be done in the [GNOME Shell subtree][shell-subtree]
and not the stand-alone [gnome-shell-sass repository][sass-repo]. They
will then be synchronized periodically before releases.
## License
GNOME Shell Sass is distributed under the terms of the GNU General Public
License, version 2 or later. See the [COPYING][license] file for details.
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/data/theme/gnome-shell-sass
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
[license]: COPYING

View File

@@ -0,0 +1,43 @@
// When color definition differs for dark and light variant,
// it gets @if ed depending on $variant
$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
$fg_color: if($variant == 'light', #2e3436, #eeeeec);
$selected_fg_color: #fff;
$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), transparentize($fg_color, 0.93));
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
$top_hilight: $borders_edge;
$warning_color: #f57900;
$error_color: #ff8080;
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
$osd_fg_color: #eeeeec;
$osd_text_color: white;
$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
$osd_borders_color: transparentize(black, 0.3);
$osd_outer_borders_color: transparentize(white, 0.84);
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
$insensitive_borders_color: mix($borders_color, $base_color, 60%);
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
$backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);

View File

@@ -0,0 +1,177 @@
//This is the RIGHT PLACE to edit the stylesheet
//let's start by telling people not to edit the generated CSS:
$cakeisalie: "This stylesheet is generated, DO NOT EDIT";
/* #{$cakeisalie} */
/* Copyright 2009, 2015 Red Hat, Inc.
*
* Portions adapted from Mx's data/style/default.css
* Copyright 2009 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* Global Values */
// padding, margin and spacing
$base_padding: 6px;
$base_margin: 4px;
$base_spacing: 6px;
// border radii
$base_border_radius: 5px;
$modal_radius:$base_border_radius * 2;
// non-standard colors
$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
// hover
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
// active
$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
// fonts
$base_font_size: 11;
$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
// icons
$base_icon_size: 1.09em;
// $base_icon_size: 16px;
// Stage
stage {
@include fontsize($base_font_size);
color: $fg_color;
}
/* Common Stylings */
// Text
%status_text {
font-size: 2em;
font-weight: bold;
color: $osd_fg_color;
}
// osd panels
%osd_panel {
color: $osd_fg_color;
background-color: $osd_bg_color;
border: 1px solid $osd_outer_borders_color;
border-radius: $base_border_radius * 2 + 4px;
padding: $base_padding * 2;
}
// Overview panels
// for the dash and workspace switcher
%overview_panel {
color: $osd_fg_color;
background-color: transparentize($osd_bg_color, 0.2);
border: 1px solid $osd_outer_borders_color;
}
// icon tiles
%icon_tile {
border-radius: $base_border_radius + 4px;
padding: $base_padding;
border: 2px solid transparent;
transition-duration: 100ms;
text-align: center;
}
// dialogs
%bubble_panel {
color: $fg_color;
background-color: $bg_color;
border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
}
// button styling
%button {
border-radius: $base_border_radius;
border-style: solid;
border-width: 1px;
min-height: 22px;
padding: $base_padding * 0.5 $base_padding * 4;
@include button(normal);
&:focus { @include button(focus);}
&:hover { @include button(hover);}
&:insensitive { @include button(insensitive);}
&:active { @include button(active);}
}
// buttons in dialogs
%bubble_button {
@include button(normal, $shadow: none);
padding: $base_padding * 2;
border-style: solid;
border-width: 1px;
border-left-width: 0;
border-bottom-width: 0;
&:insensitive { @include button(insensitive, $shadow: none); }
&:hover { @include button(hover, $shadow: none); }
&:focus { @include button(focus, $shadow: none); }
&:active { @include button(active, $shadow: none); }
// radius is 2 pixel less to fit in bubble
&:first-child {
border-radius: 0 0 0 $modal_radius - 2px;
}
&:last-child {
border-right-width: 0;
border-radius: 0 0 $modal_radius - 2px 0;
}
&:first-child:last-child {
border-radius: 0 0 $modal_radius - 2px $modal_radius - 2px;
}
}
// notification styling
@mixin notification_bubble($flat: false) {
border-width: 1px;
border-style: solid;
border-radius: $base_border_radius + 2px;
margin: $base_margin;
@if $flat {
@include button(undecorated);
} @else {
@include button(normal);
}
&:focus {
@include button(focus);
}
&:hover {
@include button(hover);
}
&:active {
@include button(active);
}
}

View File

@@ -0,0 +1,231 @@
// Drawing mixins
// generic drawing of more complex things
@function draw_widget_edge($c:$borders_edge) {
// outer highlight "used" on most widgets
@return 0 1px $c;
}
// provide font size in rem, with px fallback
@mixin fontsize($size: 24, $base: 16) {
font-size: round($size) + pt;
//font-size: ($size / $base) * 1rem;
}
@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
//
// Helper function to stack up to 4 box-shadows;
//
@if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
@else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
@else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
@else { box-shadow: $shadow1; }
}
// entries
@mixin entry($t, $fc:$selected_bg_color, $edge: $borders_edge) {
//
// Entries drawing function
//
// $t: entry type
// $fc: focus color
// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
//
// possible $t values:
// normal, focus, insensitive
//
@if $t==normal {
background-color: $base_color;
border-color: $borders_color;
}
@if $t==focus {
border-color: if($fc==$selected_bg_color,
$selected_borders_color,
darken($fc,35%));
box-shadow: inset 0 0 0 1px $fc;
}
@if $t==hover { }
@if $t==insensitive {
color: $insensitive_fg_color;
border-color: $insensitive_bg_color;
box-shadow: none;
}
}
// buttons
@function draw_border_color ($c) {
//
// colored buttons want the border form the base color
//
@return if($variant == 'light', darken($c, 18%), darken($c, 4%));
}
@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
//
// calculate the color of text shadows
//
// $tc is the text color
// $bg is the background color
//
$lbg: lightness($bg)/100%;
@if lightness($tc)<50% { @return rgba(255,255,255,$lbg/($lbg*1.3)); }
@else { @return rgba(0,0,0,1-$lbg*0.8); }
}
@function draw_button_hilight_color($c) {
//
// calculate the right top highlight color for buttons
//
// $c: base color;
//
@if lightness($c)>90% { @return white; }
@else if lightness($c)>80% { @return rgba(255,255,255, 0.7); }
@else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
@else if lightness($c)>40% { @return rgba(255,255,255, 0.3); }
@else { @return rgba(255,255,255, 0.1); }
}
@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
//
// helper function for the text emboss effect
//
// $tc is the optional text color, not the shadow color
//
// TODO: this functions needs a way to deal with special cases
//
$shadow: draw_text_shadow_color($tc, $bg);
@if lightness($tc)<50% {
text-shadow: 0 1px $shadow;
icon-shadow: 0 1px $shadow;
}
@else {
text-shadow: 0 -1px $shadow;
icon-shadow: 0 -1px $shadow;
}
}
@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge, $shadow: $shadow_color) {
//
// Button drawing function
//
// $t: button type,
// $c: base button color for colored* types
// $tc: optional text color for colored* types
// $edge: set to none to not draw the bottom edge or specify a color to not
// use the default one
// $shadow: set to none to not draw the drop shadow or specify a color to not
// use the default one
//
// possible $t values:
// normal, hover, active, insensitive, insensitive-active,
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
//
$hilight_color: draw_button_hilight_color($c);
$button_edge: if($edge == none, none, draw_widget_edge($edge));
$blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
$button_shadow: if($shadow == none, none, 0 1px 1px 0 $shadow);
// normal button
@if $t==normal {
color: $tc;
background-color: lighten($c, 3%);
border-color: draw_border_color($c);
@include draw_shadows($button_shadow);
// box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
text-shadow: 0 1px $text_shadow_color;
icon-shadow: 0 1px $text_shadow_color;
}
// focused button
@if $t==focus {
color: $tc;
text-shadow: 0 1px $text_shadow_color;
icon-shadow: 0 1px $text_shadow_color;
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
//border-color: $selected_bg_color;
}
// hover button
@else if $t==hover {
color: $tc;
background-color: lighten($c, if($variant == 'light', 8%, 5%));
border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), draw_border_color($c));
@include draw_shadows($button_shadow);
text-shadow: 0 1px $text_shadow_color;
icon-shadow: 0 1px $text_shadow_color;
}
// active button
@else if $t==active {
color: $tc;
background-color: darken($c,3%);
border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
text-shadow: none;
icon-shadow: none;
box-shadow: none;
}
// insensitive button
@else if $t==insensitive {
color: $insensitive_fg_color;
border-color: $insensitive_borders_color;
background-color: $insensitive_bg_color;
box-shadow: none;
text-shadow: none;
icon-shadow: none;
}
// reset
@else if $t==undecorated {
border-color: transparent;
background-color: transparent;
background-image: none;
@include draw_shadows(inset 0 1px rgba(255,255,255,0),$blank_edge);
text-shadow: none;
icon-shadow: none;
}
}
// overview icons
@mixin overview-icon($color) {
.overview-icon {
@extend %icon_tile;
color: $color;
}
&:hover,
&:selected {
.overview-icon {
background-color: transparentize($color, .9);
}
}
&:focus {
.overview-icon {
background-color: transparentize($color, .7);
// border-color: $selected_bg_color;
}
}
&:drop {
.overview-icon {
background-color: transparentize($selected_bg_color, .15);
}
}
&:active,
&:checked {
.overview-icon {
background-color: transparentize(darken($osd_bg_color, 10%), .5);
}
}
}

View File

@@ -0,0 +1,41 @@
// When color definition differs for dark and light variant,
// it gets @if ed depending on $variant
$base_color: #222;
$bg_color: #000;
$fg_color: #fff;
$selected_fg_color: #ffffff;
$selected_bg_color: darken(#4a90d9,20%);
$selected_borders_color: darken($selected_bg_color, 20%);
$borders_color: darken($bg_color,12%);
$borders_edge: transparentize($fg_color, 0.9);
$link_color: lighten($selected_bg_color,20%);
$link_visited_color: lighten($selected_bg_color,10%);
$top_hilight: $borders_edge;
$warning_color: #f57900;
$error_color: #cc0000;
$success_color: darken(#73d216,10%);
$destructive_color: darken(#ef2929,10%);
$osd_fg_color: #eeeeec;
$osd_bg_color: #2e3436;
$osd_borders_color: rgba(0,0,0, 0.7);
$osd_outer_borders_color: rgba(255,255,255, 0.1);
$shadow_color: rgba(0,0,0, 0.1);
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
$insensitive_borders_color: $borders_color;
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: lighten($base_color,1%);
$backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);

View File

@@ -0,0 +1,51 @@
//
// Shell widgets stylesheets are placed in separate .scss files
// in 'widgets' and imported into the main stylesheet in this file.
// To create or update a widget for the shell modify the list below.
//
/* WIDGETS */
// Primary widgets
@import 'widgets/base';
@import 'widgets/entries';
@import 'widgets/buttons';
@import 'widgets/check-box';
@import 'widgets/switches';
@import 'widgets/slider';
@import 'widgets/scrollbars';
// Popovers
@import 'widgets/popovers';
@import 'widgets/calendar';
@import 'widgets/message-list';
@import 'widgets/ibus-popup';
// Notifications
@import 'widgets/notifications';
@import 'widgets/hotplug';
// Dialogs
@import 'widgets/dialogs';
@import 'widgets/network-dialog';
// OSDs
@import 'widgets/osd';
@import 'widgets/switcher-popup';
@import 'widgets/workspace-switcher';
// Panel
@import 'widgets/panel';
@import 'widgets/corner-ripple';
// Overview
@import 'widgets/overview';
@import 'widgets/window-picker';
@import 'widgets/search-entry';
@import 'widgets/search-results';
@import 'widgets/app-grid';
@import 'widgets/dash';
@import 'widgets/workspace-thumbnails';
// A11y / misc
@import 'widgets/a11y';
@import 'widgets/misc';
@import 'widgets/tiled-previews';
@import 'widgets/keyboard';
@import 'widgets/looking-glass';
// Lock / login screens
@import 'widgets/login-dialog';
@import 'widgets/screen-shield';

View File

@@ -0,0 +1,37 @@
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">
<name xml:lang="en">GNOME Shell Sass</name>
<shortdesc xml:lang="en">Sass sources of GNOME Shell</shortdesc>
<description>GNOME Shell Sass is a project intended to allow the sharing of the
sass theme sources between gnome-shell and other projects like gnome-shell-extensions.</description>
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<programming-language>sass</programming-language>
<programming-language>css</programming-language>
<maintainer>
<foaf:Person>
<foaf:name>Carlos Soriano</foaf:name>
<foaf:mbox rdf:resource="mailto:csoriano@gnome.org" />
<gnome:userid>csoriano</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Florian Müllner</foaf:name>
<foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" />
<gnome:userid>fmuellner</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Jakub Steiner</foaf:name>
<foaf:mbox rdf:resource="mailto:jimmac@gmail.com" />
<gnome:userid>jimmac</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

View File

@@ -0,0 +1,24 @@
// Pointer location
.ripple-pointer-location {
width: $ripple_size;
height: $ripple_size;
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
}
// Pointer accessibility notifications
.pie-timer {
width: 60px;
height: 60px;
-pie-border-width: 3px;
-pie-border-color: $selected_bg_color;
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
}
// Screen zoom/Magnifier
.magnifier-zoom-region {
border: 2px solid $selected_bg_color;
&.full-screen { border-width: 0; }
}

View File

@@ -0,0 +1,152 @@
/* App Grid */
$app_icon_size: 96px;
// app icons
.icon-grid {
row-spacing: $base_spacing * 6;
column-spacing: $base_spacing * 6;
max-row-spacing: $base_spacing * 12;
max-column-spacing: $base_spacing * 12;
page-padding-top: $base_padding * 6;
page-padding-bottom: $base_padding * 6;
page-padding-left: $base_padding * 6;
page-padding-right: $base_padding * 6;
}
/* App Icons */
$app_grid_fg_color: #fff;
// Icon tiles in the app grid
.app-well-app,
%app-well-app {
@include overview-icon($app_grid_fg_color);
.overview-icon.overview-icon-with-label {
padding: 10px 8px 5px 8px;
> StBoxLayout {
spacing: $base_spacing;
}
}
}
/* App Folders */
.app-well-app.app-folder {
background-color: transparentize($osd_bg_color, 0.8);
border-radius: $base_border_radius + 4px; // same as %icon_tile
}
// expanded folder
.app-folder-dialog {
border-radius: $modal_radius * 1.5;
border: 1px solid $osd_outer_borders_color;
background-color: transparentize(darken($osd_bg_color,10%), 0.05);
padding: 12px;
& .folder-name-container {
padding: 24px 36px 0;
spacing: 12px;
& .folder-name-label,
& .folder-name-entry {
font-size: 18pt;
font-weight: 800;
}
& .folder-name-entry { width: 300px }
/* FIXME: this is to keep the label in sync with the entry */
& .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
& .edit-folder-button {
@extend %button;
padding: 0;
width: 36px;
height: 36px;
border-radius: 18px;
& > StIcon { icon-size: 16px }
}
}
& .icon-grid {
row-spacing: $base_spacing * 2;
column-spacing: $base_spacing * 5;
page-padding-top: 0;
page-padding-bottom: 0;
page-padding-left: 0;
page-padding-right: 0;
}
& .page-indicators {
margin-bottom: 18px;
.page-indicator {
padding: 15px 12px;
}
}
}
.app-folder-dialog-container {
padding: 12px;
width: 620px;
height: 620px;
}
.app-folder-icon {
padding: $base_padding;
spacing-rows: $base_spacing;
spacing-columns: $base_spacing;
}
// Running app indicator (also shown in dash)
.app-well-app-running-dot {
height: 5px;
width: 5px;
border-radius:5px;
background-color: $osd_fg_color;
margin-bottom: 1px;
}
// Rename popup for app folders
.rename-folder-popup {
.rename-folder-popup-item {
spacing: $base_spacing;
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
}
}
// right-click app menu
.app-menu,
.app-well-menu {
max-width: 27.25em;
}
// App Grid pagination indicators
.page-indicator {
padding: 15px 20px;
.page-indicator-icon {
width: 10px;
height: 10px;
border-radius: 10px; // the same as height&width
background-color: white;
}
}
// Some hacks I don't even know
.all-apps {
// horizontal padding to make sure scrollbars or dash don't overlap content
padding: 0px 88px 10px 88px;
}
// shutdown and other actions in the grid
.system-action-icon {
background-color: rgba(0,0,0,0.8);
color: #fff;
border-radius: 99px;
icon-size: $app_icon_size * 0.5;
}

View File

@@ -0,0 +1,18 @@
// Links
.shell-link {
color: $link_color;
&:hover {
color: lighten($link_color, 10%);
}
}
// Outline for low res icons
.lowres-icon {
icon-shadow: 0 1px 2px rgba(black, 0.3);
}
// Dropshadow for large icons
.icon-dropshadow {
icon-shadow: 0 1px 2px rgba(black, 0.4);
}

View File

@@ -0,0 +1,5 @@
/* Buttons */
.button {
@extend %button; // that's it
}

View File

@@ -0,0 +1,291 @@
/* Date/Time Menu */
.clock-display-box {
spacing: $base_spacing / 2;
.clock {
padding-left: $base_padding;
padding-right: $base_padding;
}
}
// overall menu
#calendarArea {
padding:0;
}
// Calendar menu side column
.datemenu-calendar-column {
spacing: $base_spacing;
border: 0 solid $bubble_borders_color;
padding: 0 $base_padding * 2;
&:ltr {margin-right: $base_margin * 2; border-left-width: 1px; }
&:rtl {margin-left: $base_margin * 2; border-right-width: 1px; }
.datemenu-displays-section {
}
.datemenu-displays-box {
spacing: $base_spacing;
}
}
.events-section-title {
@include notification_bubble($flat: true);
color: desaturate(darken($fg_color,40%), 10%);
font-weight: bold;
padding: .4em;
}
/* today button (the date) */
.datemenu-today-button {
@include notification_bubble($flat: true);
padding: $base_padding * 1.5;
// weekday label
.day-label {
@include fontsize($base_font_size+1);
font-weight: bold;
}
// date label
.date-label {
@include fontsize($base_font_size+7);
font-weight: 1000;
}
}
/* Calendar */
.calendar {
@include notification_bubble;
padding: $base_padding;
// month
.calendar-month-label {
color: lighten($fg_color,5%);
font-weight: bold;
padding: 8px 0;
&:focus {}
}
// prev/next month icons
.calendar-change-month-back StIcon,
.calendar-change-month-forward StIcon {
icon-size: $base_icon_size;
}
.pager-button {
background-color: transparent;
height: 32px;
width: 32px;
border-radius: $base_border_radius;
&:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
&:active { background-color: $active_bg_color; }
}
$calendar_day_size: 32px;
.calendar-day-base {
@include fontsize($base_font_size - 3);
text-align: center;
width: $calendar_day_size;
height: $calendar_day_size;
padding: 0;
margin: 2px;
border-radius: $calendar_day_size * 0.5 + 2px;
border: 1px solid transparent; //avoid jumparound due to today
font-feature-settings: "tnum";
&:hover, &:focus { background-color: $hover_bg_color; }
&:active,&:selected {
color: lighten($fg_color,10%);
background-color: darken($bg_color,5%);
}
// day of week heading
&.calendar-day-heading {
color: lighten($fg_color,10%);
margin-top: 1em;
@include fontsize($base_font_size - 4);
}
}
.calendar-day { //border collapse hack - see calendar.js
border-width: 0;
}
.calendar-day-top {
border-top-width: 1px;
}
.calendar-day-left {
border-left-width: 1px;
}
.calendar-work-day {}
.calendar-nonwork-day {
color: $insensitive_fg_color;
}
// Today
.calendar-today {
font-weight: bold;
border: 1px solid transparent;
background-color: $selected_bg_color;
color: $selected_fg_color;
&:hover,&:focus {
background-color:lighten($selected_bg_color, 3%);
color: $selected_fg_color;
}
&:active,&:selected {
background-color: $selected_bg_color;
color: $selected_fg_color;
&:hover,&:focus {
background-color:lighten($selected_bg_color, 3%);
color: $selected_fg_color;
}
}
}
.calendar-day-with-events {
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
&.calendar-work-day {
color: lighten($fg_color,10%);
font-weight: bold;
}
}
.calendar-other-month-day {
color: transparentize($fg_color ,0.5);
}
.calendar-week-number {
@include fontsize($base_font_size - 4);
font-weight: bold;
height: 1.8em;
width: 2.3em;
border-radius: 2px;
margin: 6px;
background-color: darken($bg_color, 2%);
color: lighten($fg_color, 5%);
}
}
/* Events */
.events-button {
@include notification_bubble;
padding: $base_padding * 2;
.events-box {
spacing: $base_spacing;
}
.events-list {
spacing: 2 * $base_spacing;
}
.events-title {
color: desaturate(darken($fg_color,40%), 10%);
font-weight: bold;
margin-bottom: $base_margin;
}
.event-time {
color: darken($fg_color,20%);
font-feature-settings: "tnum";
@include fontsize($base_font_size - 1);
}
}
/* World clocks */
.world-clocks-button {
@include notification_bubble;
padding: $base_padding * 2;
.world-clocks-grid {
spacing-rows: $base_spacing;
spacing-columns: $base_spacing * 2;
}
// title
.world-clocks-header {
color: desaturate(darken($fg_color,40%), 10%);
font-weight: bold;
}
// city label
.world-clocks-city {
color: $fg_color;
@include fontsize($base_font_size);
font-weight: normal;
}
// timezone time
.world-clocks-time {
font-weight: bold;
color: $fg_color;
font-feature-settings: "tnum";
@include fontsize($base_font_size);
&:ltr { text-align: right; }
&:rtl { text-align: left; }
}
// timezone offset label
.world-clocks-timezone {
color: darken($fg_color,20%);
font-feature-settings: "tnum";
@include fontsize($base_font_size - 1);
}
}
/* Weather */
.weather-button {
@include notification_bubble;
padding: $base_padding * 2;
.weather-box {
spacing: $base_spacing + $base_margin;
}
.weather-header-box {
spacing: $base_spacing;
}
.weather-header {
color: desaturate(darken($fg_color,40%), 10%);
font-weight: bold;
&.location {
font-weight: normal;
@include fontsize($base_font_size - 1);
}
}
.weather-grid {
spacing-rows: $base_spacing;
spacing-columns: $base_spacing * 2;
}
.weather-forecast-time {
color: darken($fg_color,30%);
font-feature-settings: "tnum";
@include fontsize($base_font_size - 2);
font-weight: normal;
padding-top: 0.2em;
padding-bottom: 0.4em;
}
.weather-forecast-icon {
icon-size: $base_icon_size * 2;
}
.weather-forecast-temp {
font-weight: bold;
}
}

View File

@@ -0,0 +1,18 @@
/* Check Boxes */
// these are equal to the size of the SVG assets
$check_height: 22px;
$check_width: 24px;
.check-box {
StBoxLayout { spacing: .8em; }
StBin {
width: $check_width;
height: $check_height;
background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
}
&:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
}

View File

@@ -0,0 +1,15 @@
/* Activities Ripple */
$ripple_size: 50px;
.ripple-box {
background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
// plus + 2px for the border (box-shadow)
width: $ripple_size + 2px;
height: $ripple_size + 2px;
border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
// just a simple change to the border radius position
&:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
}

View File

@@ -0,0 +1,61 @@
/* Dash */
$dash_placeholder_size: 32px;
$dash_spacing: $base_padding + 4px;
$dash_border_radius: $modal_radius * 1.5;
#dash {
@extend %overview_panel;
@include fontsize($base_font_size - 2);
padding: ($dash_spacing / 2) 0;
border-radius: 0 $dash_border_radius $dash_border_radius 0;
border-left-width: 0;
&:rtl {
border-radius: $dash_border_radius 0 0 $dash_border_radius;
border-right-width: 0;
}
.placeholder {
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
background-image:none;
background-size: contain;
height: $dash_placeholder_size;
}
.empty-dash-drop-target {
width: $dash_placeholder_size;
height: $dash_placeholder_size;
}
}
// Dash Items
.dash-item-container > StWidget {
padding: ($dash_spacing / 2) $dash_spacing;
}
// OSD Tooltip
.dash-label {
background-color: transparentize($osd_bg_color,0.05);
border-radius: $base_border_radius + 2px;
border:none;
box-shadow:0 0 0 1px $osd_outer_borders_color;
color: $osd_fg_color;
padding: $base_padding $base_padding + 2px;
text-align: center;
-x-offset: $base_margin * 2; // distance from the dash edge
}
// Show apps button
.show-apps {
@include overview-icon($osd_fg_color);
&:focus,
&:checked {
.overview-icon {
background-color: darken($osd_bg_color,10%);
color: $fg_color;
}
}
}

View File

@@ -0,0 +1,164 @@
/* Modal Dialogs */
.headline {
@include fontsize($base_font_size + 1);
}
.modal-dialog {
border-radius: $modal_radius;
@extend %bubble_panel;
.modal-dialog-content-box {
margin: 32px 40px;
spacing: 32px;
max-width: 28em;
}
.modal-dialog-linked-button {
@extend %bubble_button;
}
}
/* End Session Dialog */
.end-session-dialog {
width: 30em;
.end-session-dialog-battery-warning,
.dialog-list-title {
color: $warning_color;
}
}
/* Message Dialog */
.message-dialog-content {
spacing: 18px;
.message-dialog-title {
text-align: center;
font-size: 18pt;
font-weight: 800;
&.lightweight {
font-size: 13pt;
font-weight: 800;
}
}
.message-dialog-description { text-align: center; }
}
/* Dialog List */
.dialog-list {
spacing: 18px;
.dialog-list-title {
text-align: center;
font-weight: bold;
}
.dialog-list-scrollview { max-height: 200px; }
.dialog-list-box {
spacing: 1em;
.dialog-list-item {
spacing: 1em;
.dialog-list-item-title { font-weight: bold; }
.dialog-list-item-description {
color: darken($fg_color,5%);
@include fontsize($base_font_size - 1);
}
}
}
}
/* Run Dialog */
.run-dialog {
.modal-dialog-content-box {
margin-top: 24px;
margin-bottom: 14px;
}
.run-dialog-entry { width: 20em; }
.run-dialog-description {
@include fontsize($base_font_size - 1);
text-align: center;
color: darken($fg_color, 20%);
}
}
/* Password or Authentication Dialog */
.prompt-dialog {
width: 28em;
.modal-dialog-content-box {
margin-bottom: 24px;
}
}
.prompt-dialog-password-grid {
spacing-rows: 8px;
spacing-columns: 4px;
.prompt-dialog-password-entry {
width: auto;
// 4px (spacing) + 16px (spinner-width)
&:ltr { margin-left: 20px; }
&:rtl { margin-right: 20px; }
}
}
.prompt-dialog-password-layout {
spacing: 8px;
}
.prompt-dialog-password-entry {
width: 20em;
}
.prompt-dialog-error-label,
.prompt-dialog-info-label,
.prompt-dialog-null-label {
text-align: center;
@include fontsize($base_font_size - 1);
}
.prompt-dialog-error-label {
color: $warning_color;
}
/* Polkit Dialog */
.polkit-dialog-user-layout {
text-align: center;
spacing: 8px;
margin-bottom: 6px;
.polkit-dialog-user-root-label { color: $warning_color; }
}
/* Audio selection dialog */
.audio-device-selection-dialog {
.modal-dialog-content-box { margin-bottom: 28px; }
.audio-selection-box { spacing: 20px; }
}
.audio-selection-device {
border: 1px solid $bubble_borders_color;
border-radius: 12px;
&:hover,&:focus { background-color: $hover_bg_color; }
&:active {
background-color: $selected_bg_color;
color: $selected_fg_color;
}
}
.audio-selection-device-box {
padding: 20px;
spacing: 20px;
}
.audio-selection-device-icon {
icon-size: $base_icon_size * 4;
}

View File

@@ -0,0 +1,27 @@
/* Entries */
StEntry {
border-radius: $base_border_radius;
padding: 8px;
border-width: 1px;
color: $fg_color;
@include entry(normal);
//&:hover { @include entry(hover);}
&:focus { @include entry(focus);}
&:insensitive { @include entry(insensitive);}
selection-background-color: $selected_bg_color;
selected-color: $selected_fg_color;
StIcon.capslock-warning {
icon-size: 16px;
warning-color: $warning_color;
padding: 0 4px;
}
StIcon.peek-password {
icon-size: $base_icon_size;
padding: 0 4px;
}
StLabel.hint-text {
margin-left: 2px;
color: transparentize($fg_color, 0.3);
}
}

View File

@@ -0,0 +1,10 @@
// hotplug
.hotplug-notification-item {
@extend %bubble_button;
}
.hotplug-notification-item-icon {
icon-size: 24px;
padding: 0 4px;
}

View File

@@ -0,0 +1,35 @@
// IBus Candidate Popup
.candidate-popup-boxpointer {
@extend .popup-menu-boxpointer;
}
.candidate-popup-content {
padding: 0.5em;
spacing: 0.3em;
}
.candidate-index {
padding: 0 0.5em 0 0;
color: darken($fg_color,10%);
}
.candidate-box {
padding: 0.3em 0.5em 0.3em 0.5em;
border-radius: $base_border_radius;
&:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
}
.candidate-page-button-box {
height: 2em;
.vertical & { padding-top: 0.5em; }
.horizontal & { padding-left: 0.5em; }
}
.candidate-page-button {
padding: 4px;
}
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0; }
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px; }
.candidate-page-button-icon { icon-size: 1em; }

View File

@@ -0,0 +1,115 @@
/* On-screen Keyboard */
$key_size: 1.2em;
$key_border_radius: $base_border_radius + 3px;
$key_bg_color: $bg_color;
// $default_key_bg_color: darken($key_bg_color, 4%);
$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
// draw keys using button function
#keyboard {
background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
.page-indicator {
padding: $base_padding;
.page-indicator-icon {
width: 8px;
height: 8px;
}
}
}
// the container for individual keys
.key-container {
padding: $base_margin;
spacing: $base_margin;
}
// the keys
.keyboard-key {
@include button(normal, $c:$key_bg_color);
&:focus { @include button(focus);}
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
&:active { @include button(active, $c: $key_bg_color); }
@include fontsize($base_font_size + 5);
min-height: $key_size;
min-width: $key_size;
border-width: 1px;
border-style: solid;
border-radius: $key_border_radius;
&:grayed { //FIXMEy
background-color: darken($bg_color, 3%);
color: $osd_fg_color;
border-color: $osd_borders_color;
}
// non-character keys
&.default-key {
@include button(normal, $c:$default_key_bg_color);
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
&:active { @include button(active, $c: $default_key_bg_color);}
}
// enter key is suggested-action
&.enter-key {
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
}
&.shift-key-uppercase { color: $selected_bg_color }
StIcon { icon-size: 1.125em; }
}
// long press on a key popup
.keyboard-subkeys {
color: $osd_fg_color;
-arrow-border-radius: $modal_radius;
-arrow-background-color: $osd_bg_color;
-arrow-border-width: 1px;
-arrow-border-color: lighten($osd_bg_color, 9%);
-arrow-base: 20px;
-arrow-rise: 10px;
-boxpointer-gap: $base_spacing;
.keyboard-key {
@include button(normal, $c:$key_bg_color);
&:focus { @include button(focus);}
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
&:active { @include button(active, $c: $key_bg_color); }
border-radius:$base_border_radius;
}
}
// emoji
.emoji-page {
.keyboard-key {
background-color: transparent;
border: none;
color: initial;
}
}
.emoji-panel {
.keyboard-key:latched {
border-color: lighten($selected_bg_color, 5%);
background-color: $selected_bg_color;
}
}
// suggestions
.word-suggestions {
@include fontsize($base_font_size + 3);
spacing: 12px;
min-height: 20pt;
}

View File

@@ -0,0 +1,169 @@
/* Login Dialog */
.login-dialog-banner-view {
padding-top: 24px;
max-width: 23em;
}
.login-dialog {
//reset
border: none;
background-color: transparent;
$_gdm_bg: lighten(#2e3436, 19%);
StEntry {
@if $variant=='dark' {
$_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
background-color: $_gdm_entry_bg;
color: $osd_fg_color;
}
}
.modal-dialog-button-box { spacing: 3px; }
.modal-dialog-button {
padding: 4px 18px;
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
background-color: $_gdm_bg;
border-color: $_gdm_bg;
color: $fg_color;
$_hover_c: lighten($_gdm_bg, 5%);
&:hover, &:focus {
background-color: $_hover_c;
border-color: $_hover_c;
}
&:active {
$_active_c: darken($_gdm_bg, 5%);
box-shadow: none;
background-color: $_active_c;
border-color: $_active_c;
}
&:insensitive {
@include button(insensitive);
border-color: darken($_gdm_bg, 5%);
background-color: darken($_gdm_bg, 5%);
color: transparentize($fg_color, 0.3);
}
&:default {
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
border-color: $selected_bg_color;
&:hover, &:focus {
@include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
$_def_hover_c: lighten($selected_bg_color, 5%);
background-color: $_def_hover_c;
border-color: $_def_hover_c;
}
&:active {
@include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
$_def_active_c: darken($selected_bg_color, 5%);
background-color: $_def_active_c;
border-color: $_def_active_c;
}
&:insensitive {
@include button(insensitive);
border-color: darken($selected_bg_color, 10%);
background-color: darken($selected_bg_color, 10%);
color: transparentize($selected_fg_color, 0.3);
}
}
}
.cancel-button,
.switch-user-button,
.login-dialog-session-list-button {
padding: 0;
border-radius: 99px;
width: $base_icon_size * 2;
height: $base_icon_size * 2;
border-color: transparentize($bg_color,0.7);
background-color: transparentize($bg_color,0.7);
StIcon { icon-size: $base_icon_size; }
}
.caps-lock-warning-label,
.login-dialog-message-warning {
color: $osd_fg_color;
}
}
.login-dialog-logo-bin { padding: 24px 0px; }
.login-dialog-banner { color: darken($osd_fg_color,10%); }
.login-dialog-button-box { width: 23em; spacing: 5px; }
.login-dialog-message { text-align: center; }
.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
.login-dialog-user-selection-box { padding: 100px 0px; }
.login-dialog-not-listed-label {
padding-left: 2px;
.login-dialog-not-listed-button:focus &,
.login-dialog-not-listed-button:hover & {
color: $osd_fg_color;
}
}
.login-dialog-not-listed-label {
@include fontsize($base_font_size - 1);
font-weight: bold;
color: darken($osd_fg_color,30%);
padding-top: 1em;
}
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
.login-dialog-user-list {
spacing: 12px;
width: 23em;
&:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
&:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
}
.login-dialog-user-list-item {
border-radius: $base_border_radius + 4px;
padding: 6px;
color: darken($osd_fg_color,30%);
&:ltr .user-widget { padding-right: 1em; }
&:rtl .user-widget { padding-left: 1em; }
.login-dialog-timed-login-indicator {
height: 2px;
margin-top: 6px;
background-color: $osd_fg_color;
}
&:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
}
.user-widget-label {
color: $osd_fg_color;
}
.user-widget.horizontal .user-widget-label {
@include fontsize($base_font_size + 2);
font-weight: bold;
padding-left: 15px;
&:ltr { padding-left: 14px; text-align: left; }
&:rtl { padding-right: 14px; text-align: right; }
}
.user-widget.vertical .user-widget-label {
@include fontsize($base_font_size + 5);
text-align: center;
font-weight: normal;
padding-top: 16px;
}
.login-dialog-prompt-layout {
padding-top: 24px;
padding-bottom: 12px;
spacing: $base_spacing * 2;
width: 23em;
}
.login-dialog-prompt-entry {
height: 1.5em;
}
.login-dialog-prompt-label {
color: darken($osd_fg_color, 20%);
@include fontsize($base_font_size + 1);
padding-top: 1em;
}

View File

@@ -0,0 +1,109 @@
/* Looking Glass */
$text_fg_color: #ccc;
// Dialog
#LookingGlassDialog {
background-color: $osd_bg_color;
spacing: $base_spacing;
padding: 4px;
border: 1px solid transparentize($osd_fg_color, 0.8);
border-radius: $base_border_radius;
color: $osd_fg_color;
& > #Toolbar {
border: none;
border-radius: $base_border_radius;
background-color: $osd_bg_color;
}
.labels { spacing: $base_spacing; }
.notebook-tab {
-natural-hpadding: $base_padding * 2;
-minimum-hpadding: 6px;
font-weight: bold;
color: darken($osd_fg_color, 15%);
transition-duration: 100ms;
padding-left: .3em;
padding-right: .3em;
border-bottom-width: 2px;
&:hover {
color: $osd_fg_color;
}
&:selected {
border-bottom-width: 2px;
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
color: $osd_fg_color;
}
}
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
StBoxLayout#ResultsArea { spacing: $base_spacing; }
}
.lg-dialog {
StEntry {
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
color: $osd_fg_color;
border-color: transparentize($osd_fg_color, 0.8);
min-height: 22px;
selection-background-color: $selected_bg_color;
selected-color: $selected_fg_color;
}
.shell-link {
color: $link_color;
&:hover { color: lighten($link_color, 10%); }
&:active { color: darken($link_color, 10%); }
}
.actor-link {
color: $text_fg_color;
&:hover { color: lighten($text_fg_color, 20%); }
&:active { color: darken($text_fg_color, 20%); }
}
}
.lg-completions-text {
font-size: .9em;
font-style: italic;
}
.lg-obj-inspector-title {
spacing: $base_spacing;
}
.lg-obj-inspector-button {
border: 1px solid $osd_borders_color;
padding: 4px;
border-radius: $base_border_radius;
&:hover { border: 1px solid #ffffff; }
}
// Extensions
#lookingGlassExtensions { padding: 4px; }
.lg-extensions-list {
padding: 4px;
spacing: 6px;
}
.lg-extension {
border: 1px solid lighten($osd_borders_color, 5%);
background-color: lighten($osd_bg_color, 5%);
border-radius: $base_border_radius;
padding: 4px;
}
.lg-extension-name {
font-weight: bold;
}
.lg-extension-meta {
spacing: 6px;
}
// Inspector
#LookingGlassPropertyInspector {
background: $osd_bg_color;
border: 1px solid $osd_borders_color;
border-radius: $base_border_radius;
padding: 6px;
}

View File

@@ -0,0 +1,136 @@
/* Message List */
// a.k.a. notifications in the menu
// main list
.message-list {
width: 31.5em;
padding: 0 $base_padding * 2;
.message-list-placeholder { spacing: 12px; }
}
.message-list-sections {
spacing: $base_spacing;
margin: 0 $base_margin * 4; // to account for scrollbar
}
.message-list-section,
.message-list-section-list {
spacing: $base_spacing;
}
// do-not-disturb + clear button
.message-list-controls {
margin: ($base_margin * 2) ($base_margin * 4) 0;
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
padding: $base_margin;
spacing: $base_spacing * 2;
}
// message bubbles
.message {
@include notification_bubble;
// icon container
.message-icon-bin {
padding: ($base_padding * 3) 0 ($base_padding * 3) ($base_padding * 2);
&:rtl {
padding: ($base_padding * 3) ($base_padding * 2) ($base_padding * 3) 0;
}
// icon size and color
> StIcon {
icon-size: $base_icon_size*2; // 32px
-st-icon-style: symbolic;
}
// fallback
> .fallback-app-icon {
width: $base_icon_size;
height: $base_icon_size;
}
}
// content
.message-content {
padding: $base_padding + $base_margin * 2;
spacing: 4px;
}
// title
.message-title {
font-weight: bold;
}
// secondary container in title box
.message-secondary-bin {
padding: 0 $base_margin * 2;
// notification time stamp
> .event-time {
color: transparentize($fg_color, 0.5);
@include fontsize($base_font_size - 2);
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
padding-bottom: 0.13em;
&:ltr { text-align: right };
&:rtl { text-align: left };
}
}
// close button
.message-close-button {
color: lighten($fg_color, 15%);
&:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
&:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
}
// body
.message-body {
color: darken($fg_color, 10%);
}
}
// URLs in messages
.url-highlighter {
link-color: $link_color;
}
/* Media Controls */
.message-media-control {
padding: $base_padding * 2 $base_padding * 4;
color: darken($fg_color, 15%);
// uses $hover_bg_color since the media controls are in a notification_bubble
&:hover {
background-color: lighten($hover_bg_color, 5%);
color: $fg_color;
}
&:active {
background-color: darken($hover_bg_color, 2%);
color: $fg_color;
}
&:insensitive { color: darken($fg_color,40%); }
// fix border-radius for last button
&:last-child:ltr { border-radius: 0 $base_border_radius+2 $base_border_radius+2 0; }
&:last-child:rtl { border-radius: $base_border_radius+2 0 0 $base_border_radius+2; }
}
// album-art
.media-message-cover-icon {
icon-size: $base_icon_size*2 !important; // 48px
border-radius: $base_border_radius;
// when there is no artwork
&.fallback {
color: darken($fg_color, 17%);
background-color: $bg_color;
border: 1px solid transparent;
border-radius: $base_border_radius;
icon-size: $base_icon_size * 2 !important;
}
}

View File

@@ -0,0 +1,56 @@
// Rubberband for select-area screenshots
.select-area-rubberband {
background-color: transparentize($selected_bg_color,0.7);
border: 1px solid $selected_bg_color;
}
// User icon
.user-icon {
background-size: contain;
color: $osd_fg_color;
border-radius: 99px;
border: 2px $osd_fg_color;
&:hover {
color: lighten($osd_fg_color,30%);
}
& StIcon {
background-color: transparentize($osd_fg_color,0.95);
border-radius: 99px;
}
}
.user-widget.vertical .user-icon {
icon-size: $base_icon_size * 6; // 128px
& StIcon {
padding: $base_padding * 3 + 2px; // 20px
padding-top: $base_padding * 3; // 18 px
padding-bottom: $base_padding * 3 + 4px; // 22px
width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px;
}
}
.user-widget.horizontal .user-icon {
icon-size: $base_icon_size * 4; // 64px
& StIcon {
padding: $base_padding * 2 ; // 12px
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
}
}
.lightbox { background-color: black; }
.flashspot { background-color: white; }
// Hidden
.hidden { color: rgba(0,0,0,0);}
// Caps-lock warning
.caps-lock-warning-label {
text-align: center;
padding-bottom: 8px;
@include fontsize($base_font_size - 1);
color: $warning_color;
}

View File

@@ -0,0 +1,56 @@
/* Network Dialogs */
.nm-dialog {
max-height: 34em;
min-height: 31em;
min-width: 32em;
}
.nm-dialog-content {
spacing: 20px;
padding: 24px;
}
.nm-dialog-airplane-box { spacing: 12px; }
.nm-dialog-airplane-headline {
font-weight: bold;
text-align: center;
}
.nm-dialog-airplane-text { color: $fg_color; }
// header
.nm-dialog-header {
font-weight: bold;
}
.nm-dialog-header-icon {
icon-size: $base_icon_size * 2;
}
.nm-dialog-header-hbox { spacing: 10px; }
// list of networks
.nm-dialog-scroll-view {
border: 1px solid $borders_color;
padding:0;
background-color: darken($bg_color, 3%);
}
// list item
.nm-dialog-item {
@include fontsize($base_font_size);
border-bottom: 1px solid $borders_color;
padding: $base_padding * 2;
spacing: 0px;
&:selected {
background-color: $selected_bg_color;
color: $selected_fg_color;
}
}
// icons in list
.nm-dialog-icon { icon-size: $base_icon_size; }
.nm-dialog-icons { spacing: $base_spacing * 2; }
// no networks
.no-networks-label { color: $insensitive_fg_color; }
.no-networks-box { spacing: $base_padding; }

View File

@@ -0,0 +1,57 @@
/* Notifications & Message Tray */
$notification_banner_height: 64px;
$notification_banner_width: 34em;
// Banner notifications
.notification-banner {
min-height: $notification_banner_height;
width: $notification_banner_width;
.notification-actions {
spacing: 0;
}
.notification-button {
@extend %bubble_button;
}
}
// counter
.summary-source-counter {
font-size: $base_font_size - 1pt;
font-weight: bold;
height: 1.6em;
width: 1.6em;
-shell-counter-overlap-x: 3px;
-shell-counter-overlap-y: 3px;
background-color: $selected_bg_color;
color: $selected_fg_color;
border: 2px solid $fg_color;
box-shadow: 0 2px 2px rgba(0,0,0,0.5);
border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
}
// chat bubbles
.chat-body { spacing: 5px; }
.chat-response { margin: 5px; }
.chat-log-message { color: darken($fg_color,10%); }
.chat-new-group { padding-top: 1em; }
.chat-received {
padding-left: 4px;
&:rtl { padding-left: 0px; padding-right: 4px; }
}
.chat-sent {
padding-left: 18pt;
color: lighten($fg_color, 15%);
&:rtl { padding-left: 0; padding-right: 18pt; }
}
.chat-meta-message {
padding-left: 4px;
@include fontsize($base_font_size - 2);
font-weight: bold;
color: lighten($fg_color,18%);
&:rtl { padding-left: 0; padding-right: 4px; }
}

View File

@@ -0,0 +1,45 @@
/* OSD */
$osd_levelbar_height:8px;
.osd-window {
@extend %osd_panel;
text-align: center;
font-weight: bold;
spacing: $base_spacing * 2; // 12px
margin: $base_margin * 8; // 32px
min-width: 64px;
min-height: 64px;
StIcon {
icon-size:$base_icon_size * 6;
}
.osd-monitor-label { font-size: 3em; }
.level {
height: $osd_levelbar_height;
-barlevel-height: $osd_levelbar_height;
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
-barlevel-active-background-color: $osd_fg_color;
-barlevel-overdrive-color: $destructive_color;
-barlevel-overdrive-separator-width: 3px;
}
}
/* Pad OSD */
.pad-osd-window {
padding: 32px;
background-color: transparentize(#000, 0.2);
.pad-osd-title-box { spacing: 12px; }
.pad-osd-title-menu-box { spacing: 6px; }
}
.combo-box-label {
width: 15em;
}
.resize-popup {
@extend %osd_panel;
}

View File

@@ -0,0 +1,10 @@
/* OVERVIEW */
#overview {
spacing: 24px;
background-color: transparent;
}
.overview-controls {
padding-bottom: 32px;
}

View File

@@ -0,0 +1,121 @@
/* Top Bar */
// a.k.a. the panel
$panel_corner_radius: $base_border_radius+1;
$panel_bg_color: #000;
$panel_fg_color: #ccc;
$panel_height: 1.86em;
#panel {
background-color: $panel_bg_color;
font-weight: bold;
height: $panel_height;
font-feature-settings: "tnum";
// transparent panel on lock & login screens
&.unlock-screen,
&.login-screen {
background-color: transparent;
.panel-corner {
-panel-corner-radius: 0;
-panel-corner-background-color: transparent;
-panel-corner-border-color: transparent;
}
}
// spacing between activities, app menu and such
#panelLeft, #panelCenter {
spacing: $base_spacing;
}
// the rounded outset corners
.panel-corner {
-panel-corner-radius: $panel_corner_radius;
-panel-corner-background-color: $panel_bg_color;
-panel-corner-border-width: 2px;
-panel-corner-border-color: transparent;
&:active, &:overview, &:focus {
-panel-corner-border-color: lighten($selected_bg_color,5%);
}
}
// panel menus
.panel-button {
font-weight: bold;
color: $panel_fg_color;
-natural-hpadding: $base_padding * 2;
-minimum-hpadding: $base_padding;
&:hover {
color: lighten($panel_fg_color, 20%);
}
&:active, &:overview, &:focus, &:checked {
color: lighten($panel_fg_color, 20%);
}
// status area icons
.system-status-icon {
icon-size: $base_icon_size;
padding: $base_padding - 1px;
}
// app menu icon
.app-menu-icon {
margin-left: $base_margin;
margin-right: $base_margin;
-st-icon-style: symbolic;
// dimensions of the icon are hardcoded
}
// lock & login screen styles
.unlock-screen &,
.login-screen & {
color: lighten($fg_color, 10%);
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
}
}
.panel-button {
&:active, &:overview, &:focus, &:checked {
// Trick due to St limitations. It needs a background to draw a box-shadow
background-color: rgba(0, 0, 0, 0.01);
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
}
}
.panel-button.clock-display {
// Move highlight from .panel-button to .clock
&:active, &:overview, &:focus, &:checked {
box-shadow: none;
.clock {
background-color: rgba(0, 0, 0, 0.01);
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
}
}
}
.panel-status-indicators-box,
.panel-status-menu-box {
spacing: 2px;
}
// spacing between power icon and (optional) percentage label
.power-status.panel-status-indicators-box {
spacing: 0;
}
// indicator for active
.screencast-indicator,
.remote-access-indicator { color: $warning_color; }
}
// App Menu
#appMenu {
spacing: $base_spacing;
.label-shadow { color: transparent; }
}

View File

@@ -0,0 +1,131 @@
/* Popovers/Menus */
$popover_arrow_height: 12px;
//.the popover itself
.popup-menu-boxpointer {
-arrow-border-radius: $base_border_radius+4;
-arrow-background-color: $bg_color;
-arrow-border-width: 1px;
-arrow-border-color: $borders_color;
-arrow-base: $popover_arrow_height * 2;
-arrow-rise: $popover_arrow_height;
-arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
}
// container of the popover menu
.popup-menu {
min-width: 15em;
color: $fg_color;
//.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
&.panel-menu {
-boxpointer-gap: $base_margin; // distance from the panel
margin-bottom: 1.75em;
}
}
.popup-menu-content {
padding: $base_padding * 2 + $base_margin 0;
}
// menu items
.popup-menu-item {
spacing: $base_padding;
padding: $base_padding;
&:ltr { padding-right:1.75em; padding-left: 0; }
&:rtl { padding-right: 0; padding-left:1.75em; }
&:checked {
background-color: lighten($bg_color, 2%);
box-shadow: none;
}
&.selected {
background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
color: $fg_color;
}
&:active {
background-color: $selected_bg_color;
color: $selected_fg_color;
}
&:insensitive { color: transparentize($fg_color,0.5);}
}
// all icons and other graphical elements
.popup-inactive-menu-item {
color: $fg_color;
&:insensitive { color: transparentize($fg_color,0.5); }
}
// symbolic icons in popover
.popup-menu-arrow,
.popup-menu-icon { icon-size: $base_icon_size; }
// popover submenus
.popup-sub-menu {
background-color: darken($bg_color, 3%);
box-shadow: none;
border-top: 1px solid transparentize($borders_color, 0.2);
border-bottom: 1px solid transparentize($borders_color, 0.2);
}
// container for radio and check boxes
.popup-menu-ornament {
width: 1.2em;
&:ltr { text-align: right };
&:rtl { text-align: left };
}
// separator
.popup-separator-menu-item {
padding: 0;
.popup-separator-menu-item-separator {
//-margin-horizontal: 24px;
height: 1px; //not really the whole box
margin: 6px 64px;
background-color: lighten($borders_color, 2%);
.popup-sub-menu & { //submenu separators
margin: 0 64px 0 32px;
@if $variant == 'dark' {
background-color: lighten($bg_color,10%);
}
}
}
}
// desktop background menu
.background-menu {
-boxpointer-gap: $base_margin;
-arrow-rise: 0px; // hide the beak on the menu
}
// system status menu
.aggregate-menu {
min-width: 21em;
// lock screen, shutdown, etc. buttons
.popup-menu-icon {
padding:0;
margin: 0 $base_margin;
-st-icon-style: symbolic;
}
.popup-sub-menu .popup-menu-item > :first-child {
// account for icons in submenus with padding
&:ltr {
padding-left: $base_padding + $base_margin * 2;
margin-left: $base_icon_size;
}
&:rtl {
padding-right: $base_padding + $base_margin * 2; ;
margin-right: $base_icon_size;
}
}
}

View File

@@ -0,0 +1,78 @@
/* Screen Shield */
.unlock-dialog-clock {
color: white;
font-weight: 300;
text-align: center;
spacing: 24px;
padding-bottom: 2.5em;
}
.unlock-dialog-clock-time {
font-size: 64pt;
padding-top: 42px;
font-feature-settings: "tnum";
}
.unlock-dialog-clock-date {
font-size: 16pt;
font-weight: normal;
}
.unlock-dialog-clock-hint {
font-weight: normal;
padding-top: 48px;
}
.unlock-dialog-notifications-container {
margin: 12px 0;
spacing: 6px;
width: 23em;
background-color: transparent;
.summary-notification-stack-scrollview {
padding-top: 0;
padding-bottom: 0;
}
.notification,
.unlock-dialog-notification-source {
padding: 12px 6px;
border: none;
background-color: transparentize($osd_bg_color,0.7);
color: $osd_fg_color;
border-radius: $modal_radius;
&.critical { background-color: transparentize($osd_bg_color,0.1) }
}
}
.unlock-dialog-notification-label {
padding: 0px 0px 0px 12px;
}
.unlock-dialog-notification-count-text {
weight: bold;
padding: 0 6px;
color: $osd_bg_color;
background-color: transparentize($osd_fg_color, 0.7);
border-radius: 99px;
margin-right: 12px;
}
.screen-shield-background { //just the shadow, really
background: black;
box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
}
#lockDialogGroup {
background-color: lighten(#2e3436, 8%);
}
#unlockDialogNotifications {
StButton#vhandle, StButton#hhandle {
background-color: transparentize($bg_color,0.7);
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
&:active { background-color: transparentize($selected_bg_color,0.5); }
}
}

View File

@@ -0,0 +1,29 @@
/* Scrollbars */
StScrollView {
&.vfade { -st-vfade-offset: 68px; }
&.hfade { -st-hfade-offset: 68px; }
}
StScrollBar {
padding: 0;
StScrollView & {
min-width: 14px;
min-height: 14px;
}
StBin#trough {
border-radius: 0;
background-color: transparent;
}
StButton#vhandle, StButton#hhandle {
border-radius: 8px;
background-color: mix($fg_color, $bg_color, 60%);
//border: 3px solid transparent; //would be nice to margin or at least to transparent
margin: 3px;
&:hover { background-color: mix($fg_color, $bg_color, 80%); }
&:active { background-color: $selected_bg_color; }
}
}

View File

@@ -0,0 +1,35 @@
// Search entry
$search_entry_width: 320px;
$search_entry_height: 36px;
%search_entry,
.search-entry {
width: $search_entry_width;
padding: $base_padding+1 $base_padding+3;
border-radius: $search_entry_height * 0.5; // half the height
color: transparentize($fg_color,0.3);
background-color: $bg_color;
border-color: $borders_color;
&:hover {
background-color: $hover_bg_color;
border-color: $hover_borders_color;
color: $hover_fg_color;
}
&:focus {
padding: $base_padding $base_padding+2; // 1px less to account for wider border
border-width: 2px;
border-style: solid;
border-color: $selected_bg_color;
color: $fg_color;
box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
}
.search-entry-icon {
icon-size: $base_icon_size;
padding: 0 4px;
color: inherit;
}
}

View File

@@ -0,0 +1,108 @@
/* Search */
// search overview container
#searchResultsContent {
max-width: 1024px;
spacing: $base_margin * 2;
}
// search results sections "the boxes"
.search-section {
// This should be equal to #searchResultsContent spacing
spacing: $base_margin * 2;
// separator
.search-section-separator {
// height: 1px;
// background-color: $osd_outer_borders_color;
height: 0;
background-color: transparent;
}
}
// content
.search-section-content {
background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
border-radius: $modal_radius+3;
border: 1px solid $osd_outer_borders_color;
box-shadow: 0 2px 4px 0 $shadow_color;
text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
color: $osd_fg_color;
padding: $base_padding * 3;
// This is the space between the provider icon and the results container
spacing: $base_margin * 2;
}
%search-section-content-item {
@extend %icon_tile;
&:focus,
&:hover,
&:selected {
background-color: transparentize($osd_fg_color, .9);
transition-duration: 200ms;
}
&:active,
&:checked {
background-color: transparentize(darken($osd_bg_color, 10%), .1);
}
}
// "no results" text
.search-statustext {
@extend %status_text;
}
.grid-search-results {
spacing: $base_spacing * 6;
}
// Search results with icons
.grid-search-result {
@extend %app-well-app;
}
// search result provider
.search-provider-icon {
@extend %search-section-content-item;
// content
.list-search-provider-content {
spacing: $base_spacing * 2;
// provider labels
.list-search-provider-details {
width: 120px;
margin-top: 0;
color: darken($osd_fg_color, 8%);
// font-weight: bold;
}
}
}
// search results list
.list-search-results {
spacing: $base_spacing;
}
// search result listitem
.list-search-result {
@extend %search-section-content-item;
// content
.list-search-result-content {
spacing: $base_padding;
}
// list item title (with leading icon)
.list-search-result-title {
spacing: $base_spacing * 2;
// font-weight: bold;
}
// list item description
.list-search-result-description {
color: darken($osd_fg_color, 30%);
}
}

View File

@@ -0,0 +1,27 @@
/* Slider */
$slider_size: 15px;
.slider {
height: $slider_size;
// slider trough
-barlevel-height: 3px; // has to be an odd number
-barlevel-background-color: $borders_color; //background of the trough
-barlevel-border-width: 1px;
-barlevel-border-color: $borders_color; // trough border color
// fill style
-barlevel-active-background-color: $selected_bg_color; //active trough fill
-barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%), lighten($selected_bg_color, 2%)); //active trough border
// overfill style (red in this case)
-barlevel-overdrive-color: $destructive_color;
-barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), lighten($destructive_color, 2%)); //trough border when red;
-barlevel-overdrive-separator-width:1px;
// slider handler
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
-slider-handle-border-width: 1px;
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
&:hover { color: $hover_bg_color; }
&:active { color: $active_bg_color; }
}

View File

@@ -0,0 +1,65 @@
/* App Switcher */
.switcher-popup {
padding: 8px;
spacing: $base_spacing * 4;
}
// switcher onscreen panel
.switcher-list {
@extend %osd_panel;
.item-box {
padding: 8px;
border-radius: $base_border_radius + 1px;
border: 1px solid transparent;
&:outlined {
background-color: transparentize($osd_fg_color, 0.7);
}
&:selected {
background-color: transparentize($osd_fg_color, 0.7);
color: $osd_fg_color;
}
}
// window thumbnails
.thumbnail-box {
padding: 2px;
spacing: $base_spacing;
}
.thumbnail {
width: 256px;
}
.separator {
width: 1px;
background: $borders_color;
}
.switcher-list-item-container {
spacing: $base_spacing * 2;
}
}
.switcher-arrow {
border-color: rgba(0,0,0,0);
color: transparentize($fg_color,0.2);
&:highlighted {
color: $fg_color;
}
}
// Input Source Switcher
.input-source-switcher-symbol {
font-size: 34pt;
width: 96px;
height: 96px;
}
// Window cycler highlight
.cycler-highlight {
border: 5px solid $selected_bg_color;
}

View File

@@ -0,0 +1,16 @@
/* Switches */
// these are equal to the size of the SVG assets
$switch_height: 22px;
$switch_width: 46px;
.toggle-switch {
color: $fg_color;
height: $switch_height;
width: $switch_width;
background-size: contain;
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
&:checked {
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
}
}

View File

@@ -0,0 +1,19 @@
/* Tiled window previews */
$tile_corner_radius: $base_border_radius + 1px;
.tile-preview {
background-color: transparentize($selected_bg_color,0.5);
border: 1px solid $selected_bg_color;
}
.tile-preview-left.on-primary {
border-radius: $tile_corner_radius 0 0 0;
}
.tile-preview-right.on-primary {
border-radius: 0 $tile_corner_radius 0 0;
}
.tile-preview-left.tile-preview-right.on-primary {
border-radius: $tile_corner_radius $tile_corner_radius 0 0;
}

View File

@@ -0,0 +1,65 @@
/* Window Picker */
$window_picker_spacing: $base_spacing; // 6px
$window_picker_padding: $base_padding * 2; // 12px
$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
$window_close_button_size: 24px;
$window_close_button_padding: 3px;
$window_clone_border_size: 6px;
// Window picker
.window-picker {
// Space between window thumbnails
spacing: $window_picker_spacing;
// Padding for container around window thumbnails
padding: $window_picker_padding;
&.external-monitor { padding: $window_picker_padding; }
}
// Borders on window thumbnails
.window-clone-border {
border-width: $window_clone_border_size;
border-style: solid;
border-color: $window_thumbnail_border_color;
border-radius: $base_border_radius + 2;
// For window decorations with round corners we can't match
// the exact shape when the window is scaled. So apply a shadow
// to fix that case
box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
}
// Window titles
.window-caption {
color: $osd_fg_color;
background-color: $osd_bg_color;
border:1px solid $osd_outer_borders_color;
border-radius: $base_border_radius + 1;
padding: $base_padding $base_padding * 2;
font-weight: bold;
@include fontsize($base_font_size + 1);
}
// Close button
.window-close {
background-color: $selected_bg_color;
color: $selected_fg_color;
border: none;
border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
padding: $window_close_button_padding;
height: $window_close_button_size;
width: $window_close_button_size;
box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
&:hover {
background-color: lighten($selected_bg_color, 5%);
}
&:active {
background-color: darken($selected_bg_color, 5%);
}
}

View File

@@ -0,0 +1,36 @@
/* Workspace Switcher */
.workspace-switcher-group {
padding: $base_padding * 2;
}
.workspace-switcher-container {
@extend %osd_panel;
}
.workspace-switcher {
background: transparent;
border: none;
border-radius: 0;
padding: 0;
spacing: $base_spacing * 2;
}
.ws-switcher-box {
background: transparent;
height: 50px;
background-size: 32px;
border: 1px solid transparentize($osd_fg_color,0.9);
border-radius: $base_border_radius + 3px;
}
// active workspace in the switcher
.ws-switcher-active-up,
.ws-switcher-active-down,
.ws-switcher-active-left,
.ws-switcher-active-right {
height: 52px;
background-color: $selected_bg_color;
border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), lighten($selected_bg_color, 5%));
border-radius: $base_border_radius + 3px;
color: $selected_fg_color;
}

View File

@@ -0,0 +1,32 @@
/* Workspace pager */
// thumbnails in overview
.workspace-thumbnails {
@extend %overview_panel;
visible-width: 32px; //amount visible before hover
spacing: $base_spacing;
padding: $base_padding;
border-radius: $modal_radius 0 0 $modal_radius;
border-right-width: 0;
&:rtl {
border-radius: 0 $modal_radius $modal_radius 0;
border-left-width: 0;
}
// drag and drop indicator
.placeholder {
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
background-size: contain;
height: 24px;
}
}
// selected indicator
.workspace-thumbnail-indicator {
border: 3px solid $selected_bg_color;
border-radius: 3px;
padding: 0px;
// background-color: transparentize($selected_bg_color, 0.9);
}

View File

@@ -1,18 +1,12 @@
sessions = [
['gnome-classic.session.desktop.in', sessiondir],
['gnome-classic.desktop.in', xsessiondir]
]
foreach s : sessions
name_array = s[0].split('.')
i18n.merge_file('',
input: s[0],
output: '.'.join([name_array[0], name_array[1]]),
po_dir: '../po',
install: true,
install_dir: s[1],
type: 'desktop'
)
endforeach
session_desktop = 'gnome-classic.desktop'
i18n.merge_file('',
input: session_desktop + '.in',
output: session_desktop,
po_dir: '../po',
install: true,
install_dir: xsessiondir,
type: 'desktop'
)
classic_uuids = []
foreach e : classic_extensions

View File

@@ -21,16 +21,23 @@ for f in $extensiondir/*; do
uuid=$name@gnome-shell-extensions.gcampax.github.com
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
cp $srcdir/NEWS $srcdir/COPYING $f
cp -r $localedir $f
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
if [ -f $schema ]; then
mkdir $f/schemas
cp $schema $f/schemas;
glib-compile-schemas $f/schemas
if [ -f $builddir/$name.pot ]; then
mkdir $f/po
for l in $(<$srcdir/po/LINGUAS); do
msgmerge --quiet --output-file=$f/po/$l.po \
$srcdir/po/$l.po $builddir/$name.pot
done
fi
(cd $f && zip -rmq $srcdir/zip-files/$uuid.shell-extension.zip .)
cp $srcdir/NEWS $srcdir/COPYING $f
sources=(NEWS COPYING $(cd $f; ls *.js))
[ -f $schema ] || unset schema
gnome-extensions pack ${sources[@]/#/--extra-source=} \
${schema:+--schema=$schema} --out-dir=$srcdir/zip-files $f
done
rm -rf $builddir

View File

@@ -35,17 +35,16 @@ class WindowMover {
_updateAppData() {
let ids = [...this._appConfigs.keys()];
let removedApps = [...this._appData.keys()].filter(
a => !ids.includes(a.id)
);
let removedApps = [...this._appData.keys()]
.filter(a => !ids.includes(a.id));
removedApps.forEach(app => {
app.disconnect(this._appData.get(app).windowsChangedId);
this._appData.delete(app);
});
let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter(
app => app && !this._appData.has(app)
);
let addedApps = ids
.map(id => this._appSystem.lookup_app(id))
.filter(app => app && !this._appData.has(app));
addedApps.forEach(app => {
let data = {
windowsChangedId: app.connect('windows-changed',
@@ -94,9 +93,9 @@ class WindowMover {
// the window still exists and is just moved to a different workspace
// or something; assume it'll be added back immediately, so keep it
// to avoid moving it again
windows.push(...data.windows.filter(
w => !windows.includes(w) && w.get_compositor_private() !== null
));
windows.push(...data.windows.filter(w => {
return !windows.includes(w) && w.get_compositor_private() !== null;
}));
let workspaceNum = this._appConfigs.get(app.id);
windows.filter(w => !data.windows.includes(w)).forEach(window => {
@@ -117,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

View File

@@ -2,11 +2,10 @@
// Start apps on custom workspaces
/* exported init buildPrefsWidget */
const { Gio, GObject, Gtk } = imports.gi;
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = e => e;
const ExtensionUtils = imports.misc.extensionUtils;
@@ -14,269 +13,282 @@ const SETTINGS_KEY = 'application-list';
const WORKSPACE_MAX = 36; // compiled in limit of mutter
const Columns = {
APPINFO: 0,
DISPLAY_NAME: 1,
ICON: 2,
WORKSPACE: 3,
ADJUSTMENT: 4,
};
const AutoMoveSettingsWidget = GObject.registerClass(
class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
_init() {
super._init({
hscrollbar_policy: Gtk.PolicyType.NEVER,
});
const Widget = GObject.registerClass(
class Widget extends Gtk.Grid {
_init(params) {
super._init(params);
this.set_orientation(Gtk.Orientation.VERTICAL);
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
halign: Gtk.Align.CENTER,
spacing: 12,
margin_top: 36,
margin_bottom: 36,
margin_start: 36,
margin_end: 36,
});
this.add(box);
box.add(new Gtk.Label({
label: '<b>%s</b>'.format(_('Workspace Rules')),
use_markup: true,
halign: Gtk.Align.START,
}));
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
valign: Gtk.Align.START,
});
this._list.set_header_func(this._updateHeader.bind(this));
box.add(this._list);
const context = this._list.get_style_context();
const cssProvider = new Gtk.CssProvider();
cssProvider.load_from_data(
'list { min-width: 30em; }');
context.add_provider(cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
context.add_class('frame');
this._list.add(new NewRuleRow());
this._actionGroup = new Gio.SimpleActionGroup();
this._list.insert_action_group('rules', this._actionGroup);
let action;
action = new Gio.SimpleAction({ name: 'add' });
action.connect('activate', this._onAddActivated.bind(this));
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({
name: 'remove',
parameter_type: new GLib.VariantType('s'),
});
action.connect('activate', this._onRemoveActivated.bind(this));
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({ name: 'update' });
action.connect('activate', () => {
this._settings.set_strv(SETTINGS_KEY,
this._getRuleRows().map(row => `${row.id}:${row.value}`));
});
this._actionGroup.add_action(action);
this._updateAction = action;
this._settings = ExtensionUtils.getSettings();
this._settings.connect('changed', this._refresh.bind(this));
this._changedPermitted = false;
this._changedId = this._settings.connect('changed',
this._sync.bind(this));
this._sync();
this._store = new Gtk.ListStore();
this._store.set_column_types([
Gio.AppInfo,
GObject.TYPE_STRING,
Gio.Icon,
GObject.TYPE_INT,
Gtk.Adjustment,
]);
this.connect('destroy', () => this._settings.run_dispose());
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
this.add(scrolled);
this._treeView = new Gtk.TreeView({
model: this._store,
hexpand: true,
vexpand: true,
});
this._treeView.get_selection().set_mode(Gtk.SelectionMode.SINGLE);
let appColumn = new Gtk.TreeViewColumn({
expand: true,
sort_column_id: Columns.DISPLAY_NAME,
title: _('Application'),
});
let iconRenderer = new Gtk.CellRendererPixbuf();
appColumn.pack_start(iconRenderer, false);
appColumn.add_attribute(iconRenderer, 'gicon', Columns.ICON);
let nameRenderer = new Gtk.CellRendererText();
appColumn.pack_start(nameRenderer, true);
appColumn.add_attribute(nameRenderer, 'text', Columns.DISPLAY_NAME);
this._treeView.append_column(appColumn);
let workspaceColumn = new Gtk.TreeViewColumn({
title: _('Workspace'),
sort_column_id: Columns.WORKSPACE,
});
let workspaceRenderer = new Gtk.CellRendererSpin({ editable: true });
workspaceRenderer.connect('edited', this._workspaceEdited.bind(this));
workspaceColumn.pack_start(workspaceRenderer, true);
workspaceColumn.add_attribute(workspaceRenderer, 'adjustment', Columns.ADJUSTMENT);
workspaceColumn.add_attribute(workspaceRenderer, 'text', Columns.WORKSPACE);
this._treeView.append_column(workspaceColumn);
scrolled.add(this._treeView);
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
this.add(toolbar);
let newButton = new Gtk.ToolButton({
icon_name: 'bookmark-new-symbolic',
label: _('Add Rule'),
is_important: true,
});
newButton.connect('clicked', this._createNew.bind(this));
toolbar.add(newButton);
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
delButton.connect('clicked', this._deleteSelected.bind(this));
toolbar.add(delButton);
let selection = this._treeView.get_selection();
selection.connect('changed', () => {
delButton.sensitive = selection.count_selected_rows() > 0;
});
delButton.sensitive = selection.count_selected_rows() > 0;
this._changedPermitted = true;
this._refresh();
this.show_all();
}
_createNew() {
let dialog = new Gtk.Dialog({
title: _('Create new matching rule'),
transient_for: this.get_toplevel(),
use_header_bar: true,
modal: true,
});
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
let addButton = dialog.add_button(_('Add'), Gtk.ResponseType.OK);
dialog.set_default_response(Gtk.ResponseType.OK);
let grid = new Gtk.Grid({
column_spacing: 10,
row_spacing: 15,
margin: 10,
});
dialog._appChooser = new Gtk.AppChooserWidget({ show_all: true });
dialog._appChooser.connect('application-selected', (w, appInfo) => {
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
});
let appInfo = dialog._appChooser.get_app_info();
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
grid.attach(dialog._appChooser, 0, 0, 2, 1);
grid.attach(new Gtk.Label({
label: _('Workspace'),
halign: Gtk.Align.END,
}), 0, 1, 1, 1);
let adjustment = new Gtk.Adjustment({
lower: 1,
upper: WORKSPACE_MAX,
step_increment: 1,
});
dialog._spin = new Gtk.SpinButton({
adjustment,
snap_to_ticks: true,
});
dialog._spin.set_value(1);
grid.attach(dialog._spin, 1, 1, 1, 1);
dialog.get_content_area().add(grid);
_onAddActivated() {
const dialog = new NewRuleDialog(this.get_toplevel());
dialog.connect('response', (dlg, id) => {
if (id !== Gtk.ResponseType.OK) {
dialog.destroy();
return;
const appInfo = id === Gtk.ResponseType.OK
? dialog.get_widget().get_app_info() : null;
if (appInfo) {
this._settings.set_strv(SETTINGS_KEY, [
...this._settings.get_strv(SETTINGS_KEY),
`${appInfo.get_id()}:1`,
]);
}
appInfo = dialog._appChooser.get_app_info();
if (!appInfo)
return;
let index = Math.floor(dialog._spin.value);
if (isNaN(index) || index < 0)
index = 1;
this._changedPermitted = false;
this._appendItem(appInfo.get_id(), index);
this._changedPermitted = true;
this._appendRow(appInfo, index);
dialog.destroy();
});
dialog.show_all();
}
_deleteSelected() {
let [any, model_, iter] = this._treeView.get_selection().get_selected();
if (any) {
let appInfo = this._store.get_value(iter, Columns.APPINFO);
this._changedPermitted = false;
this._removeItem(appInfo.get_id());
this._changedPermitted = true;
this._store.remove(iter);
}
_onRemoveActivated(action, param) {
const removed = param.deepUnpack();
this._settings.set_strv(SETTINGS_KEY,
this._settings.get_strv(SETTINGS_KEY).filter(entry => {
const [id] = entry.split(':');
return id !== removed;
}));
}
_workspaceEdited(renderer, pathString, text) {
let index = parseInt(text);
if (isNaN(index) || index < 0)
index = 1;
let path = Gtk.TreePath.new_from_string(pathString);
let [model_, iter] = this._store.get_iter(path);
let appInfo = this._store.get_value(iter, Columns.APPINFO);
this._changedPermitted = false;
this._changeItem(appInfo.get_id(), index);
this._store.set_value(iter, Columns.WORKSPACE, index);
this._changedPermitted = true;
_getRuleRows() {
return this._list.get_children().filter(row => !!row.id);
}
_refresh() {
if (!this._changedPermitted)
// Ignore this notification, model is being modified outside
return;
this._store.clear();
let currentItems = this._settings.get_strv(SETTINGS_KEY);
let validItems = [];
for (let i = 0; i < currentItems.length; i++) {
let [id, index] = currentItems[i].split(':');
let appInfo = Gio.DesktopAppInfo.new(id);
if (!appInfo)
continue;
validItems.push(currentItems[i]);
this._appendRow(appInfo, parseInt(index));
}
if (validItems.length !== currentItems.length) // some items were filtered out
this._settings.set_strv(SETTINGS_KEY, validItems);
}
_appendRow(appInfo, workspace) {
let iter = this._store.append();
let icon = appInfo.get_icon();
let displayName = appInfo.get_display_name();
let adj = new Gtk.Adjustment({
lower: 1,
upper: WORKSPACE_MAX,
step_increment: 1,
value: workspace,
_sync() {
const oldRules = this._getRuleRows();
const newRules = this._settings.get_strv(SETTINGS_KEY).map(entry => {
const [id, value] = entry.split(':');
return { id, value };
});
let { APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT } = Columns;
this._store.set(iter,
[APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT],
[appInfo, icon, displayName, workspace, adj]);
this._settings.block_signal_handler(this._changedId);
this._updateAction.enabled = false;
newRules.forEach(({ id, value }, index) => {
const row = oldRules.find(r => r.id === id);
const appInfo = row
? null : Gio.DesktopAppInfo.new(id);
if (row)
row.set({ value });
else if (appInfo)
this._list.insert(new RuleRow(appInfo, value), index);
});
const removed = oldRules.filter(
({ id }) => !newRules.find(r => r.id === id));
removed.forEach(r => r.destroy());
this._settings.unblock_signal_handler(this._changedId);
this._updateAction.enabled = true;
}
_checkId(id) {
let items = this._settings.get_strv(SETTINGS_KEY);
return !items.some(i => i.startsWith(`${id}:`));
}
_appendItem(id, workspace) {
let currentItems = this._settings.get_strv(SETTINGS_KEY);
currentItems.push(`${id}:${workspace}`);
this._settings.set_strv(SETTINGS_KEY, currentItems);
}
_removeItem(id) {
let currentItems = this._settings.get_strv(SETTINGS_KEY);
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
if (index < 0)
_updateHeader(row, before) {
if (!before || row.get_header())
return;
currentItems.splice(index, 1);
this._settings.set_strv(SETTINGS_KEY, currentItems);
}
_changeItem(id, workspace) {
let currentItems = this._settings.get_strv(SETTINGS_KEY);
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
if (index < 0)
currentItems.push(`${id}:${workspace}`);
else
currentItems[index] = `${id}:${workspace}`;
this._settings.set_strv(SETTINGS_KEY, currentItems);
row.set_header(new Gtk.Separator());
}
});
const RuleRow = GObject.registerClass({
Properties: {
'id': GObject.ParamSpec.string(
'id', 'id', 'id',
GObject.ParamFlags.READABLE,
''),
'value': GObject.ParamSpec.uint(
'value', 'value', 'value',
GObject.ParamFlags.READWRITE,
1, WORKSPACE_MAX, 1),
},
}, class RuleRow extends Gtk.ListBoxRow {
_init(appInfo, value) {
super._init({
activatable: false,
value,
});
this._appInfo = appInfo;
const box = new Gtk.Box({
spacing: 6,
margin_top: 6,
margin_bottom: 6,
margin_start: 6,
margin_end: 6,
});
const icon = new Gtk.Image({
gicon: appInfo.get_icon(),
pixel_size: 32,
});
icon.get_style_context().add_class('icon-dropshadow');
box.add(icon);
const label = new Gtk.Label({
label: appInfo.get_display_name(),
halign: Gtk.Align.START,
hexpand: true,
max_width_chars: 20,
ellipsize: Pango.EllipsizeMode.END,
});
box.add(label);
const spinButton = new Gtk.SpinButton({
adjustment: new Gtk.Adjustment({
lower: 1,
upper: WORKSPACE_MAX,
step_increment: 1,
}),
snap_to_ticks: true,
margin_end: 6,
});
this.bind_property('value',
spinButton, 'value',
GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
box.add(spinButton);
const button = new Gtk.Button({
action_name: 'rules.remove',
action_target: new GLib.Variant('s', this.id),
image: new Gtk.Image({
icon_name: 'edit-delete-symbolic',
pixel_size: 16,
}),
});
box.add(button);
this.add(box);
this.connect('notify::value', () => {
const actionGroup = this.get_action_group('rules');
actionGroup.activate_action('update', null);
});
this.show_all();
}
get id() {
return this._appInfo.get_id();
}
});
const NewRuleRow = GObject.registerClass(
class NewRuleRow extends Gtk.ListBoxRow {
_init() {
super._init({
action_name: 'rules.add',
});
this.get_accessible().set_name(_('Add Rule'));
this.add(new Gtk.Image({
icon_name: 'list-add-symbolic',
pixel_size: 16,
margin_top: 12,
margin_bottom: 12,
margin_start: 12,
margin_end: 12,
}));
this.show_all();
}
});
const NewRuleDialog = GObject.registerClass(
class NewRuleDialog extends Gtk.AppChooserDialog {
_init(parent) {
super._init({
transient_for: parent,
modal: true,
});
this._settings = ExtensionUtils.getSettings();
this.get_widget().set({
show_all: true,
show_other: true, // hide more button
});
this.get_widget().connect('application-selected',
this._updateSensitivity.bind(this));
this._updateSensitivity();
this.show();
}
_updateSensitivity() {
const rules = this._settings.get_strv(SETTINGS_KEY);
const appInfo = this.get_widget().get_app_info();
this.set_response_sensitive(Gtk.ResponseType.OK,
appInfo && !rules.some(i => i.startsWith(appInfo.get_id())));
}
});
function init() {
ExtensionUtils.initTranslations();
}
function buildPrefsWidget() {
let widget = new Widget({ margin: 12 });
widget.show_all();
return widget;
return new AutoMoveSettingsWidget();
}

View File

@@ -1,6 +1,6 @@
/* exported init enable disable */
// Drive menu extension
const { Gio, GObject, Shell, St } = imports.gi;
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
@@ -14,9 +14,15 @@ const ShellMountOperation = imports.ui.shellMountOperation;
var MountMenuItem = GObject.registerClass(
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
_init(mount) {
super._init();
super._init({
style_class: 'drive-menu-item',
});
this.label = new St.Label({ text: mount.get_name() });
this.label = new St.Label({
text: mount.get_name(),
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this.label);
this.label_actor = this.label;
@@ -28,7 +34,10 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon',
});
let ejectButton = new St.Button({ child: ejectIcon });
let ejectButton = new St.Button({
child: ejectIcon,
style_class: 'button',
});
ejectButton.connect('clicked', this._eject.bind(this));
this.add(ejectButton);

View File

@@ -1 +1,7 @@
/* This extensions requires no custom styling */
.drive-menu-item { spacing: 12px; }
.drive-menu-item .button {
border-radius: 99px;
padding: 3px;
min-height: auto;
}

View File

@@ -3,7 +3,7 @@ js_sources = []
metadata_name = 'metadata.json'
foreach e : all_extensions
foreach e : enabled_extensions
uuid = e + uuid_suffix
metadata_conf = configuration_data()
@@ -19,27 +19,11 @@ foreach e : all_extensions
subdir(e)
js_sources += extension_sources
if (enabled_extensions.contains(e))
install_data (extension_sources + extension_data,
install_dir: join_paths(extensiondir, uuid)
)
endif
install_data (extension_sources + extension_data,
install_dir: join_paths(extensiondir, uuid)
)
endforeach
install_data (extension_schemas,
install_dir: schemadir
)
foreach js_source : js_sources
if (js68.found())
path_array = '@0@'.format(js_source).split('/')
name = join_paths(path_array[-2], path_array[-1])
test('Checking syntax of ' + name, js68,
args: ['-s', '-c', js_source],
workdir: meson.current_source_dir()
)
endif
endforeach

View File

@@ -1,6 +1,9 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported enable disable */
const { Clutter } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const { WindowPreview } = imports.ui.windowPreview;
const Workspace = imports.ui.workspace;
// testing settings for natural window placement strategy:
@@ -221,8 +224,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
for (let i = 0; i < rects.length; i++) {
rects[i].x = rects[i].x * scale + areaRect.x;
rects[i].y = rects[i].y * scale + areaRect.y;
rects[i].width *= scale;
rects[i].height *= scale;
slots.push([rects[i].x, rects[i].y, scale, clones[i]]);
slots.push([rects[i].x, rects[i].y, rects[i].width, rects[i].height, clones[i]]);
}
return slots;
@@ -241,24 +246,24 @@ function enable() {
let settings = ExtensionUtils.getSettings();
workspaceInjections['_getBestLayout'] = Workspace.Workspace.prototype._getBestLayout;
Workspace.Workspace.prototype._getBestLayout = function (windows) {
workspaceInjections['_createBestLayout'] = Workspace.WorkspaceLayout.prototype._createBestLayout;
Workspace.WorkspaceLayout.prototype._createBestLayout = function (area) {
let strategy = new NaturalLayoutStrategy(settings);
let layout = { strategy };
strategy.computeLayout(windows, layout);
let layout = { area, strategy };
strategy.computeLayout(this._sortedWindows, layout);
return layout;
};
// position window titles on top of windows in overlay
winInjections['relayout'] = Workspace.WindowOverlay.prototype.relayout;
Workspace.WindowOverlay.prototype.relayout = function (animate) {
if (settings.get_boolean('window-captions-on-top')) {
let [, , , cloneHeight] = this._windowClone.slot;
this.title.translation_y = -cloneHeight;
}
winInjections['_init'] = WindowPreview.prototype._init;
WindowPreview.prototype._init = function (metaWindow, workspace) {
winInjections['_init'].call(this, metaWindow, workspace);
winInjections['relayout'].call(this, animate);
const constraint = this._title.get_constraints().find(
c => c.align_axis && c.align_axis === Clutter.AlignAxis.Y_AXIS);
constraint.factor = settings.get_boolean('window-captions-on-top')
? 0 : 1;
};
}
@@ -273,9 +278,9 @@ function disable() {
var i;
for (i in workspaceInjections)
removeInjection(Workspace.Workspace.prototype, workspaceInjections, i);
removeInjection(Workspace.WorkspaceLayout.prototype, workspaceInjections, i);
for (i in winInjections)
removeInjection(Workspace.WindowOverlay.prototype, winInjections, i);
removeInjection(WindowPreview.prototype, winInjections, i);
global.stage.queue_relayout();
resetState();

View File

@@ -20,7 +20,9 @@ const PLACE_ICON_SIZE = 16;
var PlaceMenuItem = GObject.registerClass(
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
_init(info) {
super._init();
super._init({
style_class: 'place-menu-item',
});
this._info = info;
this._icon = new St.Icon({
@@ -29,7 +31,11 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
});
this.add_child(this._icon);
this._label = new St.Label({ text: info.name, x_expand: true });
this._label = new St.Label({
text: info.name,
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this._label);
if (info.isRemovable()) {
@@ -37,7 +43,10 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon',
});
this._ejectButton = new St.Button({ child: this._ejectIcon });
this._ejectButton = new St.Button({
child: this._ejectIcon,
style_class: 'button',
});
this._ejectButton.connect('clicked', info.eject.bind(info));
this.add_child(this._ejectButton);
}

View File

@@ -1 +1,8 @@
/* none used*/
.place-menu-item .button {
border-radius: 99px;
padding: 3px;
min-height: auto;
}
.place-menu-item .button:ltr { margin-left: 6px; }
.place-menu-item .button:rtl { margin-right: 6px; }

View File

@@ -2,11 +2,14 @@
// Load shell theme from ~/.local/share/themes/name/gnome-shell
/* exported init */
const { Gio, GLib } = imports.gi;
const { Gio } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const Me = ExtensionUtils.getCurrentExtension();
const Util = Me.imports.util;
const SETTINGS_KEY = 'name';
class ThemeManager {
@@ -34,13 +37,11 @@ class ThemeManager {
let themeName = this._settings.get_string(SETTINGS_KEY);
if (themeName) {
let stylesheetPaths = [
[GLib.get_home_dir(), '.themes'],
[GLib.get_user_data_dir(), 'themes'],
...GLib.get_system_data_dirs().map(dir => [dir, 'themes']),
].map(themeDir => GLib.build_filenamev([
...themeDir, themeName, 'gnome-shell', 'gnome-shell.css',
]));
const stylesheetPaths = Util.getThemeDirs()
.map(dir => `${dir}/${themeName}/gnome-shell/gnome-shell.css`);
stylesheetPaths.push(...Util.getModeThemeDirs()
.map(dir => `${dir}/${themeName}.css`));
stylesheet = stylesheetPaths.find(path => {
let file = Gio.file_new_for_path(path);

View File

@@ -4,4 +4,5 @@ extension_data += configure_file(
configuration: metadata_conf
)
extension_sources += files('prefs.js', 'util.js')
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')

View File

@@ -0,0 +1,189 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */
// we use async/await here to not block the mainloop, not to parallelize
/* eslint-disable no-await-in-loop */
const { Gio, GLib, GObject, Gtk } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const Util = Me.imports.util;
Gio._promisify(Gio._LocalFilePrototype,
'enumerate_children_async', 'enumerate_children_finish');
Gio._promisify(Gio._LocalFilePrototype,
'query_info_async', 'query_info_finish');
Gio._promisify(Gio.FileEnumerator.prototype,
'next_files_async', 'next_files_finish');
const UserThemePrefsWidget = GObject.registerClass(
class UserThemePrefsWidget extends Gtk.ScrolledWindow {
_init() {
super._init({
hscrollbar_policy: Gtk.PolicyType.NEVER,
});
const box = new Gtk.Box();
this.add(box);
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
halign: Gtk.Align.CENTER,
valign: Gtk.Align.START,
hexpand: true,
margin: 60,
});
this._list.get_style_context().add_class('frame');
this._list.set_header_func(this._updateHeader.bind(this));
box.add(this._list);
this._actionGroup = new Gio.SimpleActionGroup();
this._list.insert_action_group('theme', this._actionGroup);
this._settings = ExtensionUtils.getSettings();
this._actionGroup.add_action(
this._settings.create_action('name'));
this.connect('destroy', () => this._settings.run_dispose());
this._rows = new Map();
this._addTheme(''); // default
this._collectThemes();
}
async _collectThemes() {
for (const dirName of Util.getThemeDirs()) {
const dir = Gio.File.new_for_path(dirName);
for (const name of await this._enumerateDir(dir)) {
if (this._rows.has(name))
continue;
const file = dir.resolve_relative_path(
`${name}/gnome-shell/gnome-shell.css`);
try {
await file.query_info_async(
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_DEFAULT, null);
this._addTheme(name);
} catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
logError(e);
}
}
}
for (const dirName of Util.getModeThemeDirs()) {
const dir = Gio.File.new_for_path(dirName);
for (const filename of await this._enumerateDir(dir)) {
if (!filename.endsWith('.css'))
continue;
const name = filename.slice(0, -4);
if (!this._rows.has(name))
this._addTheme(name);
}
}
}
_addTheme(name) {
const row = new ThemeRow(name);
this._rows.set(name, row);
this._list.add(row);
row.show_all();
}
async _enumerateDir(dir) {
const fileInfos = [];
let fileEnum;
try {
fileEnum = await dir.enumerate_children_async(
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_DEFAULT, null);
} catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
logError(e);
return [];
}
let infos;
do {
infos = await fileEnum.next_files_async(100,
GLib.PRIORITY_DEFAULT, null);
fileInfos.push(...infos);
} while (infos.length > 0);
return fileInfos.map(info => info.get_name());
}
_updateHeader(row, before) {
if (!before || row.get_header())
return;
row.set_header(new Gtk.Separator());
}
});
const ThemeRow = GObject.registerClass(
class ThemeRow extends Gtk.ListBoxRow {
_init(name) {
this._name = new GLib.Variant('s', name);
super._init({
action_name: 'theme.name',
action_target: this._name,
});
const box = new Gtk.Box({
spacing: 12,
margin: 12,
});
this.add(box);
box.add(new Gtk.Label({
label: name || 'Default',
hexpand: true,
xalign: 0,
max_width_chars: 25,
width_chars: 25,
}));
this._checkmark = new Gtk.Image({
icon_name: 'emblem-ok-symbolic',
pixel_size: 16,
});
box.add(this._checkmark);
box.show_all();
const id = this.connect('parent-set', () => {
this.disconnect(id);
const actionGroup = this.get_action_group('theme');
actionGroup.connect('action-state-changed::name',
this._syncCheckmark.bind(this));
this._syncCheckmark();
});
}
_syncCheckmark() {
const actionGroup = this.get_action_group('theme');
const state = actionGroup.get_action_state('name');
this._checkmark.opacity = this._name.equal(state);
}
});
function init() {
}
function buildPrefsWidget() {
let widget = new UserThemePrefsWidget();
widget.show_all();
return widget;
}

View File

@@ -0,0 +1,17 @@
/* exported getThemeDirs getModeThemeDirs */
const { GLib } = imports.gi;
const fn = (...args) => GLib.build_filenamev(args);
function getThemeDirs() {
return [
fn(GLib.get_home_dir(), '.themes'),
fn(GLib.get_user_data_dir(), 'themes'),
...GLib.get_system_data_dirs().map(dir => fn(dir, 'themes')),
];
}
function getModeThemeDirs() {
return GLib.get_system_data_dirs()
.map(dir => fn(dir, 'gnome-shell', 'theme'));
}

View File

@@ -220,13 +220,12 @@ const BaseButton = GObject.registerClass({
super._init({
style_class: 'window-button',
x_fill: true,
y_fill: true,
can_focus: true,
x_expand: true,
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
});
this.connect('allocation-changed',
this.connect('notify::allocation',
this._updateIconGeometry.bind(this));
this.connect('clicked', this._onClicked.bind(this));
this.connect('destroy', this._onDestroy.bind(this));
@@ -353,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);
@@ -413,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();
@@ -491,8 +494,6 @@ class AppButton extends BaseButton {
this._singleWindowTitle = new St.Bin({
x_expand: true,
y_fill: true,
x_align: St.Align.START,
});
stack.add_actor(this._singleWindowTitle);
@@ -786,9 +787,9 @@ class WindowList extends St.Widget {
});
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),
};
@@ -940,10 +941,7 @@ class WindowList extends St.Widget {
let button = new AppButton(app, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.layout_manager.pack(button,
true, true, true,
Clutter.BoxAlignment.START,
Clutter.BoxAlignment.START);
this._windowList.add_child(button);
}
_removeApp(app) {
@@ -954,9 +952,6 @@ class WindowList extends St.Widget {
}
_onWindowAdded(ws, win) {
if (win.skip_taskbar)
return;
if (!this._grouped)
this._checkGrouping();
@@ -970,10 +965,7 @@ class WindowList extends St.Widget {
let button = new WindowButton(win, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.layout_manager.pack(button,
true, true, true,
Clutter.BoxAlignment.START,
Clutter.BoxAlignment.START);
this._windowList.add_child(button);
}
_onWindowRemoved(ws, win) {
@@ -1025,11 +1017,11 @@ class WindowList extends St.Widget {
}
}
_onDragBegin() {
_monitorDrag() {
DND.addDragMonitor(this._dragMonitor);
}
_onDragEnd() {
_stopMonitoringDrag() {
DND.removeDragMonitor(this._dragMonitor);
this._removeActivateTimeout();
}
@@ -1103,6 +1095,7 @@ class WindowList extends St.Widget {
global.display.disconnect(this._fullscreenChangedId);
this._stopMonitoringDrag();
Main.xdndHandler.disconnect(this._dragBeginId);
Main.xdndHandler.disconnect(this._dragEndId);

View File

@@ -14,13 +14,17 @@ function init() {
}
const WindowListPrefsWidget = GObject.registerClass(
class WindowListPrefsWidget extends Gtk.Grid {
_init(params) {
super._init(params);
this.margin = 24;
this.row_spacing = 6;
this.orientation = Gtk.Orientation.VERTICAL;
class WindowListPrefsWidget extends Gtk.Box {
_init() {
super._init({
orientation: Gtk.Orientation.VERTICAL,
spacing: 6,
margin_top: 36,
margin_bottom: 36,
margin_start: 36,
margin_end: 36,
halign: Gtk.Align.CENTER,
});
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
this.add(new Gtk.Label({
@@ -28,15 +32,22 @@ class WindowListPrefsWidget extends Gtk.Grid {
halign: Gtk.Align.START,
}));
let align = new Gtk.Alignment({ left_padding: 12 });
this.add(align);
let grid = new Gtk.Grid({
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
row_spacing: 6,
column_spacing: 6,
spacing: 12,
margin_bottom: 12,
});
align.add(grid);
this.add(box);
const context = box.get_style_context();
const cssProvider = new Gtk.CssProvider();
cssProvider.load_from_data(
'box { padding: 12px; }');
context.add_provider(cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
context.add_class('frame');
context.add_class('view');
this._settings = ExtensionUtils.getSettings();
let currentMode = this._settings.get_string('grouping-mode');
@@ -50,6 +61,7 @@ class WindowListPrefsWidget extends Gtk.Grid {
};
let radio = null;
let currentRadio = null;
for (let i = 0; i < modes.length; i++) {
let mode = modes[i];
let label = modeLabels[mode];
@@ -59,11 +71,15 @@ class WindowListPrefsWidget extends Gtk.Grid {
}
radio = new Gtk.RadioButton({
active: currentMode === mode,
active: !i,
label,
group: radio,
margin_end: 12,
});
grid.add(radio);
box.add(radio);
if (currentMode === mode)
currentRadio = radio;
radio.connect('toggled', button => {
if (button.active)
@@ -71,25 +87,25 @@ class WindowListPrefsWidget extends Gtk.Grid {
});
}
if (currentRadio)
currentRadio.active = true;
let check = new Gtk.CheckButton({
label: _('Show on all monitors'),
margin_top: 6,
});
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.add(check);
check = new Gtk.CheckButton({
label: _('Show windows from all workspaces'),
margin_top: 6,
});
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.add(check);
this.show_all();
}
});
function buildPrefsWidget() {
let widget = new WindowListPrefsWidget();
widget.show_all();
return widget;
return new WindowListPrefsWidget();
}

View File

@@ -26,6 +26,8 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
super._init(this._workspaceAdjustment);
this._workspaceAdjustment.actor = this;
this.add_constraint(
new Layout.MonitorConstraint({
primary: true,
@@ -37,27 +39,28 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
this._onWorkAreasChanged();
}
show(...args) {
animateToOverview(...args) {
if (!this._scrollEventId) {
this._scrollEventId = Main.windowPicker.connect('scroll-event',
this._onScrollEvent.bind(this));
}
super.show(...args);
super.animateToOverview(...args);
}
hide(...args) {
vfunc_hide(...args) {
if (this._scrollEventId > 0)
Main.windowPicker.disconnect(this._scrollEventId);
this._scrollEventId = 0;
super.hide(...args);
super.vfunc_hide(...args);
}
_onWorkAreasChanged() {
let { primaryIndex } = Main.layoutManager;
let workarea = Main.layoutManager.getWorkAreaForMonitor(primaryIndex);
this.setWorkspacesFullGeometry(workarea);
this._actualGeometry =
Main.layoutManager.getWorkAreaForMonitor(primaryIndex);
this._syncWorkspacesActualGeometry();
}
_updateAdjustment() {
@@ -163,7 +166,7 @@ var WindowPicker = GObject.registerClass({
this._fakeOverviewVisible(true);
this._shadeBackgrounds();
this._fakeOverviewAnimation();
this._workspacesDisplay.show(false);
this._workspacesDisplay.animateToOverview(false);
this._stageKeyPressId = global.stage.connect('key-press-event',
(a, event) => {
@@ -286,8 +289,6 @@ class WindowPickerToggle extends St.Button {
style_class: 'window-picker-toggle',
child: iconBin,
visible: !Main.sessionMode.hasOverview,
x_fill: true,
y_fill: true,
toggle_mode: true,
});

View File

@@ -24,27 +24,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 +39,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 +57,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,11 +102,9 @@ 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,
}),
x_fill: true,
y_fill: true,
});
this.connect('destroy', this._onDestroy.bind(this));
@@ -136,16 +133,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;
@@ -390,10 +386,5 @@ class WorkspaceIndicator extends PanelMenu.Button {
let newIndex = this._currentWorkspace + diff;
this._activate(newIndex);
}
_allocate(actor, box, flags) {
if (actor.get_n_children() > 0)
actor.get_first_child().allocate(box, flags);
}
});

View File

@@ -1,45 +1,12 @@
/* -*- 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 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 {
@@ -61,57 +28,89 @@ 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 slot = this.layout_manager._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();
for (let i = 0; i < this.layout_manager._windowSlots.length; i++) {
if (this.layout_manager._windowSlots[i])
this.layout_manager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
}
}
hideWindowsTooltips() {
for (let i in this._windowOverlays) {
if (this._windowOverlays[i])
this._windowOverlays[i].hideTooltip();
for (let i in this.layout_manager._windowSlots) {
if (this.layout_manager._windowSlots[i])
this.layout_manager._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._borderCenter,
coordinate: Clutter.BindCoordinate.POSITION,
}));
this._text.add_constraint(new Clutter.AlignConstraint({
source: this._borderCenter,
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._borderCenter,
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(
@@ -244,19 +243,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;
}

View File

@@ -30,27 +30,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 +45,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 +63,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,11 +108,9 @@ 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,
}),
x_fill: true,
y_fill: true,
});
this.connect('destroy', this._onDestroy.bind(this));
@@ -142,16 +139,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;

View File

@@ -1,7 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */
const { Gio, GObject, Gtk } = imports.gi;
const { Gdk, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
@@ -12,189 +12,221 @@ const ExtensionUtils = imports.misc.extensionUtils;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
const WorkspaceNameModel = GObject.registerClass(
class WorkspaceNameModel extends Gtk.ListStore {
_init(params) {
super._init(params);
this.set_column_types([GObject.TYPE_STRING]);
this.Columns = {
LABEL: 0,
};
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
this._reloadFromSettings();
// overriding class closure doesn't work, because GtkTreeModel
// plays tricks with marshallers and class closures
this.connect('row-changed', this._onRowChanged.bind(this));
this.connect('row-inserted', this._onRowInserted.bind(this));
this.connect('row-deleted', this._onRowDeleted.bind(this));
}
_reloadFromSettings() {
if (this._preventChanges)
return;
this._preventChanges = true;
let newNames = this._settings.get_strv(WORKSPACE_KEY);
let i = 0;
let [ok, iter] = this.get_iter_first();
while (ok && i < newNames.length) {
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
ok = this.iter_next(iter);
i++;
}
while (ok)
ok = this.remove(iter);
for (; i < newNames.length; i++) {
iter = this.append();
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
}
this._preventChanges = false;
}
_onRowChanged(self, path, iter) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
if (index >= names.length) {
// fill with blanks
for (let i = names.length; i <= index; i++)
names[i] = '';
}
names[index] = this.get_value(iter, this.Columns.LABEL);
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
_onRowInserted(self, path, iter) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
let label = this.get_value(iter, this.Columns.LABEL) || '';
names.splice(index, 0, label);
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
_onRowDeleted(self, path) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
if (index >= names.length)
return;
names.splice(index, 1);
// compact the array
for (let i = names.length - 1; i >= 0 && !names[i]; i++)
names.pop();
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
});
const WorkspaceSettingsWidget = GObject.registerClass(
class WorkspaceSettingsWidget extends Gtk.Grid {
_init(params) {
super._init(params);
this.margin = 12;
this.orientation = Gtk.Orientation.VERTICAL;
class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
_init() {
super._init({
hscrollbar_policy: Gtk.PolicyType.NEVER,
});
this.add(new Gtk.Label({
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
halign: Gtk.Align.CENTER,
spacing: 12,
margin_top: 36,
margin_bottom: 36,
margin_start: 36,
margin_end: 36,
});
this.add(box);
box.add(new Gtk.Label({
label: '<b>%s</b>'.format(_('Workspace Names')),
use_markup: true,
margin_bottom: 6,
hexpand: true,
halign: Gtk.Align.START,
}));
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
this.add(scrolled);
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
valign: Gtk.Align.START,
});
this._list.set_header_func(this._updateHeader.bind(this));
this._list.connect('row-activated', (l, row) => row.edit());
box.add(this._list);
this._store = new WorkspaceNameModel();
this._treeView = new Gtk.TreeView({
model: this._store,
headers_visible: false,
reorderable: true,
const context = this._list.get_style_context();
const cssProvider = new Gtk.CssProvider();
cssProvider.load_from_data(
'list { min-width: 25em; }');
context.add_provider(cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
context.add_class('frame');
this._list.add(new NewWorkspaceRow());
this._actionGroup = new Gio.SimpleActionGroup();
this._list.insert_action_group('workspaces', this._actionGroup);
let action;
action = new Gio.SimpleAction({ name: 'add' });
action.connect('activate', () => {
const names = this._settings.get_strv(WORKSPACE_KEY);
this._settings.set_strv(WORKSPACE_KEY, [
...names,
_('Workspace %d').format(names.length + 1),
]);
});
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({
name: 'remove',
parameter_type: new GLib.VariantType('s'),
});
action.connect('activate', (a, param) => {
const removed = param.deepUnpack();
this._settings.set_strv(WORKSPACE_KEY,
this._settings.get_strv(WORKSPACE_KEY)
.filter(name => name !== removed));
});
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({ name: 'update' });
action.connect('activate', () => {
const names = this._getWorkspaceRows().map(row => row.name);
this._settings.set_strv(WORKSPACE_KEY, names);
});
this._actionGroup.add_action(action);
this._settings = new Gio.Settings({
schema_id: WORKSPACE_SCHEMA,
});
this._settings.connect(`changed::${WORKSPACE_KEY}`,
this._sync.bind(this));
this._sync();
this.show_all();
}
_getWorkspaceRows() {
return this._list.get_children().filter(row => row.name);
}
_sync() {
const rows = this._getWorkspaceRows();
const oldNames = rows.map(row => row.name);
const newNames = this._settings.get_strv(WORKSPACE_KEY);
const removed = oldNames.filter(n => !newNames.includes(n));
const added = newNames.filter(n => !oldNames.includes(n));
removed.forEach(n => rows.find(r => r.name === n).destroy());
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(
class WorkspaceRow extends Gtk.ListBoxRow {
_init(name) {
super._init({ name });
const box = new Gtk.Box({
spacing: 12,
margin_top: 6,
margin_bottom: 6,
margin_start: 6,
margin_end: 6,
});
const label = new Gtk.Label({
hexpand: true,
vexpand: true,
xalign: 0,
max_width_chars: 25,
ellipsize: Pango.EllipsizeMode.END,
});
this.bind_property('name', label, 'label',
GObject.BindingFlags.SYNC_CREATE);
box.add(label);
const image = new Gtk.Image({
icon_name: 'edit-delete-symbolic',
pixel_size: 16,
});
const button = new Gtk.Button({
action_name: 'workspaces.remove',
action_target: new GLib.Variant('s', name),
image,
});
box.add(button);
this._entry = new Gtk.Entry({
max_width_chars: 25,
});
let column = new Gtk.TreeViewColumn({ title: _('Name') });
let renderer = new Gtk.CellRendererText({ editable: true });
renderer.connect('edited', this._cellEdited.bind(this));
column.pack_start(renderer, true);
column.add_attribute(renderer, 'text', this._store.Columns.LABEL);
this._treeView.append_column(column);
this._stack = new Gtk.Stack();
this._stack.add_named(box, 'display');
this._stack.add_named(this._entry, 'edit');
this.add(this._stack);
scrolled.add(this._treeView);
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
let newButton = new Gtk.ToolButton({ icon_name: 'list-add-symbolic' });
newButton.connect('clicked', this._newClicked.bind(this));
toolbar.add(newButton);
let delButton = new Gtk.ToolButton({ icon_name: 'list-remove-symbolic' });
delButton.connect('clicked', this._delClicked.bind(this));
toolbar.add(delButton);
let selection = this._treeView.get_selection();
selection.connect('changed', () => {
delButton.sensitive = selection.count_selected_rows() > 0;
this._entry.connect('activate', () => {
this.name = this._entry.text;
this._stopEdit();
});
delButton.sensitive = selection.count_selected_rows() > 0;
this._entry.connect('notify::has-focus', () => {
if (this._entry.has_focus)
return;
this._stopEdit();
});
this._entry.connect('key-press-event',
this._onEntryKeyPress.bind(this));
this.add(toolbar);
this.connect('notify::name', () => {
button.action_target = new GLib.Variant('s', this.name);
const actionGroup = this.get_action_group('workspaces');
actionGroup.activate_action('update', null);
});
this.show_all();
}
_cellEdited(renderer, path, newText) {
let [ok, iter] = this._store.get_iter_from_string(path);
if (ok)
this._store.set(iter, [this._store.Columns.LABEL], [newText]);
edit() {
this._entry.text = this.name;
this._entry.grab_focus();
this._stack.visible_child_name = 'edit';
}
_newClicked() {
let iter = this._store.append();
let index = this._store.get_path(iter).get_indices()[0];
let label = _('Workspace %d').format(index + 1);
this._store.set(iter, [this._store.Columns.LABEL], [label]);
_stopEdit() {
this.grab_focus();
this._stack.visible_child_name = 'display';
}
_delClicked() {
let [any, model_, iter] = this._treeView.get_selection().get_selected();
_onEntryKeyPress(entry, event) {
const [, keyval] = event.get_keyval();
if (keyval !== Gdk.KEY_Escape)
return Gdk.EVENT_PROPAGATE;
this._stopEdit();
return Gdk.EVENT_STOP;
}
});
if (any)
this._store.remove(iter);
const NewWorkspaceRow = GObject.registerClass(
class NewWorkspaceRow extends Gtk.ListBoxRow {
_init() {
super._init({
action_name: 'workspaces.add',
});
this.get_accessible().set_name(_('Add Workspace'));
this.add(new Gtk.Image({
icon_name: 'list-add-symbolic',
pixel_size: 16,
margin_top: 12,
margin_bottom: 12,
margin_start: 12,
margin_end: 12,
}));
this.show_all();
}
});
@@ -203,8 +235,5 @@ function init() {
}
function buildPrefsWidget() {
let widget = new WorkspaceSettingsWidget();
widget.show_all();
return widget;
return new WorkspaceSettingsWidget();
}

View File

@@ -1,5 +1,5 @@
project('gnome-shell-extensions',
version: '3.36.2',
version: '3.38.2',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)
@@ -20,8 +20,6 @@ schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
xsessiondir = join_paths(datadir, 'xsessions')
js68 = find_program('js68', required: false)
ver_arr = meson.project_version().split('.')
if ver_arr[1].to_int().is_even()
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])

View File

@@ -32,6 +32,7 @@ id
is
it
ja
kab
kk
km
kn

View File

@@ -1,5 +1,4 @@
data/gnome-classic.desktop.in
data/gnome-classic.session.desktop.in
extensions/apps-menu/extension.js
extensions/auto-move-windows/extension.js
extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml
@@ -10,7 +9,6 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac
extensions/places-menu/extension.js
extensions/places-menu/placeDisplay.js
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
extensions/user-theme/extension.js
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
extensions/window-list/extension.js
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml

View File

@@ -1,360 +1,350 @@
# sray <sray@redhat.com>, 2013, 2014. #zanata.
# Akarshan Biswas <akarshan.biswas@hotmail.com>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2014-09-22 07:38+0000\n"
"PO-Revision-Date: 2014-09-22 16:37+0000\n"
"Last-Translator: \n"
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
"Project-Id-Version: unnamed project\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-13 10:03+0530\n"
"Last-Translator: Akarshan Biswas <akarshan.biswas@hotmail.com>\n"
"Language-Team: Bengali (India) <anubad@lists.ankur.org.in>\n"
"Language: bn_IN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Gtranslator 3.36.0\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME ক্লাসিক"
#: ../data/gnome-classic.desktop.in.h:2
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "এই সেশন অাপনাকে GNOME ক্লাসিকে লগ করায়"
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "GNOME সেল ক্লাসিক"
# auto translated by TM merge from project: gnome-shell, version: 3.8.4, DocId: gnome-shell
#: ../data/gnome-shell-classic.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "উইন্ডো পরিচালনা ও অ্যাপ্লিকেশন প্রারম্ভ"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
msgid "Attach modal dialog to the parent window"
msgstr "প্রধান উইন্ডোতে মোডেল ডায়ালগ সংযুক্ত করুন"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"GNOME সেল চালানোর ক্ষেত্রে এই কী in org.gnome.mutter এর কী ওভাররাইড করে।"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
msgid "Arrangement of buttons on the titlebar"
msgstr "শিরোনাম দন্ডে বোতামগুলির সজ্জা"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
#| msgid ""
#| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"GNOME সেল চালানোর সময়ে এই কী org.gnome.desktop.wm.preferences-এর কী ওভাররাইড "
"করে।"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "উইন্ডো স্ক্রীন কিনারায় রাখার সময়ে কিনারা টাইলিং সক্রিয় করুন"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
msgid "Workspaces only on primary monitor"
msgstr "শুধুমাত্র প্রধান মনিটরে ওয়ার্কস্পেস"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"পয়েন্টার অবস্থান পরিবর্তন না থামানো পর্যন্ত মাউস মোডে ফোকাস পরিবর্তন বিলম্বিত "
"করুন"
#: ../extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "শুধুমাত্র থাম্বনেইল"
#: ../extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "শুধুমাত্র অ্যাপ্লিকেশন অাইকন"
#: ../extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "থাম্বনেইল এবং অ্যাপ্লিকেশন অাইকন"
#: ../extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "এই রূপে উইন্ডো উপস্থাপনা"
#: ../extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "শুধুমাত্র উইন্ডো বর্তমান ওয়ার্কস্পেসে দেখান"
#: ../extensions/apps-menu/extension.js:39
msgid "Activities Overview"
msgstr "ক্রিয়াকলাপের পূর্বরূপ"
msgstr "এই সেশন পনাকে GNOME ক্লাসিকে লগ করায়"
# auto translated by TM merge from project: system-config-printer, version: 1.1.16-23, DocId: system-config-printer
#: ../extensions/apps-menu/extension.js:113
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "বিশেষ"
# auto translated by TM merge from project: gnome-menus, version: 3.8.0, DocId: gnome-menus-3.0
#: ../extensions/apps-menu/extension.js:282
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "অ্যাপ্লিকেশন"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "অ্যাপ্লেকেশন এবং ওয়ার্কস্পেস তালিকা"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"স্ট্রীঙের একটি তালিকা, প্রতিটিতে থাকে একটি অ্যাপ্লিকেশন অাইডি (ডেস্কটপ ফাইল "
"নাম), "
"স্ট্রীঙের একটি তালিকা, প্রতিটিতে থাকে একটি অ্যাপ্লিকেশন ইডি (ডেস্কটপ ফাইল নাম), "
"সংগে থাকে যতিচিহ্ন এবং ওয়ার্কস্পেস নম্বর"
# auto translated by TM merge from project: yelp, version: 3.8.1, DocId: yelp
#: ../extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "অ্যাপ্লিকেশন"
#: ../extensions/auto-move-windows/prefs.js:69
#: ../extensions/auto-move-windows/prefs.js:127
msgid "Workspace"
msgstr "ওয়ার্কস্পেস"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "ওয়ার্কস্পেস নিয়মগুলি"
# auto translated by TM merge from project: evolution, version: el6, DocId: evolution-2.32
#: ../extensions/auto-move-windows/prefs.js:85
#| msgid "Add rule"
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "নিয়ম যোগ করুন"
#: ../extensions/auto-move-windows/prefs.js:106
msgid "Create new matching rule"
msgstr "মেলানোর নতুন নিয়ম তৈরি করুন"
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
#: ../extensions/auto-move-windows/prefs.js:111
msgid "Add"
msgstr "যোগ করুন"
#: ../extensions/drive-menu/extension.js:106
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive '%s' failed:"
msgstr "'%s' ড্রাইভ ইজেক্ট করা গেল না:"
#| msgid "Ejecting drive '%s' failed:"
msgid "Ejecting drive “%s” failed:"
msgstr "'%s' ড্রাইভ ইজেক্ট করতে ব্যর্থ :"
#: ../extensions/drive-menu/extension.js:123
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "অপসারণযোগ্য ডিভাইসগুলি"
# auto translated by TM merge from project: gnome-user-share, version: 3.8, DocId: gnome-user-share
#: ../extensions/drive-menu/extension.js:150
msgid "Open File"
#: extensions/drive-menu/extension.js:155
#| msgid "Open File"
msgid "Open Files"
msgstr "ফাইল খুলুন"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "ওহে, বিশ্ব!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
msgstr "বিকল্প অভিবাদন পাঠ্য।"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr "খালি না থাকলে, তাতে পাঠ্য থাকবে যা প্যানেলে ক্লিক করা হলে দেখানো হবে।"
#: ../extensions/example/prefs.js:30
#| msgid "Message:"
msgid "Message"
msgstr "বার্তা"
#: ../extensions/example/prefs.js:43
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"সেলের জন্য সুস্থিত এক্সটেনশন কীভাবে গঠন করা সম্ভব তা উদাহরণের মাধ্যমে "
"উপস্থাপিত করা "
"হয়।\n"
"উপরন্তু অভিভাদন বার্তা নিজের পছন্দ মতোও করে নেওয়া যায়।"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "উইন্ডোর জন্য অারো স্ক্রীন ব্যবহার করুন"
msgstr "উইন্ডোর জন্য রো স্ক্রীন ব্যবহার করুন"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"স্ক্রীন অ্যাসপেক্ট অনুপাত সামঞ্জস্যপূর্ণ করে উইন্ডো থাম্বনেইল রাখার জন্য অারো "
"স্ক্রীন "
"ব্যবহারের চেষ্টা করুন, এবং বাউন্ডিং বক্স কমাতে তাদের সংঘবদ্ধ করার চেষ্টা "
"করুন। এই "
"স্ক্রীন অ্যাসপেক্ট অনুপাত সামঞ্জস্যপূর্ণ করে উইন্ডো থাম্বনেইল রাখার জন্য আরো স্ক্রীন "
"ব্যবহারের চেষ্টা করুন, এবং বাউন্ডিং বক্স কমাতে তাদের সংঘবদ্ধ করার চেষ্টা করুন। এই "
"সেটিং শুধুমাত্র স্বাভাবিক প্লেসমেন্ট কৌশলের ক্ষেত্রেই প্রযোজ্য হয়।"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "উইন্ডো ক্যাপশন একেবারে শীর্ষে রাখুন"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"যদি সত্য হয়, তলায় রাখার সেল ডিফল্ট ওভাররাইড করে সংশ্লিষ্ট থাম্বনেইলের শীর্ষে "
"উইন্ডো "
"ক্যাপশন রাখুন। এই সেটিং পরিবর্তন করলে তা প্রয়োগ করতে সেল বন্ধ করে চালু করতে "
"হবে।"
"যদি সত্য হয়, তলায় রাখার সেল ডিফল্ট ওভাররাইড করে সংশ্লিষ্ট থাম্বনেইলের শীর্ষে উইন্ডো "
"ক্যাপশন রাখুন। এই সেটিং পরিবর্তন করলে তা প্রয়োগ করতে সেল বন্ধ করে চালু করতে হবে।"
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
#: ../extensions/places-menu/extension.js:78
#: ../extensions/places-menu/extension.js:81
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "অবস্থান"
#: ../extensions/places-menu/placeDisplay.js:57
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch \"%s\""
msgstr "\"%s\" লঞ্চ করা গেল না"
#| msgid "Failed to launch \"%s\""
msgid "Failed to launch “%s”"
msgstr "\"%s\" লঞ্চ করতে ব্যর্থ "
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" এর জন্য ভলিউম মাউন্ট করতে ব্যর্থ"
# auto translated by TM merge from project: gvfs, version: 1.16.3, DocId: gvfs
#: ../extensions/places-menu/placeDisplay.js:99
#: ../extensions/places-menu/placeDisplay.js:122
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "কম্পিউটার"
# auto translated by TM merge from project: rhsm-web, version: 0.0, DocId: management
#: ../extensions/places-menu/placeDisplay.js:200
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "প্রথম পাতা"
#: ../extensions/places-menu/placeDisplay.js:287
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "নেটওয়ার্ক ব্রাউজ"
# auto translated by TM merge from project: gnome-system-monitor, version: 3.8.2.1, DocId: gnome-system-monitor
#: ../extensions/systemMonitor/extension.js:214
msgid "CPU"
msgstr "CPU"
# auto translated by TM merge from project: RHEV Installation Guide, version: 3.1, DocId: topics/Planning_your_Data_Center
#: ../extensions/systemMonitor/extension.js:267
msgid "Memory"
msgstr "মেমরি"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "থিম নাম"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "থিমের নাম, ~/.themes/name/gnome-shell থেকে লোড করা হবে"
#: ../extensions/window-list/extension.js:110
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "বন্ধ করুন"
#: ../extensions/window-list/extension.js:120
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "অান-মিনিমাইজ"
msgstr "ন-মিনিমাইজ"
#: ../extensions/window-list/extension.js:121
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "ছোট করুন"
#: ../extensions/window-list/extension.js:127
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "অান-ম্যাক্সিমাইজ"
msgstr "ন-ম্যাক্সিমাইজ"
#: ../extensions/window-list/extension.js:128
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "বড় করুন"
#: ../extensions/window-list/extension.js:300
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "সকল ছোট করুন"
#: ../extensions/window-list/extension.js:308
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "সকল অান-মিনিমাইজ করুন"
msgstr "সকল ন-মিনিমাইজ করুন"
#: ../extensions/window-list/extension.js:316
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "সকল বড় করুন"
#: ../extensions/window-list/extension.js:325
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "সকল অান-ম্যাক্সিমাইজ করুন"
msgstr "সকল ন-ম্যাক্সিমাইজ করুন"
#: ../extensions/window-list/extension.js:334
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "সকল বন্ধ করুন"
#: ../extensions/window-list/extension.js:644
#: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "ওয়ার্কস্পেস সূচক"
#: ../extensions/window-list/extension.js:808
#| msgid "Window Grouping"
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "উইন্ডো তালিকা"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "উইন্ডো দলভুক্তকরণ"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
#| msgid ""
#| "Decides when to group windows from the same application on the window "
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are \"never\", \"auto\" and \"always\"."
"Possible values are never”, “auto and always."
msgstr ""
"উইন্ডো তালিকা একই অ্যাপ্লিকেশন থেকে কখন উইন্ডো দলভুক্ত করা হবে তা সিদ্ধান্ত "
"নেয়। "
"সম্ভাব্য মানগুলি হল \"কখনও নয়\", \"স্বয়ংক্রিয়\" এবং \"সর্বদা\"।"
"উইন্ডো তালিকা একই অ্যাপ্লিকেশন থেকে কখন উইন্ডোজকে গ্রুপ করবে তা সিদ্ধান্ত নেয়। "
"সম্ভাব্য মানগুলি হ'ল \"কখনই\", \"স্বয়ং\" এবং \"সর্বদা\"।"
#: ../extensions/window-list/prefs.js:30
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
#| msgid "Show only windows in the current workspace"
msgid "Show windows from all workspaces"
msgstr "সমস্ত ওয়ার্কস্পেসে থেকে উইন্ডো প্রদর্শন করুন"
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "উইন্ডো দলভুক্তকরণ"
#: ../extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "উইন্ডো কখনও দলভুক্ত করবেন না"
#: ../extensions/window-list/prefs.js:50
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "স্থান কম থাকলে উইন্ডো দলভুক্ত করুন"
#: ../extensions/window-list/prefs.js:51
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "উইন্ডো সর্বদা দলভুক্ত করুন"
#: ../extensions/workspace-indicator/prefs.js:141
#| msgid "Workspace names:"
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "সমস্ত মনিটরের উপর দেখান"
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "ওয়ার্কস্পেস সূচক"
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "ওয়ার্কস্পেস নামগুলি"
#: ../extensions/workspace-indicator/prefs.js:157
msgid "Name"
msgstr "নাম"
#: ../extensions/workspace-indicator/prefs.js:198
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "ওয়ার্কস্পেস %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "ওয়ার্কস্পেস যোগ করুন"
#~ msgid "GNOME Shell Classic"
#~ msgstr "GNOME সেল ক্লাসিক"
# auto translated by TM merge from project: gnome-shell, version: 3.8.4, DocId: gnome-shell
#~ msgid "Window management and application launching"
#~ msgstr "উইন্ডো পরিচালনা ও অ্যাপ্লিকেশন প্রারম্ভ"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "প্রধান উইন্ডোতে মোডেল ডায়ালগ সংযুক্ত করুন"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "GNOME সেল চালানোর ক্ষেত্রে এই কী in org.gnome.mutter এর কী ওভাররাইড করে।"
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "শিরোনাম দন্ডে বোতামগুলির সজ্জা"
#~| msgid ""
#~| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "GNOME সেল চালানোর সময়ে এই কী org.gnome.desktop.wm.preferences-এর কী "
#~ "ওভাররাইড করে।"
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "উইন্ডো স্ক্রীন কিনারায় রাখার সময়ে কিনারা টাইলিং সক্রিয় করুন"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "শুধুমাত্র প্রধান মনিটরে ওয়ার্কস্পেস"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr ""
#~ "পয়েন্টার অবস্থান পরিবর্তন না থামানো পর্যন্ত মাউস মোডে ফোকাস পরিবর্তন বিলম্বিত করুন"
#~ msgid "Thumbnail only"
#~ msgstr "শুধুমাত্র থাম্বনেইল"
#~ msgid "Application icon only"
#~ msgstr "শুধুমাত্র অ্যাপ্লিকেশন আইকন"
#~ msgid "Thumbnail and application icon"
#~ msgstr "থাম্বনেইল এবং অ্যাপ্লিকেশন আইকন"
#~ msgid "Present windows as"
#~ msgstr "এই রূপে উইন্ডো উপস্থাপনা"
#~ msgid "Activities Overview"
#~ msgstr "ক্রিয়াকলাপের পূর্বরূপ"
# auto translated by TM merge from project: yelp, version: 3.8.1, DocId: yelp
#~ msgid "Application"
#~ msgstr "অ্যাপ্লিকেশন"
#~ msgid "Create new matching rule"
#~ msgstr "মেলানোর নতুন নিয়ম তৈরি করুন"
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
#~ msgid "Add"
#~ msgstr "যোগ করুন"
#~ msgid "Hello, world!"
#~ msgstr "ওহে, বিশ্ব!"
#~ msgid "Alternative greeting text."
#~ msgstr "বিকল্প অভিবাদন পাঠ্য।"
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr "খালি না থাকলে, তাতে পাঠ্য থাকবে যা প্যানেলে ক্লিক করা হলে দেখানো হবে।"
#~| msgid "Message:"
#~ msgid "Message"
#~ msgstr "বার্তা"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless it's possible to customize the greeting message."
#~ msgstr ""
#~ "সেলের জন্য সুস্থিত এক্সটেনশন কীভাবে গঠন করা সম্ভব তা উদাহরণের মাধ্যমে উপস্থাপিত "
#~ "করা হয়।\n"
#~ "উপরন্তু অভিভাদন বার্তা নিজের পছন্দ মতোও করে নেওয়া যায়।"
# auto translated by TM merge from project: gnome-system-monitor, version: 3.8.2.1, DocId: gnome-system-monitor
#~ msgid "CPU"
#~ msgstr "CPU"
# auto translated by TM merge from project: RHEV Installation Guide, version: 3.1, DocId: topics/Planning_your_Data_Center
#~ msgid "Memory"
#~ msgstr "মেমরি"
#~ msgid "Name"
#~ msgstr "নাম"
# auto translated by TM merge from project: gdm, version: 3.8.4, DocId: gdm
#~ msgid "Suspend"
#~ msgstr "স্থগিত করুন"
@@ -370,13 +360,13 @@ msgstr "ওয়ার্কস্পেস %d"
#~ msgstr "স্থগিত সক্রিয় করুন"
#~ msgid "Control the visibility of the Suspend menu item"
#~ msgstr "স্থগিত মেনু অাইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
#~ msgstr "স্থগিত মেনু ইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
#~ msgid "Enable hibernating"
#~ msgstr "নিদ্রিত অবস্থা সক্রিয় করুন"
#~ msgid "Control the visibility of the Hibernate menu item"
#~ msgstr "নিদ্রিত অবস্থা মেনু অাইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
#~ msgstr "নিদ্রিত অবস্থা মেনু ইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
#~ msgid "Normal"
#~ msgstr "স্বাভাবিক"

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2017-07-08 13:29+0100\n"
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
@@ -31,7 +31,7 @@ msgstr "Aquesta sessió us permet utilitzar el GNOME clàssic"
msgid "Favorites"
msgstr "Preferides"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplicacions"
@@ -48,39 +48,26 @@ msgstr ""
"d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el "
"número de l'espai de treball"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicació"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Regles dels espais de treball"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Espai de treball"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Afegeix una regla"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Crea una regla de coincidència nova"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Afegeix"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Ha fallat l'expulsió de la unitat «%s»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositius extraïbles"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Obre els fitxers"
@@ -94,9 +81,9 @@ msgid ""
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Intenta utilitzar més espai de la pantalla per posicionar les miniatures de "
"Intenta utilitzar més espai de la pantalla per a posicionar les miniatures de "
"les finestres adaptant-les a la ràtio d'aspecte de la pantalla, consolidant-"
"les més per reduir la capsa que les envolta. Aquest paràmetre de "
"les més per a reduir la capsa que les envolta. Aquest paràmetre de "
"configuració només s'aplica a l'estratègia de posicionament de finestres "
"natural."
@@ -115,8 +102,8 @@ msgstr ""
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
"efecte."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Llocs"
@@ -135,11 +122,11 @@ msgstr "No s'ha pogut muntar el volum «%s»"
msgid "Computer"
msgstr "Ordinador"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Inici"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Navega per la xarxa"
@@ -159,47 +146,47 @@ msgstr "Nom del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Tanca"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Desminimitza"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimitza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Desmaximitza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximitza"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimitza-ho tot"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Desminimitza-ho tot"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maximitza-ho tot"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Desmaximitza-ho tot"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Tanca-ho tot"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Llista de finestres"
@@ -217,13 +204,15 @@ msgstr ""
"«auto» (automàticament) i «always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Mostra les finestres de tots els espais de treball"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Si es mostren les finestres de tots els espais de treballs o només de l'actual. "
msgstr ""
"Si es mostren les finestres de tots els espais de treballs o només de "
"l'actual."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
@@ -237,41 +226,41 @@ msgstr ""
"Si es mostra la llista de finestres en tots els monitors connectats o només "
"al primari."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Agrupació de finestres"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Mai agrupis les finestres"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Agrupa les finestres quan l'espai estigui limitat"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Agrupa les finestres sempre"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Mostra a tots els monitors"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indicador de l'espai de treball"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Noms dels espais de treball"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nom"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Espai de treball %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Afegeix un espai de treball"

View File

@@ -2,15 +2,15 @@
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Petr Kovar <pknbe@volny.cz>, 2013.
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019.
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-16 10:16+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-28 22:18+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@@ -32,7 +32,7 @@ msgstr "Toto sezení vás přihlásí do GNOME klasik"
msgid "Favorites"
msgstr "Oblíbené"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikace"
@@ -48,39 +48,26 @@ msgstr ""
"Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní "
"plochy), následovaný dvojtečkou a číslem pracovní plochy"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplikace"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Pravidla pracovních ploch"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Pracovní plocha"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Přidat pravidlo"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Vytvoření nového srovnávacího pravidla"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Přidat"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Vysunutí disku „%s“ selhalo:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Výměnná zařízení"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Otevřít soubory"
@@ -112,8 +99,8 @@ msgstr ""
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
"nastavení vyžaduje restart shellu, aby se projevila."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Místa"
@@ -132,11 +119,11 @@ msgstr "Selhalo připojení svazku pro „%s“"
msgid "Computer"
msgstr "Počítač"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Domů"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Procházet síť"
@@ -156,47 +143,47 @@ msgstr "Název motivu"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Název motivu, který se má načíst z ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Zavřít"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Zrušit minimalizaci"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimalizovat"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Zrušit maximalizaci"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximalizovat"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimalizovat všechna"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Zrušit minimalizaci všech"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maximalizovat všechna"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Zrušit maximalizaci všech"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Zavřít všechna"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Seznam oken"
@@ -213,7 +200,7 @@ msgstr ""
"hodnoty jsou „never“ (nikdy), „auto“ (automaticky) a „always“ (vždy)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Zobrazovat okna ze všech pracovních ploch"
@@ -233,40 +220,40 @@ msgstr ""
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
"hlavním."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Seskupování oken"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Nikdy neseskupovat okna"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Seskupovat okna při nedostatku místa"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Vždy seskupovat okna"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Zobrazovat na všech monitorech"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Ukazatel pracovní plochy"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Názvy pracovních ploch"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Název"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Pracovní plocha %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Přidat pracovní plochu"

111
po/da.po
View File

@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-09-09 00:53+0200\n"
"Last-Translator: Kris Thomsen <mail@kristhomsen.dk>\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-09-07 18:36+0200\n"
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -33,7 +34,7 @@ msgstr "Denne session logger dig ind i GNOME Classic"
msgid "Favorites"
msgstr "Favoritter"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Programmer"
@@ -49,39 +50,26 @@ msgstr ""
"En liste over strenge, som hver indeholder et program-id "
"(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Program"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Regler for arbejdsområde"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Arbejdsområde"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Tilføj regel"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Opret ny regel for match"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Tilføj"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Udskubning af drevet “%s” mislykkedes:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Flytbare enheder"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Åbn filer"
@@ -115,8 +103,8 @@ msgstr ""
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
"kraft."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Steder"
@@ -135,11 +123,11 @@ msgstr "Kunne ikke montere diskenhed for “%s”"
msgid "Computer"
msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Hjem"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Gennemse netværk"
@@ -159,47 +147,47 @@ msgstr "Temanavn"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Luk"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Afminimér"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimér"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Afmaksimér"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maksimér"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimér"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Afminimér alle"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maksimér alle"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Afmaksimér alle"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Luk alle"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Vinduesliste"
@@ -216,13 +204,14 @@ msgstr ""
"Mulige værdier er “never” (aldrig), “auto” (automatisk) og “always” (altid)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Vis vinduer fra alle arbejdsområder"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Om der skal vises vinduer fra alle arbejdsområder eller kun det nuværende."
msgstr ""
"Om der skal vises vinduer fra alle arbejdsområder eller kun det nuværende."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
@@ -236,44 +225,56 @@ msgstr ""
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
"primære."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Vinduesgruppering"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Gruppér aldrig vinduer"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Gruppér vinduer når pladsen er begrænset"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Gruppér altid vinduer"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Vis på alle skærme"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Arbejdsområdeindikator"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Navne på arbejdsområder"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Navn"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Arbejdsområde %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Tilføj arbejdsområde"
#~ msgid "Application"
#~ msgstr "Program"
#~ msgid "Create new matching rule"
#~ msgstr "Opret ny regel for match"
#~ msgid "Add"
#~ msgstr "Tilføj"
#~ msgid "Name"
#~ msgstr "Navn"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Tillæg modal-dialog til det overordnede vindue"

109
po/de.po
View File

@@ -6,15 +6,15 @@
# Benjamin Steinwender <b@stbe.at>, 2013.
# Wolfgang Stöggl <c72578@yahoo.de>, 2014.
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017.
# Tim Sabsch <tim@sabsch.com>, 2019.
# Tim Sabsch <tim@sabsch.com>, 2019-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-23 21:27+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-09-08 20:20+0200\n"
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
@@ -22,7 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.4.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -36,7 +36,7 @@ msgstr "Diese Sitzung meldet Sie in GNOME Classic an"
msgid "Favorites"
msgstr "Favoriten"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Anwendungen"
@@ -53,39 +53,26 @@ msgstr ""
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
"Arbeitsfläche"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Anwendung"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Arbeitsfläche-Regeln"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Arbeitsfläche"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Regel hinzufügen"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Neue Übereinstimmungsregel erstellen"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Hinzufügen"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Wechseldatenträger"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Dateien öffnen"
@@ -119,8 +106,8 @@ msgstr ""
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Orte"
@@ -139,11 +126,11 @@ msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
msgid "Computer"
msgstr "Rechner"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Persönlicher Ordner"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Netzwerk durchsuchen"
@@ -165,47 +152,47 @@ msgstr ""
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
"soll"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Schließen"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Minimieren rückgängig"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimieren"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Maximieren rückgängig"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximieren"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Alle minimieren"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Alle minimieren rückgängig"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Alle maximieren"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Alle maximieren rückgängig"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Alle schließen"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Fensterliste"
@@ -223,7 +210,7 @@ msgstr ""
"»always« (immer)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Fenster von allen Arbeitsflächen anzeigen"
@@ -245,44 +232,56 @@ msgstr ""
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
"angezeigt wird oder nur auf dem Primären."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Fenstergruppierung"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Fenster niemals gruppieren"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Fenster bei Platzmangel gruppieren"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Fenster immer gruppieren"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Auf allen Bildschirmen anzeigen"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Arbeitsflächenindikator"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Namen der Arbeitsflächen"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Name"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Arbeitsfläche %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Arbeitsfläche hinzufügen"
#~ msgid "Application"
#~ msgstr "Anwendung"
#~ msgid "Create new matching rule"
#~ msgstr "Neue Übereinstimmungsregel erstellen"
#~ msgid "Add"
#~ msgstr "Hinzufügen"
#~ msgid "Name"
#~ msgstr "Name"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Einen modalen Dialog an das übergeordnete Fenster anhängen"

115
po/el.po
View File

@@ -12,16 +12,16 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-09-05 19:27+0300\n"
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-07-14 00:40+0300\n"
"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n"
"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Gtranslator 3.32.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.7.1\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -36,7 +36,7 @@ msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME Classic"
msgid "Favorites"
msgstr "Αγαπημένα"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Εφαρμογές"
@@ -53,39 +53,26 @@ msgstr ""
"(όνομα αρχείου επιφάνειας εργασίας), ακολουθούμενη από άνω-κάτω τελεία και "
"τον αριθμό του χώρου εργασίας"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Εφαρμογή"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Κανόνες χώρων εργασίας"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Χώρος εργασίας"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Προσθήκη κανόνα"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Δημιουργία νέου κανόνα αντιστοίχισης"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Προσθήκη"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Αφαιρούμενες συσκευές"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Άνοιγμα αρχείων"
@@ -119,8 +106,8 @@ msgstr ""
"στο κάτω μέρος. Η αλλαγή αυτής της ρύθμισης απαιτεί επανεκκίνηση του "
"κελύφους για να υπάρξει κάποιο αποτέλεσμα."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Τοποθεσίες"
@@ -139,11 +126,11 @@ msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
msgid "Computer"
msgstr "Υπολογιστής"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Προσωπικός φάκελος"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Περιήγηση δικτύου"
@@ -164,47 +151,47 @@ msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr ""
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Κλείσιμο"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Αποελαχιστοποίηση"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Ελαχιστοποίηση"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Απομεγιστοποίηση"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Μεγιστοποίηση"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Ελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Αποελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Μεγιστοποίηση όλων"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Απομεγιστοποίηση όλων"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Κλείσιμο όλων"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Λίστα παραθύρου"
@@ -222,15 +209,11 @@ msgstr ""
"«always» (πάντα)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Αν θα εμφανίζονται παράθυρα όλων των χώρων εργασίας ή μόνο του τρέχοντα."
@@ -247,44 +230,56 @@ msgstr ""
"Αν θα εμφανίζεται ο κατάλογος παραθύρων όλων των συνδεμένων οθονών ή μόνο "
"της κύριας οθόνης."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Ομαδοποίηση παραθύρου"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Να εμφανίζεται σε όλες τις οθόνες"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Δείκτης χώρου εργασίας"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Ονόματα χώρων εργασίας:"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Όνομα"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Χώρος εργασίας %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Προσθήκη χώρου εργασίας"
#~ msgid "Application"
#~ msgstr "Εφαρμογή"
#~ msgid "Create new matching rule"
#~ msgstr "Δημιουργία νέου κανόνα αντιστοίχισης"
#~ msgid "Add"
#~ msgstr "Προσθήκη"
#~ msgid "Name"
#~ msgstr "Όνομα"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Προσάρτηση αποκλειστικού διαλόγου στο γονικό παράθυρο"

View File

@@ -4,15 +4,15 @@
# Bruce Cowan <bruce@bcowan.eu>, 2011, 2018.
# Chris Leonard <cjlhomeaddress@gmail.com>, 2012.
# Philip Withnall <philip@tecnocode.co.uk>, 2014.
# Zander Brown <zbrown@gnome.org>, 2019.
# Zander Brown <zbrown@gnome.org>, 2019-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-25 16:49+0100\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-24 23:05+0100\n"
"Last-Translator: Zander Brown <zbrown@gnome.org>\n"
"Language-Team: English - United Kingdom <en_GB@li.org>\n"
"Language: en_GB\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 3.32.1\n"
"X-Generator: Gtranslator 3.36.0\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -35,7 +35,7 @@ msgstr "This session logs you into GNOME Classic"
msgid "Favorites"
msgstr "Favourites"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Applications"
@@ -51,39 +51,27 @@ msgstr ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Application"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Workspace Rules"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Workspace"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Add Rule"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Create new matching rule"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Add"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Ejecting drive “%s” failed:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Removable devices"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Open Files"
@@ -115,8 +103,8 @@ msgstr ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Places"
@@ -135,11 +123,11 @@ msgstr "Failed to mount volume for “%s”"
msgid "Computer"
msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Home"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Browse Network"
@@ -159,47 +147,47 @@ msgstr "Theme name"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Close"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Unminimise"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimise"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Unmaximise"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximise"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimise all"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Unminimise all"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maximise all"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Unmaximise all"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Close all"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Window List"
@@ -216,15 +204,11 @@ msgstr ""
"Possible values are “never”, “auto” and “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Show windows from all workspaces"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Whether to show windows from all workspaces or only the current one."
@@ -240,44 +224,57 @@ msgstr ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Window Grouping"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Never group windows"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Group windows when space is limited"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Always group windows"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Show on all monitors"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Workspace Indicator"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Workspace Names"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Name"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Workspace %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Add Workspace"
#~ msgid "Application"
#~ msgstr "Application"
#~ msgid "Create new matching rule"
#~ msgstr "Create new matching rule"
#~ msgid "Add"
#~ msgstr "Add"
#~ msgid "Name"
#~ msgstr "Name"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Attach modal dialogue to the parent window"

117
po/es.po
View File

@@ -4,15 +4,15 @@
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
#
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2019.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-20 12:08+0200\n"
"POT-Creation-Date: 2020-05-03 17:53+0000\n"
"PO-Revision-Date: 2020-05-04 14:06+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 3.32.1\n"
"X-Generator: Gtranslator 3.36.0\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -34,7 +34,7 @@ msgstr "Esta sesión inicia GNOME clásico"
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplicaciones"
@@ -50,39 +50,27 @@ msgstr ""
"Una lista de cadenas, conteniendo cada una un ID de aplicación (nombre de "
"archivo de escritorio), seguido de dos puntos y el número del área de trabajo"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicación"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Reglas de las áreas de trabajo"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Área de trabajo"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Añadir regla"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Crear regla de coincidencia nueva"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Añadir"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Falló al expulsar el dispositivo «%s»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositivos extraíbles"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Abrir archivos"
@@ -115,8 +103,8 @@ msgstr ""
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
"para que tenga efecto."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lugares"
@@ -135,11 +123,11 @@ msgstr "Falló al montar el volumen para «%s»"
msgid "Computer"
msgstr "Equipo"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Carpeta personal"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Examinar la red"
@@ -159,47 +147,47 @@ msgstr "Nombre del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nombre del tema, que se carga desde ~/.themes/nombre/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Cerrar"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Desminimizar"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Desmaximizar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "Minimizar todo"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "Desminimizar todo"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "Maximizar todo"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "Desmaximizar todo"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "Cerrar todo"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Lista de ventanas"
@@ -216,15 +204,11 @@ msgstr ""
"ventanas. Los valores posibles son «never», «auto» y «always»."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Mostrar ventanas de todas las áreas de trabajo"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
@@ -242,44 +226,59 @@ msgstr ""
"Indica si se debe mostrar la lista de ventanas en todas las pantallas "
"conectadas o sólo en la primaria."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Agrupación de ventanas"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Nunca agrupar las ventanas"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Agrupar las ventanas cuando el espacio esté limitado"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Siempre agrupar las ventanas"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Mostrar en todas las pantallas"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "Indicador de área de trabajo"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nombres de los áreas de trabajo"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nombre"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Área de trabajo %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Añadir área de trabajo"
#~ msgid "Application"
#~ msgstr "Aplicación"
#~ msgid "Workspace"
#~ msgstr "Área de trabajo"
#~ msgid "Create new matching rule"
#~ msgstr "Crear regla de coincidencia nueva"
#~ msgid "Add"
#~ msgstr "Añadir"
#~ msgid "Name"
#~ msgstr "Nombre"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Acoplar un diálogo modal a la ventana padre"

View File

@@ -5,14 +5,14 @@
# assar <asiersar@yahoo.com>, 2011.
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2013, 2015, 2017.
# Edurne Labaka <elabaka@uzei.com>, 2015.
# Asier Sarasua Garmendia <asier.sarasua@gmail.com>, 2019.
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020.
#
msgid ""
msgstr "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
"POT-Creation-Date: 2019-08-11 13:48+0000\n"
"PO-Revision-Date: 2019-08-12 00:42+0200\n"
"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-10 00:42+0200\n"
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
@@ -34,7 +34,7 @@ msgstr "Saio honek GNOME Klasikoa hasten du"
msgid "Favorites"
msgstr "Gogokoak"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikazioak"
@@ -48,39 +48,26 @@ msgid ""
"followed by a colon and the workspace number"
msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplikazioa"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Laneko areen arauak"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Laneko area"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Gehitu araua"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Sortu bat datorren arau berria"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Gehitu"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Huts egin du “%s“ unitatea egoztean:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Gailu aldagarriak"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Ireki fitxategiak"
@@ -106,8 +93,8 @@ msgid ""
"restarting the shell to have any effect."
msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lekuak"
@@ -126,11 +113,11 @@ msgstr "Huts egin du “%s“(r)en bolumena muntatzean"
msgid "Computer"
msgstr "Ordenagailua"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Karpeta nagusia"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Arakatu sarea"
@@ -170,27 +157,27 @@ msgstr "Desmaximizatu"
msgid "Maximize"
msgstr "Maximizatu"
#: extensions/window-list/extension.js:430
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimizatu denak"
#: extensions/window-list/extension.js:436
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Leheneratu denak"
#: extensions/window-list/extension.js:442
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maximizatu denak"
#: extensions/window-list/extension.js:450
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Desmaximizatu denak"
#: extensions/window-list/extension.js:458
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Itxi denak"
#: extensions/window-list/extension.js:740
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Leiho-zerrenda"
@@ -205,7 +192,7 @@ msgid ""
msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Erakutsi laneko area guztietako leihoak"
@@ -223,44 +210,56 @@ msgid ""
"primary one."
msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Leiho-elkartzea"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Leihoak inoiz ez elkartu"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Elkartu leihoak lekua mugatuta dagoenean"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Elkartu beti leihoak"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Erakutsi pantaila guztietan"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Lan arearen adierazlea"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Laneko areen izenak"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Izena"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "%d. laneko area"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Gehitu laneko area"
#~ msgid "Application"
#~ msgstr "Aplikazioa"
#~ msgid "Create new matching rule"
#~ msgstr "Sortu bat datorren arau berria"
#~ msgid "Add"
#~ msgstr "Gehitu"
#~ msgid "Name"
#~ msgstr "Izena"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Erantsi elkarrizketa-koadro modala leiho gurasoari"

113
po/fa.po
View File

@@ -1,15 +1,16 @@
# Persian translation for gnome-shell-extensions.
# Copyright (C) 2011 Iranian Free Software Users Group (IFSUG.org) translation team.
# This file is distributed under the same license as the gnome-shell-extensions package.
# Arash Mousavi <mousavi.arash@gmail.com>, 2011, 2013, 2014, 2015, 2016, 2017.
# Arash Mousavi <mousavi.arash@gmail.com>, 2011-2017.
# Danial Behzadi <dani.behzi@ubuntu.com>, 2018-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-14 11:48+0430\n"
"POT-Creation-Date: 2020-05-03 17:53+0000\n"
"PO-Revision-Date: 2020-05-12 14:25+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian <>\n"
"Language: fa\n"
@@ -17,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -30,9 +31,9 @@ msgstr "این نشست شما را به گنوم کلاسیک وارد می‌
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "علاقه‌مندیها"
msgstr "برگزیدهها"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "برنامه‌ها"
@@ -48,39 +49,26 @@ msgstr ""
"فهرستی از رشته‌ها، هرکدام حاوی شناسه‌ی یک برنامه (نام پرونده رومیزی)، در ادامه‌ی یک "
"ویرگول و شماره‌ی فضای کاری"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "برنامه"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "قواعد فضای کاری"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "فضای‌کاری"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "افزودن قاعده"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "افزودن یک قاعده‌ی منطبق جدید"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "اضافه"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "بیرون دادن دیسک‌گردان «%s» شکست خورد:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "دستگاه‌های جداشدنی"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "گشودن پرونده‌ها"
@@ -112,7 +100,7 @@ msgstr ""
"شل در پایین را تغییر می‌دهد. تغییر این گزینه، نیاز به راه‌اندازی مجدد شل دارد تا "
"تاثیر بگذارد."
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89 extensions/places-menu/extension.js:93
msgid "Places"
msgstr "مکان‌ها"
@@ -131,11 +119,11 @@ msgstr "شکست در سوار کردن حجم برای «%s»"
msgid "Computer"
msgstr "رایانه"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "خانه"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "مرور شبکه"
@@ -155,47 +143,47 @@ msgstr "نام تم"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "نام تم، جهت بارگیری از شاخه themes/name/gnome-shell./~"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "خروج"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "ناکمینه"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "کمینه"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "نابیشینه"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "بیشنه"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "کمینهٔ همه"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "ناکمینهٔ همه"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "بیشینهٔ همه"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "نابیشینهٔ همه"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "بستن همه"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "فهرست پنجره"
@@ -212,7 +200,7 @@ msgstr ""
"ممکن عبارتند از «never»، «auto» و «always»."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "نمایش پنجره‌ها از تمام فضاهای کاری"
@@ -232,44 +220,59 @@ msgstr ""
"اینکه آیا فهرست پنجره‌ها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در نمایشگر "
"اصلی."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "گروه‌سازی پنجره‌ها"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "هیچ‌گاه پنجره‌ها گروه نشوند"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "پنجره‌ها زمانی که فضا محدود است گروه شوند"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "همیشه پنجره‌ها گروه شوند"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "نمایش در تمام نمایشگرها"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "نشانگر فضای‌کاری"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "نام‌های فضای کاری"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "نام"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "فضای کاری %Id"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "افزودن فضای‌کاری"
#~ msgid "Application"
#~ msgstr "برنامه"
#~ msgid "Workspace"
#~ msgstr "فضای‌کاری"
#~ msgid "Create new matching rule"
#~ msgstr "افزودن یک قاعده‌ی منطبق جدید"
#~ msgid "Add"
#~ msgstr "اضافه"
#~ msgid "Name"
#~ msgstr "نام"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "اتصال محاوره modal به پنجره والد"

107
po/fi.po
View File

@@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-17 16:00+0300\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-16 18:17+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
@@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.6\n"
"X-Generator: Poedit 2.4.1\n"
"X-Project-Style: gnome\n"
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
@@ -37,7 +37,7 @@ msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
msgid "Favorites"
msgstr "Suosikit"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Sovellukset"
@@ -51,39 +51,26 @@ msgid ""
"followed by a colon and the workspace number"
msgstr ""
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Sovellus"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Työtilojen säännöt"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Työtila"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Lisää sääntö"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Luo uusi vastaava sääntö"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Lisää"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Aseman “%s” irrottaminen epäonnistui:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Erilliset tallennusvälineet"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Avaa tiedostonhallinta"
@@ -112,8 +99,8 @@ msgstr ""
"Tämä syrjäyttää oletusasetuksen, eli otsikkotekstin asettamisen pienoiskuvan "
"alle. Tämän asetuksen muutos vaatii Gnomen uudelleenkäynnistyksen."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Sijainnit"
@@ -132,11 +119,11 @@ msgstr "Taltion “%s” liittäminen epäonnistui"
msgid "Computer"
msgstr "Tietokone"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Koti"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Selaa verkkoa"
@@ -158,47 +145,47 @@ msgstr "Teeman nimi"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Sulje"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Palauta pienennys"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Pienennä"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Palauta suurennus"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Suurenna"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Pienennä kaikki"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Palauta kaikkien koko"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Suurenna kaikki"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Palauta kaikkien koko"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Sulje kaikki"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Ikkunaluettelo"
@@ -215,7 +202,7 @@ msgstr ""
"Mahdolliset arvot ovat “never”, “auto” ja “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Näytä ikkunat kaikista työtiloista"
@@ -237,44 +224,56 @@ msgstr ""
"Näytetäänkö ikkunaluettelo kaikilla liitetyillä näytöillä vai ainoastaan "
"ensisijaisella näytöllä."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Ikkunoiden ryhmitys"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Älä ryhmitä ikkunoita koskaan"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Ryhmitä ikkunat tilan ollessa rajallinen"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Ryhmitä ikkunat aina"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Näytä kaikilla näytöillä"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Työtilan ilmaisin"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Työtilojen nimet"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nimi"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Työtila %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Lisää työtila"
#~ msgid "Application"
#~ msgstr "Sovellus"
#~ msgid "Create new matching rule"
#~ msgstr "Luo uusi vastaava sääntö"
#~ msgid "Add"
#~ msgstr "Lisää"
#~ msgid "Name"
#~ msgstr "Nimi"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Liitä modaali-ikkuna ylätason ikkunaan"

View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-25 10:43+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-10 12:50+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: fr\n"
@@ -32,7 +32,7 @@ msgstr "Cette session vous connecte à GNOME Classique"
msgid "Favorites"
msgstr "Favoris"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Applications"
@@ -49,39 +49,26 @@ msgstr ""
"dapplication (nom de fichier desktop), suivi par un deux-points et le "
"numéro de lespace de travail"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Application"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Règles des espaces de travail"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Espace de travail"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Ajouter une règle"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Créer une nouvelle règle de concordance"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Ajouter"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Léjection du disque « %s » a échoué :"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Périphériques amovibles"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Ouvrir Fichiers"
@@ -115,8 +102,8 @@ msgstr ""
"dessous. Pour que ce paramètre soit pris en compte, il faut redémarrer le "
"Shell."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Emplacements"
@@ -135,11 +122,11 @@ msgstr "Impossible de monter le volume « %s »"
msgid "Computer"
msgstr "Ordinateur"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Dossier personnel"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Parcourir le réseau"
@@ -159,47 +146,47 @@ msgstr "Nom du thème"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Le nom du thème, à charger à partir de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Fermer"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Restaurer"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Réduire"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Restaurer"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximiser"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Tout réduire"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Tout restaurer"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Tout maximiser"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Tout restaurer"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Tout fermer"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Liste de fenêtres"
@@ -217,7 +204,7 @@ msgstr ""
 always » (toujours)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Afficher les fenêtres de tous les espaces de travail"
@@ -239,40 +226,43 @@ msgstr ""
"Indique sil faut afficher la liste des fenêtres sur tous les écrans "
"connectés ou seulement lécran principal."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Regroupement de fenêtres"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Ne jamais regrouper les fenêtres"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Regrouper les fenêtres quand lespace est limité"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Toujours regrouper les fenêtres"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Afficher sur tous les écrans"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indicateur despace de travail"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Noms des espaces de travail"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nom"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Espace de travail %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Ajouter un espace de travail"
#~ msgid "Create new matching rule"
#~ msgstr "Créer une nouvelle règle de concordance"

107
po/fur.po
View File

@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-28 09:34+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-07-12 18:10+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.3\n"
"X-Generator: Poedit 2.3.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -30,7 +30,7 @@ msgstr "Cheste session a si invie cun GNOME classic"
msgid "Favorites"
msgstr "Preferîts"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplicazions"
@@ -46,39 +46,26 @@ msgstr ""
"Une liste di stringhis, ogniune a ten il ID di une aplicazion (non dal file ."
"desktop), seguît di doi ponts e il numar dal spazi di lavôr"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicazion"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Regulis dai spazis di lavôr"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Spazi di lavôr"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Zonte regule"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Cree une gnove regule di corispondence"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Zonte"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "No si è rivâts a parâ fûr la unitât “%s”»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Argagn rimovibil"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Vierç i file"
@@ -111,8 +98,8 @@ msgstr ""
"volte al compuartament normâl de shell, che lis place in bas.Cambiant cheste "
"impostazion a si scugne tornâ a inviâ la shell."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Puescj"
@@ -131,11 +118,11 @@ msgstr "No si è rivâts a montâ il volum par “%s”"
msgid "Computer"
msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Cjase"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Esplore rêt"
@@ -155,47 +142,47 @@ msgstr "Non dal teme"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Il non dal teme, che si cjame da ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Siere"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Gjave minimizazion"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimize"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Gjave massimizazion"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Massimize"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimize ducj"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Gjave a ducj la minimizazion"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Massimize ducj"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Gjave a ducj la massimizazion"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Siere ducj"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Liste balcons"
@@ -212,7 +199,7 @@ msgstr ""
"balcons. I pussibii valôrs a son “never”, “auto” e “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Mostre i barcons di ducj i spazis di lavôr"
@@ -233,44 +220,56 @@ msgstr ""
"Indiche se mostrâ la liste dai barcons su ducj i visôrs tacâts o nome sul "
"principâl."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Ingrumament balcons"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "No ingrumâ i balcons"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Ingrume i balcons quanche al'è pôc puest"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Ingrume simpri i balcons"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Mostre su ducj i visôrs"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indicadôr spazi di lavôr"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nons dai spazis di lavôr"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Non"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Spazi di lavôr %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Zonte spazi di lavôr"
#~ msgid "Application"
#~ msgstr "Aplicazion"
#~ msgid "Create new matching rule"
#~ msgstr "Cree une gnove regule di corispondence"
#~ msgid "Add"
#~ msgstr "Zonte"
#~ msgid "Name"
#~ msgstr "Non"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Tache il balcon modâl al balcon gjenitôr"

122
po/gl.po
View File

@@ -2,22 +2,23 @@
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Fran Diéguez <frandieguez@gnome.org>, 2011.
# Fran Dieguez <frandieguez@gnome.org>, 2011, 2012, 2013, 2014, 2015, 2017.
# Fran Dieguez <frandieguez@gnome.org>, 2011-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-11-21 21:24+0000\n"
"PO-Revision-Date: 2019-12-25 15:24+0100\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\n"
"Language-Team: Galician <proxecto@trasno.gal>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Gtranslator 3.36.0\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -45,42 +46,30 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome de "
"ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
"Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome "
"de ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplicación"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Regras da área de traballo"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Área de traballo"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Engadir regra"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Crear regra de coincidencia nova"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Engadir"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:103
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Fallo ao extraer a unidade «%s»:"
#: extensions/drive-menu/extension.js:119
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositivos extraíbeis"
#: extensions/drive-menu/extension.js:146
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Abrir ficheiros"
@@ -91,12 +80,12 @@ msgstr "Usar máis pantalla para as xanelas"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. This "
"setting applies only with the natural placement strategy."
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Tente usar máis pantalla para dispor as miniaturas das xanelas adaptándose á "
"taxa de aspecto da pantalla e consolidalas para reducir a caixa saltante. Esta "
"configuración aplícase só para a estratexia de disposición natural."
"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."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
@@ -108,11 +97,12 @@ msgid ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Se é verdadeiro, dispor os títulos das xanelas enriba da miniatura respectiva, "
"omitindo a disposición inferior por omisión do shell. Se cambia esta "
"configuración deberá reiniciar o shell para que se apliquen os cambios."
"Se é verdadeiro, dispor os títulos das xanelas enriba da miniatura "
"respectiva, omitindo a disposición inferior por omisión do shell. Se cambia "
"esta configuración deberá reiniciar o shell para que se apliquen os cambios."
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lugares"
@@ -175,27 +165,27 @@ msgstr "Restaurar"
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimizar todo"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Restaurar todo"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maximizar todo"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Restaurar todo"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Pechar todo"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Lista de xanelas"
@@ -209,10 +199,11 @@ msgid ""
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Decide cando agrupar as xanelas da mesma aplicación na lista de xanelas. Os "
"valores posíbeis son «never» (nunca), «auto» (automático) e «always» (sempre)."
"valores posíbeis son «never» (nunca), «auto» (automático) e "
"«always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Mostrar as xanelas de todos os espazos de traballo"
@@ -230,43 +221,56 @@ msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Indica se mostrar a lista de xanelas en todos os monitores conectados ou só no "
"primario."
"Indica se mostrar a lista de xanelas en todos os monitores conectados ou só "
"no primario."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Agrupación de xanelas"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Non agrupar nunca as xanelas"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Agrupar as xanelas cando o espazo é limitado"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Agrupar sempre as xanelas"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Mostrar en todos os monitores"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indicador de espazo de traballo"
#: extensions/workspace-indicator/prefs.js:129
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nomes dos espazos de traballo"
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "Nome"
#: extensions/workspace-indicator/prefs.js:189
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Espazos de traballo %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Engadir área de traballo"
#~ msgid "Application"
#~ msgstr "Aplicación"
#~ msgid "Create new matching rule"
#~ msgstr "Crear regra de coincidencia nova"
#~ msgid "Add"
#~ msgstr "Engadir"
#~ msgid "Name"
#~ msgstr "Nome"

100
po/he.po
View File

@@ -9,8 +9,8 @@ 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-03-31 07:16+0000\n"
"PO-Revision-Date: 2020-04-01 18:20+0300\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-09-28 22:04+0300\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
"Language: he\n"
@@ -49,41 +49,27 @@ msgstr ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "יישום"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "כללי מרחב העבודה"
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "מרחב עבודה"
#: extensions/auto-move-windows/prefs.js:88
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "הוספת כלל"
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "יצירת כלל חדש תואם"
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "הוספה"
#. 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:"
msgid "Ejecting drive “%s” failed:"
msgstr "שליפת הכונן „%s” נכשלה:"
#: extensions/drive-menu/extension.js:119
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "התקנים נתיקים"
#: extensions/drive-menu/extension.js:146
#| msgid "Open File"
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "פתיחת קבצים"
@@ -115,14 +101,13 @@ msgstr ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "מיקומים"
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
#| msgid "Failed to launch \"%s\""
msgid "Failed to launch “%s”"
msgstr "שיגור „%s” נכשל"
@@ -149,7 +134,6 @@ msgid "Cycle Screenshot Sizes"
msgstr "Cycle Screenshot Sizes"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
#| msgid "Cycle Screenshot Sizes"
msgid "Cycle Screenshot Sizes Backward"
msgstr "Cycle Screenshot Sizes Backward"
@@ -181,27 +165,27 @@ msgstr "ביטול ההגדלה"
msgid "Maximize"
msgstr "הגדלה"
#: extensions/window-list/extension.js:429
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "מזעור הכל"
#: extensions/window-list/extension.js:435
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "ביטול מזעור הכל"
#: extensions/window-list/extension.js:441
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "הגדלת הכל"
#: extensions/window-list/extension.js:449
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "ביטול הגדלת הכל"
#: extensions/window-list/extension.js:457
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "סגירת הכל"
#: extensions/window-list/extension.js:737
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "רשימת חלונות"
@@ -210,9 +194,6 @@ 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”."
@@ -221,15 +202,11 @@ msgstr ""
"Possible values are “never”, “auto” and “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "הצגת חלונות מכל מרחבי העבודה"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Whether to show windows from all workspaces or only the current one."
@@ -245,44 +222,57 @@ msgstr ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "קיבוץ חלונות"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "לעולם לא לקבץ חלונות"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "תמיד לקבץ חלונות"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "הצגה בכל הצגים"
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "מחוון מרחבי עבודה"
#: extensions/workspace-indicator/prefs.js:129
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "שם מרחב העבודה"
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "שם"
#: extensions/workspace-indicator/prefs.js:189
#: 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 "Application"
#~ msgstr "יישום"
#~ msgid "Create new matching rule"
#~ msgstr "יצירת כלל חדש תואם"
#~ msgid "Add"
#~ msgstr "הוספה"
#~ msgid "Name"
#~ msgstr "שם"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Attach modal dialog to the parent window"

107
po/hr.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-09-03 17:50+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-20 00:38+0200\n"
"Last-Translator: gogo <linux.hr@protonmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"Language: hr\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.4.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -32,7 +32,7 @@ msgstr "Ova sesija vas prijavljuje u klasičan GNOME"
msgid "Favorites"
msgstr "Omiljeni"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikacije"
@@ -48,39 +48,26 @@ msgstr ""
"Popis nizova, svaki sadrži aplikaciju (naziv datoteke prečaca), slijedeći "
"stupac i broj radnog prostora"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplikacija"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Pravila radnog prostora"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Radni prostor"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Dodaj pravilo"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Dodaj novo pravilo"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Dodaj"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Izbacivanje uređaja “%s” neuspjelo:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Prijenosni uređaji"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Otvori datoteku"
@@ -113,8 +100,8 @@ msgstr ""
"zaobilazeći zadano smještanje ljuske na dnu. Promjena ove postavke zahtijeva "
"ponovno pokretanje ljuske kako bi se primijenila."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lokacije"
@@ -133,11 +120,11 @@ msgstr "Neuspješno montiranje uređaja “%s”"
msgid "Computer"
msgstr "Računalo"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Osobna mapa"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Pregledaj mrežu"
@@ -157,47 +144,47 @@ msgstr "Naziv teme"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Naziv teme, mora se učitati iz ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Zatvori"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Vrati"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Smanji"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Prikaži u prozoru"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Uvećaj"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Smanji sve"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Vrati sve"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Uvećaj sve"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Prikaži u prozoru sve"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Zatvori sve"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Popis prozora"
@@ -214,7 +201,7 @@ msgstr ""
"vrijednosti su: “never”, “auto” i “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Prikaži prozore sa svih radnih prostora"
@@ -235,44 +222,56 @@ msgstr ""
"Treba li prikazati popis prozora na svim povezanim zaslonima ili smo na "
"glavnom."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Grupiranje prozora"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Nikada grupiraj prozore"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Grupiraj prozore kada je prostor ograničen"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Uvijek grupiraj prozore"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Prikaži na svim zaslonima"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indikator radnog prostora"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nazivi radnih prostora"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Naziv"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Radni prostor %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Dodaj radni prostor"
#~ msgid "Application"
#~ msgstr "Aplikacija"
#~ msgid "Create new matching rule"
#~ msgstr "Dodaj novo pravilo"
#~ msgid "Add"
#~ msgstr "Dodaj"
#~ msgid "Name"
#~ msgstr "Naziv"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Pričvrsti prozore dijaloga na nadređeni prozor"

120
po/hu.po
View File

@@ -8,17 +8,17 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
"sues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-24 21:54+0200\n"
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\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 18:08+0200\n"
"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 18.12.3\n"
"X-Generator: Poedit 2.4.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -33,7 +33,7 @@ msgstr "Bejelentkezés a klasszikus GNOME környezetbe"
msgid "Favorites"
msgstr "Kedvencek"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Alkalmazások"
@@ -49,39 +49,26 @@ msgstr ""
"Alkalmazásazonosítókat (.desktop fájl neve), majd kettősponttal elválasztva "
"a munkaterület számát tartalmazó karakterláncok sorozata"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Alkalmazás"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Munkaterület szabályok"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Munkaterület"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Szabály hozzáadása"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Új illesztési szabály létrehozása"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Hozzáadás"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "A(z) „%s” meghajtó kiadása nem sikerült:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Cserélhető eszközök"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Fájlok megnyitása"
@@ -114,8 +101,8 @@ msgstr ""
"tetejére helyezi el, az alapértelmezett alja helyett. Ezen beállítás "
"módosítása a Shell újraindítását igényli."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Helyek"
@@ -134,11 +121,11 @@ msgstr "Nem sikerült a kötet csatolása ennél: „%s”"
msgid "Computer"
msgstr "Számítógép"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Saját mappa"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Hálózat tallózása"
@@ -158,47 +145,47 @@ msgstr "Témanév"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Bezárás"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Minimalizálás megszüntetése"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimalizálás"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Maximalizálás megszüntetése"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximalizálás"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minden minimalizálása"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Minden minimalizálásának megszüntetése"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Minden maximalizálása"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Minden maximalizálásának megszüntetése"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Minden bezárása"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Ablaklista"
@@ -216,18 +203,15 @@ msgstr ""
"„always” (mindig)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Ablakok megjelenítése az összes munkaterületről"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Megjelenjenek-e az ablakok az összes munkaterületről vagy csak a jelenlegiről."
"Megjelenjenek-e az ablakok az összes munkaterületről vagy csak a "
"jelenlegiről."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
@@ -241,40 +225,52 @@ msgstr ""
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
"elsődlegesen."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Ablakcsoportosítás"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Soha ne csoportosítsa az ablakokat"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Ablakok csoportosítása, ha kevés a hely"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Mindig csoportosítsa az ablakokat"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Megjelenítés minden monitoron"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Munkaterület indikátor"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Munkaterületnevek"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Név"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "%d. munkaterület"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Munkaterület hozzáadása"
#~ msgid "Application"
#~ msgstr "Alkalmazás"
#~ msgid "Create new matching rule"
#~ msgstr "Új illesztési szabály létrehozása"
#~ msgid "Add"
#~ msgstr "Hozzáadás"
#~ msgid "Name"
#~ msgstr "Név"

109
po/id.po
View File

@@ -4,14 +4,14 @@
#
# Andika Triwidada <andika@gmail.com>, 2012, 2013.
# Dirgita <dirgitadevina@yahoo.co.id>, 2012.
# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2019.
# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2019, 2020.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-16 15:43+0700\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-06-06 19:02+0700\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 2.2.3\n"
"X-Generator: Poedit 2.3.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -34,7 +34,7 @@ msgstr "Sesi ini memasukkan Anda ke GNOME Klasik"
msgid "Favorites"
msgstr "Favorit"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikasi"
@@ -50,39 +50,26 @@ msgstr ""
"Daftar string, masing-masing memuat id aplikasi (nama berkas desktop), "
"diikuti oleh titik dua dan nomor ruang kerja"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Aplikasi"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Aturan Ruang Kerja"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Ruang Kerja"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Tambah Aturan"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Buat aturan pencocokan baru"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Tambah"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Saat mengeluarkan drive \"%s\" gagal:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Perangkat yang dapat dilepas"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Buka Berkas"
@@ -115,8 +102,8 @@ msgstr ""
"masing, menimpa bawaan shell yang menempatkannya di bagian bawah. Mengubah "
"ini memerlukan memulai ulang shell agar berdampak."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Tempat"
@@ -135,11 +122,11 @@ msgstr "Gagal mengaitkan volume untuk \"%s\""
msgid "Computer"
msgstr "Komputer"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Rumah"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Ramban Jaringan"
@@ -159,47 +146,47 @@ msgstr "Nama tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Nama tema, untuk dimuat dari ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Tutup"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Tak minimalkan"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimalkan"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Tak maksimalkan"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maksimalkan"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimalkan semua"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Tak minimalkan semua"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maksimalkan semua"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Tak maksimalkan semua"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Tutup semua"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Daftar Jendela"
@@ -217,7 +204,7 @@ msgstr ""
"\" (otomatis), atau \"always\" (selalu)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Menampilkan jendela dari semua area kerja"
@@ -238,44 +225,56 @@ msgstr ""
"Apakah menampilkan daftar jendela pada semua monitor yang tersambung atau "
"hanya pada yang utama."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Pengelompokan Jendela"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Jangan pernah kelompokkan jendela"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Kelompokkan jendela ketika ruang terbatas"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Selalu kelompokkan jendela"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Tampilkan pada semua monitor"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indikator Ruang Kerja"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nama Ruang Kerja"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nama"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Ruang Kerja %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Tambah Ruang Kerja"
#~ msgid "Application"
#~ msgstr "Aplikasi"
#~ msgid "Create new matching rule"
#~ msgstr "Buat aturan pencocokan baru"
#~ msgid "Add"
#~ msgstr "Tambah"
#~ msgid "Name"
#~ msgstr "Nama"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Cantolkan dialog modal ke jendela induk"

View File

@@ -1,9 +1,9 @@
# Italian translations for GNOME Shell extensions
# Copyright (C) 2011 Giovanni Campagna et al.
# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2019 The Free Software Foundation, Inc.
# Copyright (C) 2012, 2013, 2014, 2015, 2017, 2019, 2020 The Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell-extensions package.
# Giovanni Campagna <scampa.giovanni@gmail.com>, 2011
# Milo Casagrande <milo@milo.name>, 2013, 2014, 2015, 2017, 2019.
# Milo Casagrande <milo@milo.name>, 2013, 2014, 2015, 2017, 2019, 2020.
# Gianvito Cavasoli <gianvito@gmx.it>, 2017.
#
msgid ""
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-09-04 10:58+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-09-02 09:58+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italiano <gnome-it-list@gnome.org>\n"
"Language: it\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.3\n"
"X-Generator: Poedit 2.4.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -34,7 +34,7 @@ msgstr "Questa sessione si avvia con GNOME classico"
msgid "Favorites"
msgstr "Preferiti"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Applicazioni"
@@ -50,39 +50,26 @@ msgstr ""
"Un elenco di stringhe, ognuna contenente l'ID di un'applicazione (nome del "
"file .desktop) seguito da due punti e il numero dello spazio di lavoro"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Applicazione"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Regole degli spazi di lavoro"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Spazio di lavoro"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Aggiungi regola"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Crea una nuova regola di corrispondenza"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Aggiungi"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Espulsione dell'unità «%s» non riuscita:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositivi rimovibili"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Apri file"
@@ -115,8 +102,8 @@ msgstr ""
"miniature, aggirando il comportamento normale della shell, che li colloca in "
"basso. Modificare questa impostazione richiede di riavviare la shell."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Posizioni"
@@ -135,11 +122,11 @@ msgstr "Montaggio del volume per «%s» non riuscito"
msgid "Computer"
msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Home"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Esplora rete"
@@ -159,47 +146,47 @@ msgstr "Nome del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Il nome del tema, da caricare da ~/.themes/nome/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Chiudi"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Deminimizza"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimizza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Demassimizza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Massimizza"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimizza tutto"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Deminimizza tutto"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Massimizza tutto"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Demassimizza tutto"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Chiudi tutto"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Elenco finestre"
@@ -216,7 +203,7 @@ msgstr ""
"delle finestre. I possibili valori sono \"never\", \"auto\" e \"always\"."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Mostra le finestre di tutti gli spazi di lavoro"
@@ -238,40 +225,40 @@ msgstr ""
"Indica se mostrare l'elenco delle finestre su tutti i monitor collegato o "
"solo su quello primario."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Raggruppamento finestre"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Non raggruppare le finestre"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Raggruppare le finestre quando c'è poco spazio"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Raggruppare sempre le finestre"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Mostrare su tutti i monitor"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indicatore spazi di lavoro"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nomi degli spazi di lavoro"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nome"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Spazio di lavoro %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Aggiungi spazio di lavoro"

View File

@@ -13,8 +13,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-12-11 18:09+0000\n"
"PO-Revision-Date: 2020-01-20 00:00+0900\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-06-10 18:45+0900\n"
"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n"
@@ -51,39 +51,26 @@ msgstr ""
"アプリケーションの識別子 (.desktop ファイル名) とコロンの後にワークスペース番"
"号を付与した文字列を要素とするリストです"
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "アプリケーション"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "ワークスペースのルール"
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "ワークスペース"
#: extensions/auto-move-windows/prefs.js:88
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "ルールを追加"
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "新規ルールの作成"
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "追加"
#. 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 "ドライブ“%s”の取り出しに失敗しました:"
#: extensions/drive-menu/extension.js:119
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "リムーバブルデバイス"
#: extensions/drive-menu/extension.js:146
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "ファイルを開く"
@@ -113,12 +100,12 @@ msgid ""
"restarting the shell to have any effect."
msgstr ""
"TRUE にすると、ウィンドウのサムネイルの上端にそのウィンドウのタイトルバーを表"
"示します (これは、サムネイルの下端にタイトルバーを表示する GNOME shellのデ"
"ォルト値よりも優先されます)。この設定を適用する際は GNOME shellを再起動して"
"ださい。"
"示します (これは、サムネイルの下端にタイトルバーを表示する GNOME shellのデ"
"ォルト値よりも優先されます)。この設定を適用する際は GNOME shellを再起動して"
"ださい。"
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "場所"
@@ -201,7 +188,7 @@ msgstr "すべて最大化解除"
msgid "Close all"
msgstr "すべて閉じる"
#: extensions/window-list/extension.js:736
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "ウィンドウのリスト"
@@ -218,7 +205,7 @@ msgstr ""
"定可能な値は、“never”, “auto”, “always”です。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "すべてのワークスペースのウィンドウを表示する"
@@ -240,44 +227,56 @@ msgstr ""
"ウィンドウリストをすべての接続モニターに表示するかプライマリーモニターにのみ"
"表示するかの設定です。"
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "ウィンドウのグループ化"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "ウィンドウをグループ化しない"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "ウィンドウ一覧の幅が制限される時にグループ化する"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "ウィンドウをグループ化する"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "すべてのモニターに表示する"
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "ワークスペースインジケーター"
#: extensions/workspace-indicator/prefs.js:129
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "ワークスペース名"
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "名前"
#: extensions/workspace-indicator/prefs.js:189
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "ワークスペース %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "ワークスペースを追加"
#~ msgid "Application"
#~ msgstr "アプリケーション"
#~ msgid "Create new matching rule"
#~ msgstr "新規ルールの作成"
#~ msgid "Add"
#~ msgstr "追加"
#~ msgid "Name"
#~ msgstr "名前"
#~ msgid "Activities Overview"
#~ msgstr "アクティビティ"

254
po/kab.po Normal file
View File

@@ -0,0 +1,254 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2020-09-14 20:54+0000\n"
"PO-Revision-Date: 2020-09-19 12:50+0100\n"
"Language: kab_DZ\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"
"Last-Translator: Yacine Bouklif <yacinebouklif@gmail.com>\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME aklasiki"
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Tiɣimit-agi ak-teqqen ɣer GNOME aklasiki"
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "Inurifen"
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Isnasen"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Tabdart n yisnasen akked tallunt n umahil"
#: 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 ""
"Tabdart n yiɣewwaren, yal yiwet tesɛa id n usnas (isem n ufaylu n desktop), "
"ad ḍefrent snat n tenqiḍin akked wuḍḍun n tallunt n umahil"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Ilugan n tallunt n umahil"
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Rnu alugen"
#. 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 "Aḍeqqer n uḍebsi “%s” ur yeddi ara:"
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Ibenkan izirazen"
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Ldi ifuyla"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Seqdec ugar n yigdilen i yisfuyla"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Sers tawaṭṭfa n usfaylu uksawen"
#: 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:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Imeḍqan"
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Asekker n “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "Aselkim"
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Asebter agejdan"
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Snirem azeḍḍa"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr ""
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward"
msgstr ""
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "Isem n usentel"
#: 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 "Isem n usentel ara yettusidren si ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Mdel"
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr ""
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Semẓi"
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr ""
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr ""
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Semẓi akk"
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr ""
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Semɣer akk"
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr ""
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Mdel akk"
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Tabdart n yisfuyla"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "Melmi ara ttusgerwen yisfuyla"
#: 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 ""
"Ad iwali ma ad isegrew isfuyla seg yiwen n usnas di tebdart n yisfuyla. "
"Azalen yellan: “never”, “auto” akked “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 "Sken isfuyla si meṛṛa tallunin n umahil"
#: 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 ""
"Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala seg win "
"iremden."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Sken tabdart n yisfuyla ɣef yigdilen meṛṛa"
#: 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 ""
"Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala ɣef "
"uzwaran."
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Asegrew n yisfuyla"
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Werǧin ad tesgerweḍ isfuyla"
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Segrew isfuyla ticki tallunt txuṣ"
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Yalas ssegraw isfuyla"
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Sken ɣef yigdilen meṛṛa"
#: 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 "Ismawen n tallunin n umahil"
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Tallunt n umahil %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Rnu tallunt n umahil"

309
po/kk.po
View File

@@ -1,22 +1,22 @@
# Kazakh translation for gnome-shell-extensions.
# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2013-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2017-07-20 23:40+0000\n"
"PO-Revision-Date: 2017-07-27 17:09+0500\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-02 11:39+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk@li.org>\n"
"Language: kk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n"
"X-Generator: Poedit 2.3.1\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -26,74 +26,11 @@ 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 ""
"Бұл кілт GNOME Shell орындау кезінде 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 ""
"Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences кілтін "
"үстінен жазады."
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске "
"қосу"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
msgid "Workspaces only on primary monitor"
msgstr "Жұмыс орындары тек біріншілік мониторда"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
#: extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "Тек үлгі"
#: extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "Тек қолданба таңбашасы"
#: extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "Үлгі және қолданба таңбашасы"
#: extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "Терезелерді қалайша ұсыну"
#: extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "Тек ағымдағы жұмыс орнынан терезелерді көрсету"
#: extensions/apps-menu/extension.js:41
msgid "Activities Overview"
msgstr "Шолу көрінісі"
#: extensions/apps-menu/extension.js:141
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "Таңдамалылар"
#: extensions/apps-menu/extension.js:436
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Қолданбалар"
@@ -109,70 +46,29 @@ msgstr ""
"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (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: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 "\"%s\" жетегін шығару сәтсіз аяқталды:"
#: extensions/drive-menu/extension.js:124
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Алынатын құрылғылар"
#: extensions/drive-menu/extension.js:149
#: 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 its possible to customize the greeting message."
msgstr ""
"Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау керек "
"екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n"
"Сонда да сәлемдесу хабарламасын өзгертуге болады."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Терезелер үшін көбірек экранды қолдану"
@@ -202,31 +98,31 @@ msgstr ""
"үнсіз келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру "
"үшін қоршамды қайта іске қосу керек."
#: extensions/places-menu/extension.js:78
#: extensions/places-menu/extension.js:81
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Орындар"
#: extensions/places-menu/placeDisplay.js:65
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:78
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "\"%s\" жөнелту сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:137
#: extensions/places-menu/placeDisplay.js:160
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "Компьютер"
#: extensions/places-menu/placeDisplay.js:303
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Үй бумасы"
#: extensions/places-menu/placeDisplay.js:347
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Желіні шолу"
@@ -246,52 +142,47 @@ msgstr "Тема атауы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Тема атауы, ~/.themes/name/gnome-shell ішінен алынады"
#: extensions/window-list/extension.js:110
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Жабу"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Қайырылған емес қылу"
#: extensions/window-list/extension.js:130
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Қайыру"
#: extensions/window-list/extension.js:136
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Жазық емес қылу"
#: extensions/window-list/extension.js:137
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Жазық қылу"
#: extensions/window-list/extension.js:420
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Барлығын қайыру"
#: extensions/window-list/extension.js:428
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Барлығын қайырылған емес қылу"
#: extensions/window-list/extension.js:436
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Барлығын жазық қылу"
#: extensions/window-list/extension.js:445
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Барлығын жазық емес қылу"
#: extensions/window-list/extension.js:454
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Барлығын жабу"
#: extensions/window-list/extension.js:678
#: extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "Жұмыс орын индикаторы"
#: extensions/window-list/extension.js:842
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Терезелер тізімі"
@@ -308,10 +199,21 @@ msgstr ""
"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Барлық жұмыс орнындарынан терезелерді көрсету"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Ашық терезелерді тек барлық жұмыс орындарынан ба, әлде тек ағымдағысынан ба "
"көрсету керек."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Терезелер тізімін барлық мониторларда көрсету"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
@@ -319,39 +221,124 @@ msgstr ""
"Терезелер тізімін барлық жалғанған мониторларда, немесе тек біріншілік "
"мониторда көрсету керек пе."
#: extensions/window-list/prefs.js:32
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Терезелерді топтау"
#: extensions/window-list/prefs.js:50
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Терезелерді ешқашан топтамау"
#: extensions/window-list/prefs.js:51
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Терезелерді орын шектелген кезде топтау"
#: extensions/window-list/prefs.js:52
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Терезелерді әрқашан топтау"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Барлық мониторларда көрсету"
#: extensions/workspace-indicator/prefs.js:141
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Жұмыс орын индикаторы"
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Жұмыс орын атаулары"
#: extensions/workspace-indicator/prefs.js:157
msgid "Name"
msgstr "Атауы"
#: extensions/workspace-indicator/prefs.js:198
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Жұмыс орны %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Жұмыс орнын қосу"
#~ msgid "Application"
#~ msgstr "Қолданба"
#~ msgid "Create new matching rule"
#~ msgstr "Жаңа сәйкес келетін ережені жасау"
#~ msgid "Add"
#~ msgstr "Қосу"
#~ msgid "Name"
#~ msgstr "Атауы"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Модальді сұхбаттарды аталық терезесіне жалғау"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде 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 ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences "
#~ "кілтін үстінен жазады."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr ""
#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді "
#~ "іске қосу"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Жұмыс орындары тек біріншілік мониторда"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
#~ msgid "Thumbnail only"
#~ msgstr "Тек үлгі"
#~ msgid "Application icon only"
#~ msgstr "Тек қолданба таңбашасы"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Үлгі және қолданба таңбашасы"
#~ msgid "Present windows as"
#~ msgstr "Терезелерді қалайша ұсыну"
#~ msgid "Activities Overview"
#~ msgstr "Шолу көрінісі"
#~ msgid "Hello, world!"
#~ msgstr "Сәлем, әлем!"
#~ msgid "Alternative greeting text."
#~ msgstr "Альтернативті сәлемдесу мәтіні."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды."
#~ msgid "Message"
#~ msgstr "Хабарлама"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message."
#~ msgstr ""
#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау "
#~ "керек екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n"
#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады."
#~ msgid "CPU"
#~ msgstr "Процессор"

107
po/ko.po
View File

@@ -3,15 +3,15 @@
# This file is distributed under the same license as the gnome-shell-extensions package.
#
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2012.
# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017, 2019.
# Changwoo Ryu <cwryu@debian.org>, 2013-2015, 2017, 2019-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-26 03:28+0900\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-28 22:25+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <gnome-kr@googlegroups.com>\n"
"Language: ko\n"
@@ -32,7 +32,7 @@ msgstr "이 세션을 사용하면 그놈 클래식에 로그인합니다"
msgid "Favorites"
msgstr "즐겨찾기"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "프로그램"
@@ -48,39 +48,26 @@ msgstr ""
"문자열 목록, 각각은 프로그램 ID(데스크톱 파일 이름) 다음에 콜론 뒤에 작업 공"
"간 번호."
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "프로그램"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "작업 공간 규칙"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "작업 공간"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "규칙 추가"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "새 일치 규칙 만들기"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "추가"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "“%s” 드라이브를 빼는데 실패했습니다:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "이동식 장치"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "파일 열기"
@@ -112,8 +99,8 @@ msgstr ""
"참이면, 창의 이름을 각 섬네일 위에 표시합니다. 셸의 기본값은 아래에 창 이름"
"을 표시합니다. 이 설정을 바꾸면 셸을 다시 시작해야 적용됩니다."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "위치"
@@ -132,11 +119,11 @@ msgstr "“%s” 볼륨 마운트에 실패했습니다"
msgid "Computer"
msgstr "컴퓨터"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "홈"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "네트워크 찾아보기"
@@ -156,47 +143,47 @@ msgstr "테마 이름"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "테마 이름, ~/.themes/name/gnome-shell 아래에서 읽어들입니다."
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "닫기"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "최소화 취소"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "최소화"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "최대화 취소"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "최대화"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "모두 최소화"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "모두 최소화 취소"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "모두 최대화"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "모두 최대화 취소"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "모두 닫기"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "창 목록"
@@ -213,7 +200,7 @@ msgstr ""
"“never”, “auto”, “always”입니다."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "모든 작업 공간의 창을 표시합니다"
@@ -233,44 +220,56 @@ msgstr ""
"연결된 모든 모니터에 있는 창 목록을 표시할지, 아니면 주 모니터에 있는 창 목록"
"만 표시할지."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "창 모으기"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "창을 모으지 않기"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "공간이 부족할 때 창 모으기"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "항상 창 모으기"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "모든 모니터 보이기"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "작업 공간 표시"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "작업 공간 이름"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "이름"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "작업 공간 %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "작업 공간 추가"
#~ msgid "Application"
#~ msgstr "프로그램"
#~ msgid "Create new matching rule"
#~ msgstr "새 일치 규칙 만들기"
#~ msgid "Add"
#~ msgstr "추가"
#~ msgid "Name"
#~ msgstr "이름"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "모달 대화 상자를 상위 창에 붙이기"

115
po/lt.po
View File

@@ -2,15 +2,15 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Algimantas Margevičius <margevicius.algimantas@gmail.com>, 2011.
# Aurimas Černius <aurisc4@gmail.com>, 2013-2019.
# Aurimas Černius <aurisc4@gmail.com>, 2013-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-18 22:06+0300\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-26 22:34+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Gtranslator 3.32.1\n"
"X-Generator: Gtranslator 3.36.0\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -33,7 +33,7 @@ msgstr "Šis seansas prijungs jus prie klasikinio GNOME"
msgid "Favorites"
msgstr "Mėgiamiausi"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Programos"
@@ -49,39 +49,27 @@ msgstr ""
"Eilučių sąrašas, kur kiekviena eilutė turi programos id (darbalaukio failo "
"vardą), po jo dvitaškis ir darbo srities numeris"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Programa"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Darbo sričių taisyklės"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Darbo sritis"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Pridėti taisyklę"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Sukurti naują atitikimo taisyklę"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Pridėti"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Laikmenos „%s“ išstūmimas nepavyko:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Išimami įrenginiai"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Atverti failai"
@@ -113,8 +101,8 @@ msgstr ""
"nepaisant numatyto talpinimo apačioje. Pakeitus šiuos nustatymus, reikės "
"paleisti apvalkalą iš naujo."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Vietos"
@@ -133,11 +121,11 @@ msgstr "Nepavyko prijungti tomo „%s“"
msgid "Computer"
msgstr "Kompiuteris"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Namų aplankas"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Naršyti tinklą"
@@ -157,47 +145,47 @@ msgstr "Temos pavadinimas"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Temos pavadinimas, kuri bus įkrauta iš ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Užverti"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Grąžinti iš sumažinimo"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Sumažinti"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Grąžinti iš išdidinimo"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Išdidinti"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Sumažinti visus"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Grąžinti visus iš sumažinimo"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Išdidinti visus"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Grąžinti visus iš išdidinimo"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Užverti visus"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Langų sąrašas"
@@ -214,15 +202,11 @@ msgstr ""
"vertės yra „never“, „auto“ ir „always“."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Rodyti visų darbo sričių langus"
#: 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 "Ar rodyti langus iš visų darbo sričių, ar tik dabartinės."
@@ -238,44 +222,57 @@ msgstr ""
"Ar rodyti langų sąrašą visuose prijungtuose monitoriuose, ar tik "
"pagrindiniame."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Langų grupavimas"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Niekada negrupuoti langų"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Grupuoti langus, kai yra ribotai vietos"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Visada grupuoti langus"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Rodyti visuose monitoriuose"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Darbo srities indikatorius"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Darbo sričių pavadinimai"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Pavadinimas"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Darbo sritis %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Pridėti darbo sritį"
#~ msgid "Application"
#~ msgstr "Programa"
#~ msgid "Create new matching rule"
#~ msgstr "Sukurti naują atitikimo taisyklę"
#~ msgid "Add"
#~ msgstr "Pridėti"
#~ msgid "Name"
#~ msgstr "Pavadinimas"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Prikabinti modalinį dialogą prie tėvinio lango"

115
po/lv.po
View File

@@ -3,21 +3,21 @@
#
#
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2017, 2019.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2017, 2019, 2020.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
"sues\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-24 17:32+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-09-12 12:05+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\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 19.12.3\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :"
" 2);\n"
@@ -33,7 +33,7 @@ msgstr "Šī sesija ieraksta jūs klasiskajā GNOME vidē"
msgid "Favorites"
msgstr "Izlase"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Lietotnes"
@@ -49,39 +49,27 @@ msgstr ""
"Saraksts ar virknēm, kas katra satur lietotnes id (darbvirsmas datnes "
"nosaukums), kam seko kols un darbvietas numurs"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Lietotne"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Darbvietu kārtulas"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "Darbvieta"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Pievienot kārtulu"
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "Izveidot jaunu atbilstošu kārtulu"
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "Pievienot"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Neizdevās izgrūst dzini “%s”:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Izņemamās ierīces"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Atvērt datnes"
@@ -114,8 +102,8 @@ msgstr ""
"noklusēto novietojumu (apakšā). Lai šī iestatījuma izmaiņas stātos spēkā, "
"jāpārstartē čaula."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Vietas"
@@ -134,11 +122,11 @@ msgstr "Neizdevās montēt “%s” sējumu"
msgid "Computer"
msgstr "Dators"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Mājas"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Pārlūkot tīklu"
@@ -158,47 +146,47 @@ msgstr "Motīva nosaukums"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Motīva nosaukums, ko ielādēt no ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Aizvērt"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Atminimizēt"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimizēt"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Atjaunot"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maksimizēt"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Minimizēt visus"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Atminimizēt visus"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Maksimizēt visus"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Atmaksimizēt visus"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Aizvērt visu"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Logu saraksts"
@@ -215,15 +203,11 @@ msgstr ""
"vērtības ir “never”, “auto” un “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Rādīt logus no visām darba vietām"
#: 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 "Vai rādīt logus no visām darbvietām, vai tikai pašreizējā darbvietā."
@@ -239,44 +223,57 @@ msgstr ""
"Vai logu sarakstu rādītu uz visiem pievienotajiem monitoriem, vai tikai uz "
"primārā."
#: extensions/window-list/prefs.js:25
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Logu grupēšana"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Nekad negrupēt logus"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Grupēt logus, kad vieta ir ierobežota"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Vienmēr grupēt logus"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "Rādīt uz visiem monitoriem"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Darbvietu indikators"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Darbvietu nosaukumi"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nosaukums"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Darbvieta %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Pievienot darbvietu"
#~ msgid "Application"
#~ msgstr "Lietotne"
#~ msgid "Create new matching rule"
#~ msgstr "Izveidot jaunu atbilstošu kārtulu"
#~ msgid "Add"
#~ msgstr "Pievienot"
#~ msgid "Name"
#~ msgstr "Nosaukums"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Pievienot modālo dialoglodziņu vecāka logam"

Some files were not shown because too many files have changed in this diff Show More