Compare commits

..

126 Commits

Author SHA1 Message Date
Jeremy Bícha 6b2f4e801e New upstream version 46.2 2024-05-28 16:19:26 -04:00
Florian Müllner ae9411a23d Bump version to 46.2
Update NEWS.
2024-05-25 23:40:02 +02:00
Florian Müllner 0334834a0f ci: Hook up release-module
In the future, the module will automate uploading the release
tarball. We already use the CI pipeline to generate the tarball,
so it's easy to hook up the module and provide some testing
before the module goes into production.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-25 23:39:20 +02:00
Florian Müllner b0ba8ca5c0 ci: Use meson introspect to generate artifact path
We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-25 23:39:20 +02:00
Scrambled 777 ae00cf6b4e Update Hindi translation 2024-05-25 17:01:54 +00:00
Jordi Mas i Hernandez ee730d9e29 Update Catalan translation 2024-05-23 20:59:49 +00:00
Florian Müllner c290d7ddb3 window-list: Use getter methods for events
The underlying structs were made opaque a while ago, so direct
access to the struct fields is no longer possible.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/320>
(cherry picked from commit da90d365ec)
2024-05-23 13:18:04 +02:00
Florian Müllner de033a04fa apps-menu: Set label_actor of Category items
Category items are based on BaseMenuItem rather than MenuItem,
so the accessible relationship isn't set up automatically for us.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/319>
(cherry picked from commit 02ff72b2f0)
2024-05-23 13:17:57 +02:00
Jose Riha 1219dfc144 Update Slovak translation 2024-05-11 22:19:15 +00:00
Hugo Carvalho dd16556530 Update Portuguese translation 2024-05-04 23:22:24 +00:00
Jeremy Bícha 3ea76e3ecc New upstream version 46.1 2024-04-21 16:44:47 -04:00
Jeremy Bícha 9c08df11dc New upstream version 46.0 2024-03-18 15:30:16 -04:00
Jeremy Bícha e4183488d9 New upstream version 45.2 2023-12-05 10:03:40 -05:00
Florian Müllner b02e43d84c Bump version to 45.2
Update NEWS.
2023-12-01 20:15:09 +01:00
Florian Müllner 8ed3b72a56 workspace-indicator: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 30a15387b5)
2023-12-01 20:03:38 +01:00
Florian Müllner a929cf9370 workspace-indicator: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit b5b841dd38)
2023-12-01 20:03:38 +01:00
Florian Müllner a5343c33ec window-list: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 071584621e)
2023-12-01 20:03:15 +01:00
Florian Müllner 8efd73c50e window-list: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 5c57f44838)
2023-12-01 20:03:15 +01:00
Florian Müllner d5f617b3e2 window-list: Move additional padding into buttons
Commit ca1c4b0f9e added additional padding, which means that the
interactive area of buttons no longer extends to the bottom of
the screen.

Address this by moving the new padding into the buttons themselves.
That restores the Fittsability of the bottom bar, without affecting
the cleaner visual appearance.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 20:02:51 +01:00
Florian Müllner d1ff099200 window-list: Clean up stylesheet indent
Replaces tabs with spaces.

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 20:02:49 +01:00
Florian Müllner 6bbc329e7b apps-menu: Use customized layout manager to limit height
To avoid continuous height changes while browsing through categories,
we let the list of categories determine the overall height, and rely
on scrolling for the list of apps within a category.

We currently achieve this by assigning a fixed height via the
`style` property. This has been found to trigger a crash when
running headless, as we end up querying an actor's height request
before a valid resource scale is available.

Instead, use a custom layout manager, which seems more elegant anyway.

Close: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/472
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit 5652182fb3)
2023-12-01 19:48:04 +01:00
Florian Müllner ed31f08f2f apps-menu: Remove vertical separator
Ever since gnome-shell stopped using a stippled separator in the
calendar menu, the styling required by the separator has been
missing.

There haven't been any complaints about the invisible separator,
so we can just as well drop it altogether.

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit c3cbef19ac)
2023-12-01 19:48:03 +01:00
Florian Müllner ed60502f10 apps-menu: Use stylesheet to set width
The `style` property is useful for computed CSS declarations,
but for regular styling the stylesheet is preferable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit 8c8f990a28)
2023-12-01 19:47:16 +01:00
Florian Müllner 0fa592a516 apps-menu: Adjust to events API changes
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit f6a6bdda99)
2023-12-01 19:47:16 +01:00
Jeremy Bícha cb7b8e7c5a New upstream version 45.1 2023-11-04 12:30:40 +02:00
Florian Müllner f27b239f55 Bump version to 45.1
Update NEWS.
2023-11-01 00:28:14 +01:00
Florian Müllner 7f192d0208 screenshot-window-sizer: Handle wrapping around backwards
The mod takes care of wrapping at the top, but not when
decrementing 0. Fix this by using Array.prototype.at(),
which handles negative indexes.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
(cherry picked from commit dd8ee2931a)
2023-11-01 00:24:47 +01:00
Florian Müllner eff6f6ef88 screenshot-window-sizer: Use built-in support for reversed bindings
Mutter has had explicit support for reversed bindings for a while now.
Use that, as it's more reliably than examining the modifiers manually.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
(cherry picked from commit f530acbf9e)
2023-11-01 00:24:47 +01:00
Jeremy Bícha a6131bd00b New upstream version 45.0 2023-09-18 08:45:37 -04:00
Jeremy Bícha e864d0d1cc New upstream version 45~beta 2023-08-16 22:55:57 -04:00
Jeremy Bicha 930595003d New upstream version 44.0 2023-03-27 08:47:18 -04:00
Jeremy Bicha 51df22adcf New upstream version 44~rc 2023-03-07 12:19:33 -05:00
Jeremy Bicha 6ff6eb2c22 New upstream version 44~beta 2023-02-15 10:59:26 -05:00
Jeremy Bicha 6bee46bf1a New upstream version 43.1 2022-11-22 14:13:08 -05:00
Jeremy Bicha f4347d240a New upstream version 43.0 2022-09-19 10:57:25 -04:00
Jeremy Bicha 81b8ad4499 New upstream version 43~rc 2022-09-06 14:38:13 -04:00
Jeremy Bicha aeee81a82c New upstream version 43~beta 2022-08-21 10:59:16 -04:00
Jeremy Bicha fcefdc3271 New upstream version 42.3 2022-07-13 17:46:10 +02:00
Jeremy Bicha 7a017c1e76 New upstream version 42.2 2022-06-03 09:19:21 -04:00
Jeremy Bicha b2455f0ecd New upstream version 42.1 2022-05-09 08:02:09 -04:00
Jeremy Bicha 573aba17d7 New upstream version 42.0 2022-03-14 11:29:53 -04:00
Jeremy Bicha 2117c42d74 New upstream version 42~rc 2022-03-08 09:32:26 -05:00
Marco Trevisan (Treviño) 5edffcd859 New upstream version 42~beta 2022-02-23 02:57:09 +01:00
Jeremy Bicha d8b526a715 New upstream version 41.1 2021-12-12 20:28:55 -05:00
Florian Müllner a5b6871562 Bump version to 41.1
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/200>
2021-12-11 14:20:23 +01:00
Florian Müllner deb6031381 window-list: Fix OSK
The reveal animation moved from Main.layoutManager.keyboardBox to
the keyboard itself, so instead of applying an additional translation
for the bottom panel, we override the translation that would reveal
the keyboard (and thus prevent it from showing altogether).

Fix this by moving our translation to the keyboardBox instead.

(cherry picked from commit 02e5029eb6)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/202>
2021-12-11 14:04:21 +01:00
Sebastian Keller 486cb59aff native-window-placement: Remove custom styling
The window-picker padding was causing it to become smaller in the
overview resulting in a jump when opening it and caused sizing issues
with the workspace view in the app picker. However it is not needed
anymore with the new overview, so this can be fixed by simply removing
it.

The horizontal- and vertical-spacing properties got replaced with a
spacing property a while ago. However this is only used in
WorkspaceLayout::_createBestLayout() which gets overridden by this
extension which does not use it. So they can simply be removed.

The shell-caption-spacing property got removed when the window captions
got changed to always use the full length and has not been doing
anything since.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/301
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/309
(cherry picked from commit 4a26cecd7d)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/202>
2021-12-11 14:04:07 +01:00
Neal Gompa de9a3df7bd classic: Add X-GNOME-SessionRegisters
GDM has supported sessions registering with it for a few years now so
it can know when to shut down the greeter. Having the GNOME Classic
session declare that it will register itself allows GDM to avoid
executing a fallback codepath.

This has been supported with the regular GNOME session for a while,
and this session was likely forgotten about when it was added there.

(cherry picked from commit a79d2afb2d)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/202>
2021-12-11 14:03:33 +01:00
Jeremy Bicha db131fc7da New upstream version 41.0 2021-10-03 20:42:40 -04:00
Jeremy Bicha 80c6656c4f New upstream version 40.4 2021-08-29 08:50:41 -04:00
Florian Müllner a5a3523df8 Bump version to 40.4
Update NEWS.
2021-08-18 01:18:19 +02:00
Florian Müllner 06acd9ff25 build: Rewrite gettext domain when exporting zips
Now that every extension picks up its gettext domain from
its metadata, we can easily change it when exporting the
zips.

That ensures that every extension only binds its own domain
instead of messing up other extension's translations.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/179>
2021-08-12 04:17:46 +02:00
Florian Müllner 1a1d45d9e4 build: Remove unused variable
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/335

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/179>
2021-08-12 04:17:46 +02:00
Florian Müllner 1d3775b3d1 extensions: Pick up gettext domain from metadata
Since commit a6ee142f21, the extension archives that are uploaded
to extensions.gnome.org only contain strings that are relevant for
the extension, not all translations from all extensions.

Unfortunately all extensions still share a common gettext domain,
so the extension with the last bind_textdomain() call wins and
leaves the others without translations.

We'll address this by using distinct domains when not installed
system-wide. That becomes easier if there is a canonical place
for the text domain, with the existing metadata key being the
natural choice.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/179>
2021-08-12 04:17:46 +02:00
Florian Müllner 15c83db793 drive-menu: Hide items initially
Now that the check for network mounts is non-blocking, the initial
sync doesn't take effect immediately. We don't want hidden items
to briefly flash the indicator, so create them initially hidden.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/176>
2021-07-19 16:44:37 +02:00
Florian Müllner cc021589b8 drive-menu: Fix indicator visibility
Commit 519269be9d made the check for network mounts non-blocking, and
we now update the indicator's visibility before a newly-added network
mount is hidden.

Address this by monitoring the item itself for visibility changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/176>
2021-07-19 16:44:37 +02:00
Florian Müllner 5e316d37cb Bump version to 40.3
Update NEWS.
2021-07-12 18:18:45 +02:00
Florian Müllner 28dbb47937 window-list: Init translations
Whoops, we are missing the bindtextdomain() call, which means translations
won't work when no other extension that shares the same domain is used
(like in GNOME Classic for instance).

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/340
(cherry picked from commit c9d7f99d50f96d29c38380d9f0e3c9ddc660db9f)
2021-07-12 18:06:31 +02:00
Florian Müllner 619de9d5ee drive-menu: Avoid blocking I/O when querying filesystem
The last commit improved the heuristics for detecting network mounts,
but at the price of potentially blocking the shell. Avoid that drawback
by making the code in question async.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/27>
(cherry picked from commit 519269be9d)
2021-07-12 18:06:31 +02:00
Florian Müllner 561b8aeb03 drive-menu: Don't assume mounts without volume are local
The intention of the code is to only expose actually plugged in
devices rather than network mounts, but the existing heuristics are
based on GVolume and simply assume a local mount where there's no
associated volume. Fill that gap by querying the ::remote filesystem
attribute in that case.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/27>
(cherry picked from commit 7d6670ce3c)
2021-07-12 18:06:31 +02:00
Florian Müllner 4286fd1bcc Tag release 40.2
Update NEWS.
2021-06-10 13:41:34 +02:00
Adam Goode 3bb0897bc1 window-list: Don't use panel-button class for the workspace indicator
The panel-button introduces some horizontal padding which is insensitive
to scroll events. Without this change, there is a small dead zone in the
corner that cannot be used to switch workspaces with the mouse wheel.

For useMenu mode, this has the effect of removing all of the horizontal
space to the edge of the screen, so I add some back with the
status-label-bin margin.

This a is similar change to 8bad8a3b63.

Fixes #315.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/171>
(cherry picked from commit d6648b0b5c)
2021-06-10 13:38:47 +02:00
Juliano de Souza Camargo 12eedcf6f7 Update Portuguese translation 2021-06-07 10:22:02 +00:00
Hugo Carvalho 08d382facc Update Portuguese translation 2021-06-02 16:09:54 +00:00
Marco Trevisan (Treviño) d9ae9a023a New upstream version 40.1 2021-05-30 17:53:15 +02:00
Florian Müllner 96a1de92db build: Only use major version in shell-versions
The website changed its version handling again, and now takes "40.0"
to mean "40.0, and only 40.0".

Not complaining though, as "40" is more correct in my opinion anyway ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/172>
2021-05-25 19:26:08 +02:00
Florian Müllner cc2f46b837 Post-release version bump 2021-05-14 17:00:35 +02:00
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
Simon McVittie 8957c277a1 New upstream version 3.38.0 2020-09-22 09:16:27 +01:00
Marco Trevisan (Treviño) 8b9be8f120 New upstream version 3.37.91 2020-08-27 08:18:07 +02:00
Laurent Bigonville d3b687df8b New upstream version 3.36.2 2020-05-03 10:01:14 +02:00
Florian Müllner df463177e7 Bump version to 3.36.2
Update NEWS.
2020-04-29 22:45:40 +02:00
Florian Müllner 62af36ebfa Update sass submodule 2020-04-29 22:44:25 +02:00
Kristjan SCHMIDT c5246b7415 Update Esperanto translation 2020-04-18 09:00:46 +00:00
Xiaoguang Wang d39c1fd685 windowPicker: Wrong signal ID _nWorkspacesNotifyId
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/106


(cherry picked from commit f9aaa732b2)
2020-04-10 14:31:24 +00:00
Florian Müllner 665a7fbbcb 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


(cherry picked from commit 7b82c5e12b)
2020-04-10 14:30:49 +00:00
Simon McVittie a4987d03b8 New upstream version 3.36.1 2020-04-02 10:14:07 +01:00
Yosef Or Boczko c477f10bfb Update Hebrew translation 2020-04-01 15:22:37 +00:00
Florian Müllner 2ae0f368b9 Bump version to 3.36.1
Update NEWS.
2020-03-31 00:58:41 +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
31 changed files with 1449 additions and 1301 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ stages:
- deploy - deploy
default: default:
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-07-11.0 image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-02-23.0
# Cancel jobs if newer commits are pushed to the branch # Cancel jobs if newer commits are pushed to the branch
interruptible: true interruptible: true
# Auto-retry jobs in case of infra failures # Auto-retry jobs in case of infra failures
+5 -21
View File
@@ -1,31 +1,15 @@
47.beta 46.2
======= ====
* window-list: Modernize styling [Jakub; !330]
* Include "status-icons" extension [Florian; !194]
* Misc. bug fixes and cleanups [Florian; !328, !331, !327]
Contributors:
Florian Müllner, Jakub Steiner
Translators:
Sabri Ünal [tr], Chao-Hsiung Liao [zh_TW]
47.alpha
========
* Improve workspace previews in window-list and workspace-indicator
[Florian; !307, !316]
* apps-menu: Fix a11y of category labels [Florian; !319] * apps-menu: Fix a11y of category labels [Florian; !319]
* window-list: Fix long-press support [Florian; !320] * window-list: Fix long-press support [Florian; !320]
* window-list: Animate transitions [Florian; !325] * Misc. bug fixes and cleanups [Florian; !324]
* Misc. bug fixes and cleanups [Florian; !315, !321, !324]
Contributors: Contributors:
Florian Müllner Florian Müllner
Translators: Translators:
Jordi Mas i Hernandez [ca], Martin [sl], Hugo Carvalho [pt], Jose Riha [sk], Hugo Carvalho [pt], Jose Riha [sk], Jordi Mas i Hernandez [ca],
Scrambled 777 [hi], Artur S0 [ru], Милош Поповић [sr], Yosef Or Boczko [he], Scrambled 777 [hi]
Balázs Úr [hu]
46.1 46.1
==== ====
+1 -1
View File
@@ -39,7 +39,7 @@ for f in $extensiondir/*; do
fi fi
cp $srcdir/NEWS $srcdir/COPYING $f cp $srcdir/NEWS $srcdir/COPYING $f
sources=(NEWS COPYING $(cd $f; ls *.js *.css 2>/dev/null)) sources=(NEWS COPYING $(cd $f; ls *.js))
[ -d $f/icons ] && sources+=(icons) [ -d $f/icons ] && sources+=(icons)
-91
View File
@@ -1,91 +0,0 @@
// SPDX-FileCopyrightText: 2018 Adel Gadllah <adel.gadllah@gmail.com>
// SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Clutter from 'gi://Clutter';
import Shell from 'gi://Shell';
import St from 'gi://St';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {Button as PanelButton} from 'resource:///org/gnome/shell/ui/panelMenu.js';
const PANEL_ICON_SIZE = 16;
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = [
'bluetooth-applet',
'gnome-sound-applet',
'nm-applet',
'gnome-power-manager',
'keyboard',
'a11y-keyboard',
'kbd-scrolllock',
'kbd-numlock',
'kbd-capslock',
'ibus-ui-gtk',
];
export default class SysTray {
constructor() {
this._icons = new Map();
this._tray = null;
}
_onTrayIconAdded(o, icon) {
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass))
return;
let button = new PanelButton(0.5, null, true);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSize = PANEL_ICON_SIZE * scaleFactor;
icon.set({
width: iconSize,
height: iconSize,
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
});
let iconBin = new St.Widget({
layout_manager: new Clutter.BinLayout(),
style_class: 'system-status-icon',
});
iconBin.add_child(icon);
button.add_child(iconBin);
this._icons.set(icon, button);
button.connect('button-release-event',
(actor, event) => icon.click(event));
button.connect('key-press-event',
(actor, event) => icon.click(event));
const role = `${icon}`;
Main.panel.addToStatusArea(role, button);
}
_onTrayIconRemoved(o, icon) {
const button = this._icons.get(icon);
button?.destroy();
this._icons.delete(icon);
}
enable() {
this._tray = new Shell.TrayManager();
this._tray.connect('tray-icon-added',
this._onTrayIconAdded.bind(this));
this._tray.connect('tray-icon-removed',
this._onTrayIconRemoved.bind(this));
this._tray.manage_screen(Main.panel);
}
disable() {
this._icons.forEach(button => button.destroy());
this._icons.clear();
this._tray.unmanage_screen();
this._tray = null;
}
}
-9
View File
@@ -1,9 +0,0 @@
# SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,
configuration: metadata_conf
)
-10
View File
@@ -1,10 +0,0 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Status Icons",
"description": "Show status icons in the top bar",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}
+102 -81
View File
@@ -19,13 +19,15 @@ import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/ex
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js'; import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'; import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import {DashItemContainer} from 'resource:///org/gnome/shell/ui/dash.js';
import {WorkspaceIndicator} from './workspaceIndicator.js'; import {WorkspaceIndicator} from './workspaceIndicator.js';
const ICON_TEXTURE_SIZE = 24; const ICON_TEXTURE_SIZE = 24;
const DND_ACTIVATE_TIMEOUT = 500; const DND_ACTIVATE_TIMEOUT = 500;
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const GroupingMode = { const GroupingMode = {
NEVER: 0, NEVER: 0,
AUTO: 1, AUTO: 1,
@@ -163,14 +165,14 @@ class WindowTitle extends St.BoxLayout {
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE); this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
} else { } else {
this._icon.child = new St.Icon({ this._icon.child = new St.Icon({
icon_name: 'application-x-executable', icon_name: 'icon-missing',
icon_size: ICON_TEXTURE_SIZE, icon_size: ICON_TEXTURE_SIZE,
}); });
} }
} }
} }
class BaseButton extends DashItemContainer { class BaseButton extends St.Button {
static { static {
GObject.registerClass({ GObject.registerClass({
GTypeFlags: GObject.TypeFlags.ABSTRACT, GTypeFlags: GObject.TypeFlags.ABSTRACT,
@@ -184,22 +186,12 @@ class BaseButton extends DashItemContainer {
} }
constructor(perMonitor, monitorIndex) { constructor(perMonitor, monitorIndex) {
super(); super({
this._button = new St.Button({
style_class: 'window-button', style_class: 'window-button',
can_focus: true, can_focus: true,
x_expand: true, x_expand: true,
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE, button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
}); });
this.setChild(this._button);
this._button.connect('notify::hover', () => {
if (this._button.hover)
this.showLabel();
else
this.hideLabel();
});
this._perMonitor = perMonitor; this._perMonitor = perMonitor;
this._monitorIndex = monitorIndex; this._monitorIndex = monitorIndex;
@@ -207,7 +199,7 @@ class BaseButton extends DashItemContainer {
this.connect('notify::allocation', this.connect('notify::allocation',
this._updateIconGeometry.bind(this)); this._updateIconGeometry.bind(this));
this._button.connect('clicked', this._onClicked.bind(this)); this.connect('clicked', this._onClicked.bind(this));
this.connect('destroy', this._onDestroy.bind(this)); this.connect('destroy', this._onDestroy.bind(this));
this.connect('popup-menu', this._onPopupMenu.bind(this)); this.connect('popup-menu', this._onPopupMenu.bind(this));
@@ -224,6 +216,12 @@ class BaseButton extends DashItemContainer {
this._windowEnteredOrLeftMonitor.bind(this), this._windowEnteredOrLeftMonitor.bind(this),
this); this);
} }
this._tooltip = new Tooltip(this, {
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
} }
get active() { get active() {
@@ -246,18 +244,6 @@ class BaseButton extends DashItemContainer {
this._updateVisibility(); this._updateVisibility();
} }
showLabel() {
const [, , preferredTitleWidth] = this.label_actor.get_preferred_size();
const maxTitleWidth = this.label_actor.allocation.get_width();
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
const labelText = isTitleFullyShown
? '' : this.label_actor.text;
this.setLabelText(labelText);
super.showLabel();
}
_setLongPressTimeout() { _setLongPressTimeout() {
if (this._longPressTimeoutId) if (this._longPressTimeoutId)
return; return;
@@ -358,9 +344,9 @@ class BaseButton extends DashItemContainer {
_updateStyle() { _updateStyle() {
if (this._isFocused()) if (this._isFocused())
this._button.add_style_class_name('focused'); this.add_style_class_name('focused');
else else
this._button.remove_style_class_name('focused'); this.remove_style_class_name('focused');
} }
_windowEnteredOrLeftMonitor(_metaDisplay, _monitorIndex, _metaWindow) { _windowEnteredOrLeftMonitor(_metaDisplay, _monitorIndex, _metaWindow) {
@@ -396,6 +382,7 @@ class BaseButton extends DashItemContainer {
} }
_onDestroy() { _onDestroy() {
this._tooltip.destroy();
} }
} }
@@ -408,17 +395,15 @@ class WindowButton extends BaseButton {
super(perMonitor, monitorIndex); super(perMonitor, monitorIndex);
this.metaWindow = metaWindow; this.metaWindow = metaWindow;
this._unmanaging = false;
metaWindow.connectObject( metaWindow.connectObject(
'notify::skip-taskbar', () => this._updateVisibility(), 'notify::skip-taskbar', () => this._updateVisibility(),
'workspace-changed', () => this._updateVisibility(), 'workspace-changed', () => this._updateVisibility(),
'unmanaging', () => (this._unmanaging = true),
this); this);
this._updateVisibility(); this._updateVisibility();
this._windowTitle = new WindowTitle(this.metaWindow); this._windowTitle = new WindowTitle(this.metaWindow);
this._button.set_child(this._windowTitle); this.set_child(this._windowTitle);
this.label_actor = this._windowTitle.label_actor; this.label_actor = this._windowTitle.label_actor;
this._contextMenu = new WindowContextMenu(this, this.metaWindow); this._contextMenu = new WindowContextMenu(this, this.metaWindow);
@@ -464,9 +449,6 @@ class WindowButton extends BaseButton {
} }
_updateVisibility() { _updateVisibility() {
if (this._unmanaging)
return;
this.visible = this._isWindowVisible(this.metaWindow); this.visible = this._isWindowVisible(this.metaWindow);
} }
@@ -550,7 +532,7 @@ class AppButton extends BaseButton {
this._updateVisibility(); this._updateVisibility();
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()}); let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
this._button.set_child(stack); this.set_child(stack);
this._singleWindowTitle = new St.Bin({ this._singleWindowTitle = new St.Bin({
x_expand: true, x_expand: true,
@@ -747,24 +729,28 @@ class WindowList extends St.Widget {
let box = new St.BoxLayout({x_expand: true, y_expand: true}); let box = new St.BoxLayout({x_expand: true, y_expand: true});
this.add_child(box); this.add_child(box);
this._windowList = new St.BoxLayout({ let layout = new Clutter.BoxLayout({homogeneous: true});
this._windowList = new St.Widget({
style_class: 'window-list', style_class: 'window-list',
reactive: true, reactive: true,
layout_manager: layout,
x_align: Clutter.ActorAlign.START, x_align: Clutter.ActorAlign.START,
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
}); });
box.add_child(this._windowList); box.add_child(this._windowList);
this._windowList.connect('style-changed', () => {
let node = this._windowList.get_theme_node();
let spacing = node.get_length('spacing');
this._windowList.layout_manager.spacing = spacing;
});
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this)); this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END}); let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
box.add_child(indicatorsBox); box.add_child(indicatorsBox);
this._workspaceIndicator = new BottomWorkspaceIndicator({ this._workspaceIndicator = new WorkspaceIndicator();
baseStyleClass: 'window-list-workspace-indicator',
settings,
});
indicatorsBox.add_child(this._workspaceIndicator.container); indicatorsBox.add_child(this._workspaceIndicator.container);
this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'}); this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
@@ -777,9 +763,7 @@ class WindowList extends St.Widget {
this._updateWorkspaceIndicatorVisibility(); this._updateWorkspaceIndicatorVisibility();
this._menuManager = new PopupMenu.PopupMenuManager(this); this._menuManager = new PopupMenu.PopupMenuManager(this);
this._workspaceIndicator.connectObject('menu-set', this._menuManager.addMenu(this._workspaceIndicator.menu);
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
Main.layoutManager.addChrome(this, { Main.layoutManager.addChrome(this, {
affectsStruts: true, affectsStruts: true,
@@ -838,7 +822,7 @@ class WindowList extends St.Widget {
this._windowSignals = new Map(); this._windowSignals = new Map();
global.display.connectObject( global.display.connectObject(
'window-created', (dsp, win) => this._addWindow(win, true), this); 'window-created', (dsp, win) => this._addWindow(win), this);
Main.xdndHandler.connectObject( Main.xdndHandler.connectObject(
'drag-begin', () => this._monitorDrag(), 'drag-begin', () => this._monitorDrag(),
@@ -876,11 +860,6 @@ class WindowList extends St.Widget {
children[newActive].activate(); children[newActive].activate();
} }
_onWorkspaceMenuSet() {
if (this._workspaceIndicator.menu)
this._menuManager.addMenu(this._workspaceIndicator.menu);
}
_updatePosition() { _updatePosition() {
this.set_position( this.set_position(
this._monitor.x, this._monitor.x,
@@ -955,14 +934,14 @@ class WindowList extends St.Widget {
w2.metaWindow.get_stable_sequence(); w2.metaWindow.get_stable_sequence();
}); });
for (let i = 0; i < windows.length; i++) for (let i = 0; i < windows.length; i++)
this._addWindow(windows[i].metaWindow, false); this._addWindow(windows[i].metaWindow);
} else { } else {
let apps = this._appSystem.get_running().sort((a1, a2) => { let apps = this._appSystem.get_running().sort((a1, a2) => {
return _getAppStableSequence(a1) - return _getAppStableSequence(a1) -
_getAppStableSequence(a2); _getAppStableSequence(a2);
}); });
for (let i = 0; i < apps.length; i++) for (let i = 0; i < apps.length; i++)
this._addApp(apps[i], false); this._addApp(apps[i]);
} }
} }
@@ -976,26 +955,26 @@ class WindowList extends St.Widget {
return; return;
if (app.state === Shell.AppState.RUNNING) if (app.state === Shell.AppState.RUNNING)
this._addApp(app, true); this._addApp(app);
else if (app.state === Shell.AppState.STOPPED) else if (app.state === Shell.AppState.STOPPED)
this._removeApp(app); this._removeApp(app);
} }
_addApp(app, animate) { _addApp(app) {
let button = new AppButton(app, this._perMonitor, this._monitor.index); let button = new AppButton(app, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces', this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET); button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.add_child(button); this._windowList.add_child(button);
button.show(animate);
} }
_removeApp(app) { _removeApp(app) {
let children = this._windowList.get_children(); let children = this._windowList.get_children();
let child = children.find(c => c.app === app); let child = children.find(c => c.app === app);
child?.animateOutAndDestroy(); if (child)
child.destroy();
} }
_addWindow(win, animate) { _addWindow(win) {
if (!this._grouped) if (!this._grouped)
this._checkGrouping(); this._checkGrouping();
@@ -1013,7 +992,6 @@ class WindowList extends St.Widget {
this._settings.bind('display-all-workspaces', this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET); button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.add_child(button); this._windowList.add_child(button);
button.show(animate);
} }
_removeWindow(win) { _removeWindow(win) {
@@ -1030,7 +1008,8 @@ class WindowList extends St.Widget {
let children = this._windowList.get_children(); let children = this._windowList.get_children();
let child = children.find(c => c.metaWindow === win); let child = children.find(c => c.metaWindow === win);
child?.animateOutAndDestroy(); if (child)
child.destroy();
} }
_monitorDrag() { _monitorDrag() {
@@ -1101,28 +1080,6 @@ class WindowList extends St.Widget {
} }
} }
class BottomWorkspaceIndicator extends WorkspaceIndicator {
static {
GObject.registerClass(this);
}
constructor(params) {
super(params);
this.remove_style_class_name('panel-button');
}
setMenu(menu) {
super.setMenu(menu);
if (!menu)
return;
this.menu.actor.updateArrowSide(St.Side.BOTTOM);
this.menu.actor.remove_style_class_name('panel-menu');
}
}
export default class WindowListExtension extends Extension { export default class WindowListExtension extends Extension {
constructor(metadata) { constructor(metadata) {
super(metadata); super(metadata);
@@ -1174,3 +1131,67 @@ export default class WindowListExtension extends Extension {
return this._windowLists.some(list => list.contains(actor)); return this._windowLists.some(list => list.contains(actor));
} }
} }
class Tooltip extends St.Label {
static {
GObject.registerClass(this);
}
constructor(widget, params) {
super(params);
this._widget = widget;
this._widget.connect('notify::hover', () => {
if (this._widget.hover)
this.open();
else
this.close();
});
}
open() {
const buttonTitleWidget = this._widget.label_actor;
const [, , preferredTitleWidth] = buttonTitleWidget.get_preferred_size();
const maxTitleWidth = buttonTitleWidget.allocation.get_width();
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
if (isTitleFullyShown)
return;
this.set({
text: this._widget.label_actor.get_text(),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this._widget.get_transformed_position();
const thumbWidth = this._widget.allocation.get_width();
const tipWidth = this.width;
const tipHeight = this.height;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY - tipHeight - TOOLTIP_OFFSET;
this.set_position(x, y);
this.ease({
opacity: 255,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
close() {
this.ease({
opacity: 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
}
+1 -28
View File
@@ -12,32 +12,5 @@ extension_data += files(
'stylesheet-light.css' 'stylesheet-light.css'
) )
transform_stylesheet = [ extension_sources += files('prefs.js', 'workspaceIndicator.js')
'sed', '-E',
'-e', 's:^\.(workspace-indicator):.window-list-\\1:',
'-e', '/^@import/d',
'@INPUT@',
]
workspaceIndicatorSources = [
configure_file(
input: '../workspace-indicator/workspaceIndicator.js',
output: '@PLAINNAME@',
copy: true,
),
configure_file(
input: '../workspace-indicator/stylesheet-dark.css',
output: 'stylesheet-workspace-switcher-dark.css',
command: transform_stylesheet,
capture: true,
),
configure_file(
input: '../workspace-indicator/stylesheet-light.css',
output: 'stylesheet-workspace-switcher-light.css',
command: transform_stylesheet,
capture: true,
),
]
extension_sources += files('prefs.js') + workspaceIndicatorSources
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml') extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
@@ -36,9 +36,5 @@ SPDX-License-Identifier: GPL-2.0-or-later
only on the primary one. only on the primary one.
</description> </description>
</key> </key>
<key name="embed-previews" type="b">
<default>true</default>
<summary>Show workspace previews in window list</summary>
</key>
</schema> </schema>
</schemalist> </schemalist>
-13
View File
@@ -81,19 +81,6 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
}); });
row.add_suffix(toggle); row.add_suffix(toggle);
miscGroup.add(row); miscGroup.add(row);
toggle = new Gtk.Switch({
action_name: 'window-list.embed-previews',
valign: Gtk.Align.CENTER,
});
this._settings.bind('embed-previews',
toggle, 'active', Gio.SettingsBindFlags.DEFAULT);
row = new Adw.ActionRow({
title: _('Show workspace previews'),
activatable_widget: toggle,
});
row.add_suffix(toggle);
miscGroup.add(row);
} }
} }
+41 -12
View File
@@ -4,7 +4,6 @@
* *
* SPDX-License-Identifier: GPL-2.0-or-later * SPDX-License-Identifier: GPL-2.0-or-later
*/ */
@import url("stylesheet-workspace-switcher-dark.css");
.window-list { .window-list {
spacing: 2px; spacing: 2px;
@@ -34,8 +33,8 @@
} }
.window-button > StWidget { .window-button > StWidget {
color: #fff; color: #bbb;
background-color: transparent; background-color: #1d1d1d;
border-radius: 4px; border-radius: 4px;
padding: 3px 6px 1px; padding: 3px 6px 1px;
transition: 100ms ease; transition: 100ms ease;
@@ -47,25 +46,25 @@
} }
.window-button:hover > StWidget { .window-button:hover > StWidget {
color: #fff;
background-color: #303030; background-color: #303030;
} }
.window-button:active > StWidget, .window-button:active > StWidget,
.window-button:focus > StWidget { .window-button:focus > StWidget {
background-color: st-lighten(#303030, 5%); color: #fff;
background-color: #3f3f3f;
} }
.window-button.focused > StWidget { .window-button.focused > StWidget {
background-color: #5b5b5b; color: #fff;
background-color: #3f3f3f;
} }
.window-button.focused:hover > StWidget { .window-button.focused:active > StWidget {
background-color: st-lighten(#5b5b5b, 5%); color: #fff;
} background-color: #3f3f3f;
}
.window-button.focused:active > StWidget {
background-color: st-lighten(#5b5b5b, 10%);
}
.window-button.minimized > StWidget { .window-button.minimized > StWidget {
color: #666; color: #666;
@@ -82,6 +81,36 @@
height: 24px; height: 24px;
} }
.window-list-workspace-indicator .status-label-bin {
background-color: rgba(200, 200, 200, 0.3);
padding: 5px;
margin: 3px;
}
.window-list-workspace-indicator .workspaces-box {
spacing: 3px;
padding: 5px;
}
.window-list-workspace-indicator .workspace {
width: 52px;
border-radius: 4px;
background-color: #1e1e1e;
}
.window-list-workspace-indicator .workspace.active {
background-color: #3f3f3f;
}
.window-list-window-preview {
background-color: #bebebe;
border-radius: 1px;
}
.window-list-window-preview.active {
background-color: #d4d4d4;
}
.notification { .notification {
font-weight: normal; font-weight: normal;
} }
+37 -34
View File
@@ -6,7 +6,6 @@
*/ */
@import url("stylesheet-dark.css"); @import url("stylesheet-dark.css");
@import url("stylesheet-workspace-switcher-light.css");
#panel.bottom-panel { #panel.bottom-panel {
border-top-width: 1px; border-top-width: 1px;
@@ -15,10 +14,13 @@
} }
.bottom-panel .window-button > StWidget { .bottom-panel .window-button > StWidget {
color: #2e3436;
background-color: #eee;
border-radius: 3px; border-radius: 3px;
padding: 3px 6px 1px; padding: 3px 6px 1px;
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
border: 1px solid rgba(0,0,0,0.2);
} }
.bottom-panel .window-button > StWidget { .bottom-panel .window-button > StWidget {
@@ -26,43 +28,44 @@
max-width: 18.75em; max-width: 18.75em;
} }
.window-button > StWidget { .bottom-panel .window-button:hover > StWidget {
color: #000; background-color: #f9f9f9;
background-color: transparent;
}
.window-button > StWidget {
-st-natural-width: 18.75em;
max-width: 18.75em;
}
.window-button:hover > StWidget {
background-color: st-darken(#eee,5%);
}
.window-button:active > StWidget,
.window-button:focus > StWidget {
background-color: st-darken(#eee, 10%);
}
.window-button.focused > StWidget {
background-color: st-darken(#eee,15%);
}
.window-button.focused:hover > StWidget {
background-color: st-darken(#eee, 20%);
} }
.window-button.focused:active > StWidget { .bottom-panel .window-button:active > StWidget,
background-color: st-darken(#eee, 25%); .bottom-panel .window-button:focus > StWidget {
box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
} }
.window-button.minimized > StWidget { .bottom-panel .window-button.focused > StWidget {
color: #aaa; background-color: #ccc;
background-color: #f9f9f9; box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}
.bottom-panel .window-button.focused:hover > StWidget {
background-color: #e9e9e9;
}
.bottom-panel .window-button.minimized > StWidget {
color: #888;
box-shadow: none;
}
/* workspace switcher */
.window-list-workspace-indicator .workspace {
border: 2px solid #f6f5f4;
background-color: #ccc;
} }
.window-button.minimized:active > StWidget { .window-list-workspace-indicator .workspace.active {
color: #aaa; border-color: #888;
background-color: #f9f9f9; }
.window-list-window-preview {
background-color: #ededed;
border: 1px solid #ccc;
}
.window-list-window-preview.active {
background-color: #f6f5f4;
} }
@@ -1,6 +1,4 @@
// SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com> // SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
// SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
// SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
@@ -20,9 +18,7 @@ import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
const TOOLTIP_OFFSET = 6; const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150; const TOOLTIP_ANIMATION_TIME = 150;
const SCROLL_TIME = 100; const MAX_THUMBNAILS = 6;
let baseStyleClassName = '';
class WindowPreview extends St.Button { class WindowPreview extends St.Button {
static { static {
@@ -31,7 +27,7 @@ class WindowPreview extends St.Button {
constructor(window) { constructor(window) {
super({ super({
style_class: `${baseStyleClassName}-window-preview`, style_class: 'window-list-window-preview',
}); });
this._delegate = this; this._delegate = this;
@@ -104,39 +100,19 @@ class WorkspaceLayout extends Clutter.LayoutManager {
Math.round(Math.min(frameRect.height, workArea.height) * vscale)); Math.round(Math.min(frameRect.height, workArea.height) * vscale));
childBox.set_origin( childBox.set_origin(
Math.round((frameRect.x - workArea.x) * hscale), Math.round((frameRect.x - workArea.x) * hscale),
Math.round((frameRect.y - workArea.y) * vscale)); Math.round((frameRect.y - workArea.y) * vscale));
child.allocate(childBox); child.allocate(childBox);
} }
} }
} }
class WorkspaceThumbnail extends St.Button { class WorkspaceThumbnail extends St.Button {
static [GObject.properties] = {
'active': GObject.ParamSpec.boolean(
'active', '', '',
GObject.ParamFlags.READWRITE,
false),
'show-label': GObject.ParamSpec.boolean(
'show-label', '', '',
GObject.ParamFlags.READWRITE,
false),
};
static { static {
GObject.registerClass(this); GObject.registerClass(this);
} }
constructor(index) { constructor(index) {
super(); super({
const box = new St.BoxLayout({
style_class: 'workspace-box',
y_expand: true,
vertical: true,
});
this.set_child(box);
this._preview = new St.Bin({
style_class: 'workspace', style_class: 'workspace',
child: new Clutter.Actor({ child: new Clutter.Actor({
layout_manager: new WorkspaceLayout(), layout_manager: new WorkspaceLayout(),
@@ -144,15 +120,7 @@ class WorkspaceThumbnail extends St.Button {
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
}), }),
y_expand: true,
}); });
box.add_child(this._preview);
this._label = new St.Label({
x_align: Clutter.ActorAlign.CENTER,
text: Meta.prefs_get_workspace_name(index),
});
box.add_child(this._label);
this._tooltip = new St.Label({ this._tooltip = new St.Label({
style_class: 'dash-label', style_class: 'dash-label',
@@ -160,19 +128,9 @@ class WorkspaceThumbnail extends St.Button {
}); });
Main.uiGroup.add_child(this._tooltip); Main.uiGroup.add_child(this._tooltip);
this.bind_property('show-label',
this._label, 'visible',
GObject.BindingFlags.SYNC_CREATE);
this.connect('destroy', this._onDestroy.bind(this)); this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this)); this.connect('notify::hover', this._syncTooltip.bind(this));
const desktopSettings =
new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
desktopSettings.connectObject('changed::workspace-names', () => {
this._label.text = Meta.prefs_get_workspace_name(index);
}, this);
this._index = index; this._index = index;
this._delegate = this; // needed for DND this._delegate = this; // needed for DND
@@ -181,10 +139,6 @@ class WorkspaceThumbnail extends St.Button {
let workspaceManager = global.workspace_manager; let workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index); this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.bind_property('active',
this, 'active',
GObject.BindingFlags.SYNC_CREATE);
this._workspace.connectObject( this._workspace.connectObject(
'window-added', (ws, window) => this._addWindow(window), 'window-added', (ws, window) => this._addWindow(window),
'window-removed', (ws, window) => this._removeWindow(window), 'window-removed', (ws, window) => this._removeWindow(window),
@@ -197,18 +151,6 @@ class WorkspaceThumbnail extends St.Button {
this._onRestacked(); this._onRestacked();
} }
get active() {
return this._preview.has_style_class_name('active');
}
set active(active) {
if (active)
this._preview.add_style_class_name('active');
else
this._preview.remove_style_class_name('active');
this.notify('active');
}
acceptDrop(source) { acceptDrop(source) {
if (!source.metaWindow) if (!source.metaWindow)
return false; return false;
@@ -231,7 +173,7 @@ class WorkspaceThumbnail extends St.Button {
let preview = new WindowPreview(window); let preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn)); preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview); this._windowPreviews.set(window, preview);
this._preview.child.add_child(preview); this.child.add_child(preview);
} }
_removeWindow(window) { _removeWindow(window) {
@@ -251,7 +193,7 @@ class WorkspaceThumbnail extends St.Button {
if (!preview) if (!preview)
continue; continue;
this._preview.child.set_child_above_sibling(preview, lastPreview); this.child.set_child_above_sibling(preview, lastPreview);
lastPreview = preview; lastPreview = preview;
} }
} }
@@ -270,9 +212,6 @@ class WorkspaceThumbnail extends St.Button {
} }
_syncTooltip() { _syncTooltip() {
if (this.showLabel)
return;
if (this.hover) { if (this.hover) {
this._tooltip.set({ this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index), text: Meta.prefs_get_workspace_name(this._index),
@@ -281,17 +220,16 @@ class WorkspaceThumbnail extends St.Button {
}); });
const [stageX, stageY] = this.get_transformed_position(); const [stageX, stageY] = this.get_transformed_position();
const [thumbWidth, thumbHeight] = this.allocation.get_size(); const thumbWidth = this.allocation.get_width();
const [tipWidth, tipHeight] = this._tooltip.get_size(); const tipWidth = this._tooltip.width;
const tipHeight = this._tooltip.height;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2); const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this); const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp( const x = Math.clamp(
stageX + xOffset, stageX + xOffset,
monitor.x, monitor.x,
monitor.x + monitor.width - tipWidth); monitor.x + monitor.width - tipWidth);
const y = stageY - monitor.y > thumbHeight + TOOLTIP_OFFSET const y = stageY - tipHeight - TOOLTIP_OFFSET;
? stageY - tipHeight - TOOLTIP_OFFSET // show above
: stageY + thumbHeight + TOOLTIP_OFFSET; // show below
this._tooltip.set_position(x, y); this._tooltip.set_position(x, y);
} }
@@ -308,136 +246,17 @@ class WorkspaceThumbnail extends St.Button {
} }
} }
class WorkspacePreviews extends Clutter.Actor {
static [GObject.properties] = {
'show-labels': GObject.ParamSpec.boolean(
'show-labels', '', '',
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
false),
};
static {
GObject.registerClass(this);
}
constructor(params) {
super({
...params,
layout_manager: new Clutter.BinLayout(),
reactive: true,
y_expand: true,
});
this.connect('scroll-event',
(a, event) => Main.wm.handleWorkspaceScroll(event));
const {workspaceManager} = global;
workspaceManager.connectObject(
'notify::n-workspaces', () => this._updateThumbnails(), GObject.ConnectFlags.AFTER,
'workspace-switched', () => this._updateScrollPosition(),
this);
this.connect('notify::mapped', () => {
if (this.mapped)
this._updateScrollPosition();
});
this._thumbnailsBox = new St.BoxLayout({
style_class: 'workspaces-box',
y_expand: true,
});
this._scrollView = new St.ScrollView({
style_class: 'workspaces-view hfade',
enable_mouse_scrolling: false,
hscrollbar_policy: St.PolicyType.EXTERNAL,
vscrollbar_policy: St.PolicyType.NEVER,
y_expand: true,
child: this._thumbnailsBox,
});
this.add_child(this._scrollView);
this._updateThumbnails();
}
_updateThumbnails() {
const {nWorkspaces} = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < nWorkspaces; i++) {
const thumb = new WorkspaceThumbnail(i);
this.bind_property('show-labels',
thumb, 'show-label',
GObject.BindingFlags.SYNC_CREATE);
this._thumbnailsBox.add_child(thumb);
}
if (this.mapped)
this._updateScrollPosition();
}
_updateScrollPosition() {
const adjustment = this._scrollView.hadjustment;
const {upper, pageSize} = adjustment;
let {value} = adjustment;
const activeWorkspace =
[...this._thumbnailsBox].find(a => a.active);
if (!activeWorkspace)
return;
let offset = 0;
const hfade = this._scrollView.get_effect('fade');
if (hfade)
offset = hfade.fade_margins.left;
let {x1, x2} = activeWorkspace.get_allocation_box();
let parent = activeWorkspace.get_parent();
while (parent !== this._scrollView) {
if (!parent)
throw new Error('actor not in scroll view');
const box = parent.get_allocation_box();
x1 += box.x1;
x2 += box.x1;
parent = parent.get_parent();
}
if (x1 < value + offset)
value = Math.max(0, x1 - offset);
else if (x2 > value + pageSize - offset)
value = Math.min(upper, x2 + offset - pageSize);
else
return;
adjustment.ease(value, {
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
duration: SCROLL_TIME,
});
}
}
export class WorkspaceIndicator extends PanelMenu.Button { export class WorkspaceIndicator extends PanelMenu.Button {
static { static {
GObject.registerClass(this); GObject.registerClass(this);
} }
constructor(params = {}) { constructor() {
super(0.5, _('Workspace Indicator'), true); super(0.5, _('Workspace Indicator'), true);
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
const { this.add_style_class_name('window-list-workspace-indicator');
baseStyleClass = 'workspace-indicator', this.remove_style_class_name('panel-button');
settings, this.menu.actor.remove_style_class_name('panel-menu');
} = params;
this._settings = settings;
baseStyleClassName = baseStyleClass;
this.add_style_class_name(baseStyleClassName);
let container = new St.Widget({ let container = new St.Widget({
layout_manager: new Clutter.BinLayout(), layout_manager: new Clutter.BinLayout(),
@@ -449,89 +268,163 @@ export class WorkspaceIndicator extends PanelMenu.Button {
let workspaceManager = global.workspace_manager; let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index(); this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({ this._statusLabel = new St.Label({text: this._getStatusText()});
style_class: 'status-label',
y_align: Clutter.ActorAlign.CENTER,
text: this._getStatusText(),
});
container.add_child(this._statusLabel);
this._thumbnails = new WorkspacePreviews(); this._statusBin = new St.Bin({
container.add_child(this._thumbnails); style_class: 'status-label-bin',
x_expand: true,
y_expand: true,
child: this._statusLabel,
});
container.add_child(this._statusBin);
this._thumbnailsBox = new St.BoxLayout({
style_class: 'workspaces-box',
y_expand: true,
reactive: true,
});
this._thumbnailsBox.connect('scroll-event',
this._onScrollEvent.bind(this));
container.add_child(this._thumbnailsBox);
this._workspacesItems = []; this._workspacesItems = [];
workspaceManager.connectObject( workspaceManager.connectObject(
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER, 'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
this); this);
this.connect('scroll-event', this.connect('scroll-event', this._onScrollEvent.bind(this));
(a, event) => Main.wm.handleWorkspaceScroll(event)); this._updateMenu();
this._updateThumbnails();
this._inTopBar = false;
this.connect('notify::realized', () => {
if (!this.realized)
return;
this._inTopBar = Main.panel.contains(this);
this._updateTopBarRedirect();
});
this._settings.connect('changed::embed-previews',
() => this._updateThumbnailVisibility());
this._updateThumbnailVisibility(); this._updateThumbnailVisibility();
}
_onDestroy() { this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
if (this._inTopBar) this._settings.connectObject('changed::workspace-names',
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS); () => this._updateMenuLabels(), this);
this._inTopBar = false;
super._onDestroy();
} }
_updateThumbnailVisibility() { _updateThumbnailVisibility() {
const useMenu = !this._settings.get_boolean('embed-previews'); const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1;
const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
this.reactive = useMenu; this.reactive = useMenu;
this._statusLabel.visible = useMenu; this._statusBin.visible = useMenu;
this._thumbnails.visible = !useMenu; this._thumbnailsBox.visible = !useMenu;
this.setMenu(useMenu
? this._createPreviewMenu()
: null);
this._updateTopBarRedirect();
}
_updateTopBarRedirect() {
if (!this._inTopBar)
return;
// Disable offscreen-redirect when showing the workspace switcher
// so that clip-to-allocation works
Main.panel.set_offscreen_redirect(this._thumbnails.visible
? Clutter.OffscreenRedirect.ALWAYS
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
} }
_onWorkspaceSwitched() { _onWorkspaceSwitched() {
this._currentWorkspace = global.workspace_manager.get_active_workspace_index(); let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._updateMenuOrnament();
this._updateActiveThumbnail();
this._statusLabel.set_text(this._getStatusText()); this._statusLabel.set_text(this._getStatusText());
} }
_getStatusText() { _nWorkspacesChanged() {
const {nWorkspaces} = global.workspace_manager; this._updateMenu();
const current = this._currentWorkspace + 1; this._updateThumbnails();
return `${current} / ${nWorkspaces}`; this._updateThumbnailVisibility();
} }
_createPreviewMenu() { _updateMenuOrnament() {
const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP); for (let i = 0; i < this._workspacesItems.length; i++) {
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NO_DOT);
}
}
const previews = new WorkspacePreviews({show_labels: true}); _updateActiveThumbnail() {
menu.box.add_child(previews); let thumbs = this._thumbnailsBox.get_children();
menu.actor.add_style_class_name(`${baseStyleClassName}-menu`); for (let i = 0; i < thumbs.length; i++) {
return menu; if (i === this._currentWorkspace)
thumbs[i].add_style_class_name('active');
else
thumbs[i].remove_style_class_name('active');
}
}
_getStatusText() {
let workspaceManager = global.workspace_manager;
let current = workspaceManager.get_active_workspace_index();
let total = workspaceManager.n_workspaces;
return '%d / %d'.format(current + 1, total);
}
_updateMenuLabels() {
for (let i = 0; i < this._workspacesItems.length; i++) {
let item = this._workspacesItems[i];
let name = Meta.prefs_get_workspace_name(i);
item.label.text = name;
}
}
_updateMenu() {
let workspaceManager = global.workspace_manager;
this.menu.removeAll();
this._workspacesItems = [];
this._currentWorkspace = workspaceManager.get_active_workspace_index();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let name = Meta.prefs_get_workspace_name(i);
let item = new PopupMenu.PopupMenuItem(name);
item.workspaceId = i;
item.connect('activate', () => {
this._activate(item.workspaceId);
});
item.setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NO_DOT);
this.menu.addMenuItem(item);
this._workspacesItems[i] = item;
}
this._statusLabel.set_text(this._getStatusText());
}
_updateThumbnails() {
let workspaceManager = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let thumb = new WorkspaceThumbnail(i);
this._thumbnailsBox.add_child(thumb);
}
this._updateActiveThumbnail();
}
_activate(index) {
let workspaceManager = global.workspace_manager;
if (index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time());
}
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN)
diff = 1;
else if (direction === Clutter.ScrollDirection.UP)
diff = -1;
else
return;
let newIndex = this._currentWorkspace + diff;
this._activate(newIndex);
} }
} }
+431 -5
View File
@@ -4,17 +4,443 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js'; // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
import St from 'gi://St';
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import {WorkspaceIndicator} from './workspaceIndicator.js'; const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const MAX_THUMBNAILS = 6;
class WindowPreview extends St.Button {
static {
GObject.registerClass(this);
}
constructor(window) {
super({
style_class: 'workspace-indicator-window-preview',
});
this._delegate = this;
DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window;
this._window.connectObject(
'size-changed', () => this._checkRelayout(),
'position-changed', () => this._checkRelayout(),
'notify::minimized', this._updateVisible.bind(this),
'notify::window-type', this._updateVisible.bind(this),
this);
this._updateVisible();
global.display.connectObject('notify::focus-window',
this._onFocusChanged.bind(this), this);
this._onFocusChanged();
}
// needed for DND
get metaWindow() {
return this._window;
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');
else
this.remove_style_class_name('active');
}
_checkRelayout() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
if (this._window.get_frame_rect().overlap(workArea))
this.queue_relayout();
}
_updateVisible() {
this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
}
}
class WorkspaceLayout extends Clutter.LayoutManager {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_width() {
return [0, 0];
}
vfunc_get_preferred_height() {
return [0, 0];
}
vfunc_allocate(container, box) {
const monitor = Main.layoutManager.findIndexForActor(container);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
const hscale = box.get_width() / workArea.width;
const vscale = box.get_height() / workArea.height;
for (const child of container) {
const childBox = new Clutter.ActorBox();
const frameRect = child.metaWindow.get_frame_rect();
childBox.set_size(
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
childBox.set_origin(
Math.round((frameRect.x - workArea.x) * hscale),
Math.round((frameRect.y - workArea.y) * vscale));
child.allocate(childBox);
}
}
}
class WorkspaceThumbnail extends St.Button {
static {
GObject.registerClass(this);
}
constructor(index) {
super({
style_class: 'workspace',
child: new Clutter.Actor({
layout_manager: new WorkspaceLayout(),
clip_to_allocation: true,
x_expand: true,
y_expand: true,
}),
});
this._tooltip = new St.Label({
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this));
this._index = index;
this._delegate = this; // needed for DND
this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.connectObject(
'window-added', (ws, window) => this._addWindow(window),
'window-removed', (ws, window) => this._removeWindow(window),
this);
global.display.connectObject('restacked',
this._onRestacked.bind(this), this);
this._workspace.list_windows().forEach(w => this._addWindow(w));
this._onRestacked();
}
acceptDrop(source) {
if (!source.metaWindow)
return false;
this._moveWindow(source.metaWindow);
return true;
}
handleDragOver(source) {
if (source.metaWindow)
return DND.DragMotionResult.MOVE_DROP;
else
return DND.DragMotionResult.CONTINUE;
}
_addWindow(window) {
if (this._windowPreviews.has(window))
return;
let preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview);
this.child.add_child(preview);
}
_removeWindow(window) {
let preview = this._windowPreviews.get(window);
if (!preview)
return;
this._windowPreviews.delete(window);
preview.destroy();
}
_onRestacked() {
let lastPreview = null;
let windows = global.get_window_actors().map(a => a.meta_window);
for (let i = 0; i < windows.length; i++) {
let preview = this._windowPreviews.get(windows[i]);
if (!preview)
continue;
this.child.set_child_above_sibling(preview, lastPreview);
lastPreview = preview;
}
}
_moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this);
if (monitorIndex !== window.get_monitor())
window.move_to_monitor(monitorIndex);
window.change_workspace_by_index(this._index, false);
}
on_clicked() {
let ws = global.workspace_manager.get_workspace_by_index(this._index);
if (ws)
ws.activate(global.get_current_time());
}
_syncTooltip() {
if (this.hover) {
this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this.get_transformed_position();
const thumbWidth = this.allocation.get_width();
const thumbHeight = this.allocation.get_height();
const tipWidth = this._tooltip.width;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY + thumbHeight + TOOLTIP_OFFSET;
this._tooltip.set_position(x, y);
}
this._tooltip.ease({
opacity: this.hover ? 255 : 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this._tooltip.visible = this.hover),
});
}
_onDestroy() {
this._tooltip.destroy();
}
}
class WorkspaceIndicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
}
constructor() {
super(0.5, _('Workspace Indicator'));
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
});
this.add_child(container);
let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({
style_class: 'panel-workspace-indicator',
y_align: Clutter.ActorAlign.CENTER,
text: this._labelText(),
});
container.add_child(this._statusLabel);
this._thumbnailsBox = new St.BoxLayout({
style_class: 'panel-workspace-indicator-box',
y_expand: true,
reactive: true,
});
container.add_child(this._thumbnailsBox);
this._workspacesItems = [];
this._workspaceSection = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(this._workspaceSection);
workspaceManager.connectObject(
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
this);
this.connect('scroll-event', this._onScrollEvent.bind(this));
this._thumbnailsBox.connect('scroll-event', this._onScrollEvent.bind(this));
this._createWorkspacesSection();
this._updateThumbnails();
this._updateThumbnailVisibility();
this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
this._settings.connectObject(`changed::${WORKSPACE_KEY}`,
this._updateMenuLabels.bind(this), this);
}
_onDestroy() {
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
super._onDestroy();
}
_updateThumbnailVisibility() {
const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1;
const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
this.reactive = useMenu;
this._statusLabel.visible = useMenu;
this._thumbnailsBox.visible = !useMenu;
// Disable offscreen-redirect when showing the workspace switcher
// so that clip-to-allocation works
Main.panel.set_offscreen_redirect(useMenu
? Clutter.OffscreenRedirect.ALWAYS
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
}
_onWorkspaceSwitched() {
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
this._updateMenuOrnament();
this._updateActiveThumbnail();
this._statusLabel.set_text(this._labelText());
}
_nWorkspacesChanged() {
this._createWorkspacesSection();
this._updateThumbnails();
this._updateThumbnailVisibility();
}
_updateMenuOrnament() {
for (let i = 0; i < this._workspacesItems.length; i++) {
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NO_DOT);
}
}
_updateActiveThumbnail() {
let thumbs = this._thumbnailsBox.get_children();
for (let i = 0; i < thumbs.length; i++) {
if (i === this._currentWorkspace)
thumbs[i].add_style_class_name('active');
else
thumbs[i].remove_style_class_name('active');
}
}
_labelText(workspaceIndex) {
if (workspaceIndex === undefined) {
workspaceIndex = this._currentWorkspace;
return (workspaceIndex + 1).toString();
}
return Meta.prefs_get_workspace_name(workspaceIndex);
}
_updateMenuLabels() {
for (let i = 0; i < this._workspacesItems.length; i++)
this._workspacesItems[i].label.text = this._labelText(i);
}
_createWorkspacesSection() {
let workspaceManager = global.workspace_manager;
this._workspaceSection.removeAll();
this._workspacesItems = [];
this._currentWorkspace = workspaceManager.get_active_workspace_index();
let i = 0;
for (; i < workspaceManager.n_workspaces; i++) {
this._workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i));
this._workspaceSection.addMenuItem(this._workspacesItems[i]);
this._workspacesItems[i].workspaceId = i;
this._workspacesItems[i].label_actor = this._statusLabel;
this._workspacesItems[i].connect('activate', (actor, _event) => {
this._activate(actor.workspaceId);
});
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NO_DOT);
}
this._statusLabel.set_text(this._labelText());
}
_updateThumbnails() {
let workspaceManager = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let thumb = new WorkspaceThumbnail(i);
this._thumbnailsBox.add_child(thumb);
}
this._updateActiveThumbnail();
}
_activate(index) {
let workspaceManager = global.workspace_manager;
if (index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time());
}
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN)
diff = 1;
else if (direction === Clutter.ScrollDirection.UP)
diff = -1;
else
return;
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
this._activate(newIndex);
}
}
export default class WorkspaceIndicatorExtension extends Extension { export default class WorkspaceIndicatorExtension extends Extension {
enable() { enable() {
this._indicator = new WorkspaceIndicator({ this._indicator = new WorkspaceIndicator();
settings: this.getSettings(),
});
Main.panel.addToStatusArea('workspace-indicator', this._indicator); Main.panel.addToStatusArea('workspace-indicator', this._indicator);
} }
+2 -6
View File
@@ -7,10 +7,6 @@ extension_data += configure_file(
output: metadata_name, output: metadata_name,
configuration: metadata_conf configuration: metadata_conf
) )
extension_data += files( extension_data += files('stylesheet.css')
'stylesheet-dark.css',
'stylesheet-light.css',
)
extension_schemas += files('schemas/' + metadata_conf.get('gschemaname') + '.gschema.xml')
extension_sources += files('prefs.js', 'workspaceIndicator.js') extension_sources += files('prefs.js')
+2 -24
View File
@@ -18,25 +18,6 @@ const N_ = e => e;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences'; const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names'; const WORKSPACE_KEY = 'workspace-names';
class GeneralGroup extends Adw.PreferencesGroup {
static {
GObject.registerClass(this);
}
constructor(settings) {
super();
const row = new Adw.SwitchRow({
title: _('Show Previews In Top Bar'),
});
this.add(row);
settings.bind('embed-previews',
row, 'active',
Gio.SettingsBindFlags.DEFAULT);
}
}
class NewItem extends GObject.Object {} class NewItem extends GObject.Object {}
GObject.registerClass(NewItem); GObject.registerClass(NewItem);
@@ -138,7 +119,7 @@ class WorkspacesList extends GObject.Object {
} }
} }
class WorkspacesGroup extends Adw.PreferencesGroup { class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
static { static {
GObject.registerClass(this); GObject.registerClass(this);
@@ -284,9 +265,6 @@ class NewWorkspaceRow extends Adw.PreferencesRow {
export default class WorkspaceIndicatorPrefs extends ExtensionPreferences { export default class WorkspaceIndicatorPrefs extends ExtensionPreferences {
getPreferencesWidget() { getPreferencesWidget() {
const page = new Adw.PreferencesPage(); return new WorkspaceSettingsWidget();
page.add(new GeneralGroup(this.getSettings()));
page.add(new WorkspacesGroup());
return page;
} }
} }
@@ -1,15 +0,0 @@
<!--
SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.workspace-indicator"
path="/org/gnome/shell/extensions/workspace-indicator/">
<key name="embed-previews" type="b">
<default>true</default>
<summary>Show workspace previews in top bar</summary>
</key>
</schema>
</schemalist>
@@ -1,76 +0,0 @@
/*
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.workspace-indicator .status-label {
padding: 0 8px;
}
.workspace-indicator .workspaces-view.hfade {
-st-hfade-offset: 20px;
}
.workspace-indicator-menu .workspaces-view {
max-width: 480px;
}
.workspace-indicator .workspaces-box {
spacing: 3px;
}
.workspace-indicator-menu .workspaces-box {
padding: 5px;
spacing: 6px;
}
.workspace-indicator .workspace-box {
padding-top: 5px;
padding-bottom: 5px;
}
.workspace-indicator StButton:first-child:ltr > .workspace-box,
.workspace-indicator StButton:last-child:rtl > .workspace-box {
padding-left: 5px;
}
.workspace-indicator StButton:last-child:ltr > .workspace-box,
.workspace-indicator StButton:first-child:rtl > .workspace-box {
padding-right: 5px;
}
.workspace-indicator-menu .workspace-box {
spacing: 6px;
}
.workspace-indicator-menu .workspace,
.workspace-indicator .workspace {
border: 1px solid transparent;
border-radius: 4px;
background-color: #3f3f3f;
}
.workspace-indicator .workspace {
width: 52px;
}
.workspace-indicator-menu .workspace {
height: 80px;
width: 160px;
}
.workspace-indicator-menu .workspace.active,
.workspace-indicator .workspace.active {
border-color: #fff;
}
.workspace-indicator-window-preview {
background-color: #bebebe;
border: 1px solid #828282;
border-radius: 1px;
}
.workspace-indicator-window-preview.active {
background-color: #d4d4d4;
}
@@ -1,25 +0,0 @@
/*
* SPDX-FileCopyrightText: 2013 Florian Müllner <fmuellner@gnome.org>
* SPDX-FileCopyrightText: 2015 Jakub Steiner <jimmac@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
@import url("stylesheet-dark.css");
.workspace-indicator .workspace {
background-color: #ccc;
}
.workspace-indicator .workspace.active {
border-color: #888;
}
.workspace-indicator-window-preview {
background-color: #ededed;
border: 1px solid #ccc;
}
.workspace-indicator-window-preview.active {
background-color: #f6f5f4;
}
@@ -0,0 +1,35 @@
/*
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.panel-workspace-indicator {
padding: 0 8px;
}
.panel-workspace-indicator-box {
padding: 4px 0;
spacing: 4px;
}
.panel-workspace-indicator-box .workspace {
width: 40px;
border: 2px solid #000;
border-radius: 2px;
background-color: #595959;
}
.panel-workspace-indicator-box .workspace.active {
border-color: #fff;
}
.workspace-indicator-window-preview {
background-color: #bebebe;
border: 1px solid #828282;
}
.workspace-indicator-window-preview.active {
background-color: #d4d4d4;
}
+1 -2
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
project('gnome-shell-extensions', project('gnome-shell-extensions',
version: '47.beta', version: '46.2',
meson_version: '>= 0.58.0', meson_version: '>= 0.58.0',
license: 'GPL2+' license: 'GPL2+'
) )
@@ -42,7 +42,6 @@ default_extensions += [
'drive-menu', 'drive-menu',
'light-style', 'light-style',
'screenshot-window-sizer', 'screenshot-window-sizer',
'status-icons',
'system-monitor', 'system-monitor',
'windowsNavigator', 'windowsNavigator',
'workspace-indicator' 'workspace-indicator'
+2 -2
View File
@@ -17,7 +17,7 @@ extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
extensions/window-list/extension.js extensions/window-list/extension.js
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
extensions/window-list/prefs.js extensions/window-list/prefs.js
extensions/window-list/workspaceIndicator.js
extensions/windowsNavigator/extension.js extensions/windowsNavigator/extension.js
extensions/workspace-indicator/extension.js
extensions/workspace-indicator/prefs.js extensions/workspace-indicator/prefs.js
extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
extensions/workspace-indicator/workspaceIndicator.js
+67 -52
View File
@@ -1,25 +1,22 @@
# Catalan translation for gnome-shell-extensions. # Catalan translation for gnome-shell-extensions.
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# Jordi Mas i Hernandez <jmas@softcatala.org>, 2011. # Jordi Mas i Hernàndez <jmas@softcatala.org>, 2011, 2024
# Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014. # Gil Forcada <gilforcada@guifi.net>, 2012, 2013, 2014.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
"issues\n" "POT-Creation-Date: 2024-05-23 16:39+0000\n"
"POT-Creation-Date: 2024-02-06 18:43+0000\n" "PO-Revision-Date: 2024-05-23 13:29+0100\n"
"PO-Revision-Date: 2024-04-24 22:52+0200\n" "Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n" "Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca\n" "Language: ca\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 2.4.2\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -42,7 +39,7 @@ msgstr "GNOME clàssic amb Xorg"
msgid "Favorites" msgid "Favorites"
msgstr "Preferides" msgstr "Preferides"
#: extensions/apps-menu/extension.js:397 #: extensions/apps-menu/extension.js:400
msgid "Apps" msgid "Apps"
msgstr "Aplicacions" msgstr "Aplicacions"
@@ -109,9 +106,9 @@ msgid ""
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
"Si és «true» (cert), posiciona el títol de la finestra damunt de la " "Si és «true» (cert), posiciona el títol de la finestra damunt de la "
"miniatura corresponent, substituint el comportament per defecte del Shell de " "miniatura corresponent, substituint el comportament per defecte del Shell de"
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui " " posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi "
"efecte." "tingui efecte."
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:94
@@ -151,7 +148,7 @@ msgstr "Mostra cíclicament cap enrere mides de captura de pantalla"
#: extensions/system-monitor/extension.js:135 #: extensions/system-monitor/extension.js:135
msgid "CPU stats" msgid "CPU stats"
msgstr "Estadístiques de processador" msgstr "Estadístiques de la CPU"
#: extensions/system-monitor/extension.js:159 #: extensions/system-monitor/extension.js:159
msgid "Memory stats" msgid "Memory stats"
@@ -159,47 +156,67 @@ msgstr "Estadístiques de memòria"
#: extensions/system-monitor/extension.js:177 #: extensions/system-monitor/extension.js:177
msgid "Swap stats" msgid "Swap stats"
msgstr "Estadístiques del «swap»" msgstr "Estadístiques de l'intercanvi"
#: extensions/system-monitor/extension.js:327 #: extensions/system-monitor/extension.js:336
msgid "Upload stats" msgid "Upload stats"
msgstr "Estadístiques de pujada" msgstr "Estadístiques de pujada"
#: extensions/system-monitor/extension.js:341 #: extensions/system-monitor/extension.js:350
msgid "Download stats" msgid "Download stats"
msgstr "Estadístiques de descàrrega" msgstr "Estadístiques de baixada"
#: extensions/system-monitor/extension.js:355 #: extensions/system-monitor/extension.js:364
msgid "System stats" msgid "System stats"
msgstr "Estadístiques del sistema" msgstr "Estadístiques del sistema"
#: extensions/system-monitor/extension.js:403 #: extensions/system-monitor/extension.js:412
msgid "Show" msgid "Show"
msgstr "Mostra" msgstr "Mostra"
#: extensions/system-monitor/extension.js:405 #: extensions/system-monitor/extension.js:414
msgid "CPU" msgid "CPU"
msgstr "Processador" msgstr "CPU"
#: extensions/system-monitor/extension.js:407 #: extensions/system-monitor/extension.js:416
msgid "Memory" msgid "Memory"
msgstr "Memòria" msgstr "Memòria"
#: extensions/system-monitor/extension.js:409
msgid "Swap"
msgstr ""
#: extensions/system-monitor/extension.js:411
msgid "Upload"
msgstr "Pujades"
#: extensions/system-monitor/extension.js:413
msgid "Download"
msgstr "Descàrregues"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Intercanvi"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Pujada"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Baixada"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "" msgstr "Obre el monitor del sistema"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Mostra l'ús de la CPU"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Mostra l'ús de la memòria"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Mostra l'ús d'intercanvi"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Mostra la pujada"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Mostra la baixada"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11 #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
@@ -209,47 +226,47 @@ msgstr "Nom del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell" msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:71 #: extensions/window-list/extension.js:72
msgid "Close" msgid "Close"
msgstr "Tanca" msgstr "Tanca"
#: extensions/window-list/extension.js:98 #: extensions/window-list/extension.js:99
msgid "Unminimize" msgid "Unminimize"
msgstr "Desminimitza" msgstr "Desminimitza"
#: extensions/window-list/extension.js:98 #: extensions/window-list/extension.js:99
msgid "Minimize" msgid "Minimize"
msgstr "Minimitza" msgstr "Minimitza"
#: extensions/window-list/extension.js:105 #: extensions/window-list/extension.js:106
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Desmaximitza" msgstr "Desmaximitza"
#: extensions/window-list/extension.js:105 #: extensions/window-list/extension.js:106
msgid "Maximize" msgid "Maximize"
msgstr "Maximitza" msgstr "Maximitza"
#: extensions/window-list/extension.js:470 #: extensions/window-list/extension.js:471
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimitza-ho tot" msgstr "Minimitza-ho tot"
#: extensions/window-list/extension.js:476 #: extensions/window-list/extension.js:477
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Desminimitza-ho tot" msgstr "Desminimitza-ho tot"
#: extensions/window-list/extension.js:482 #: extensions/window-list/extension.js:483
msgid "Maximize all" msgid "Maximize all"
msgstr "Maximitza-ho tot" msgstr "Maximitza-ho tot"
#: extensions/window-list/extension.js:490 #: extensions/window-list/extension.js:491
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Desmaximitza-ho tot" msgstr "Desmaximitza-ho tot"
#: extensions/window-list/extension.js:498 #: extensions/window-list/extension.js:499
msgid "Close all" msgid "Close all"
msgstr "Tanca-ho tot" msgstr "Tanca-ho tot"
#: extensions/window-list/extension.js:772 #: extensions/window-list/extension.js:773
msgid "Window List" msgid "Window List"
msgstr "Llista de finestres" msgstr "Llista de finestres"
@@ -263,8 +280,8 @@ msgid ""
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
msgstr "" msgstr ""
"Decideix quan s'han d'agrupar les finestres de la mateixa aplicació a la " "Decideix quan s'han d'agrupar les finestres de la mateixa aplicació a la "
"llista de finestres. Els valors possibles són: «never» (mai), " "llista de finestres. Els valors possibles són: «never» (mai), «auto» "
"«auto» (automàticament) i «always» (sempre)." "(automàticament) i «always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:79
@@ -309,8 +326,8 @@ msgstr "Agrupa les finestres sempre"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Mostra a tots els monitors" msgstr "Mostra a tots els monitors"
#: extensions/window-list/workspaceIndicator.js:253 #: extensions/window-list/workspaceIndicator.js:255
#: extensions/workspace-indicator/extension.js:259 #: extensions/workspace-indicator/extension.js:261
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Indicador de l'espai de treball" msgstr "Indicador de l'espai de treball"
@@ -327,5 +344,3 @@ msgstr "Noms dels espais de treball"
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Afegeix un espai de treball" msgstr "Afegeix un espai de treball"
#~ msgid "Applications"
#~ msgstr "Aplicacions"
+34 -49
View File
@@ -9,17 +9,17 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "POT-Creation-Date: 2024-02-06 18:43+0000\n"
"PO-Revision-Date: 2024-06-28 10:34+0300\n" "PO-Revision-Date: 2024-02-17 00:11+0200\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n" "Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: Hebrew <yoseforb@gmail.com>\n" "Language-Team: Hebrew <yoseforb@gmail.com>\n"
"Language: he\n" "Language: he\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2;\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Gtranslator 46.1\n" "X-Generator: Poedit 3.4.1\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -42,7 +42,7 @@ msgstr "GNOME קלסי על גבי Xorg"
msgid "Favorites" msgid "Favorites"
msgstr "מועדפים" msgstr "מועדפים"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "יישומים" msgstr "יישומים"
@@ -157,43 +157,43 @@ msgstr "סטטיסטיקת זיכרון"
msgid "Swap stats" msgid "Swap stats"
msgstr "סטטיסטיקת תחלופה" msgstr "סטטיסטיקת תחלופה"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:327
msgid "Upload stats" msgid "Upload stats"
msgstr "סטטיסטיקת העלאה" msgstr "סטטיסטיקת העלאה"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:341
msgid "Download stats" msgid "Download stats"
msgstr "סטטיסטיקת הורדה" msgstr "סטטיסטיקת הורדה"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:355
msgid "System stats" msgid "System stats"
msgstr "סטטיסטיקת מערכת" msgstr "סטטיסטיקת מערכת"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:403
msgid "Show" msgid "Show"
msgstr "הצגה" msgstr "הצגה"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:405
msgid "CPU" msgid "CPU"
msgstr "מעבד" msgstr "מעבד"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:407
msgid "Memory" msgid "Memory"
msgstr "זיכרון" msgstr "זיכרון"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:409
msgid "Swap" msgid "Swap"
msgstr "תחלופה" msgstr "תחלופה"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:411
msgid "Upload" msgid "Upload"
msgstr "העלאה" msgstr "העלאה"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:413
msgid "Download" msgid "Download"
msgstr "הורדה" msgstr "הורדה"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:418
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "פתיחת צג המערכת" msgstr "פתיחת צג המערכת"
@@ -225,47 +225,47 @@ msgstr "Theme name"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "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:72 #: extensions/window-list/extension.js:71
msgid "Close" msgid "Close"
msgstr "סגירה" msgstr "סגירה"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Unminimize" msgid "Unminimize"
msgstr "ביטול המזעור" msgstr "ביטול המזעור"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Minimize" msgid "Minimize"
msgstr "מזעור" msgstr "מזעור"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Unmaximize" msgid "Unmaximize"
msgstr "ביטול ההגדלה" msgstr "ביטול ההגדלה"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Maximize" msgid "Maximize"
msgstr "הגדלה" msgstr "הגדלה"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:470
msgid "Minimize all" msgid "Minimize all"
msgstr "מזעור הכל" msgstr "מזעור הכל"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:476
msgid "Unminimize all" msgid "Unminimize all"
msgstr "ביטול מזעור הכל" msgstr "ביטול מזעור הכל"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:482
msgid "Maximize all" msgid "Maximize all"
msgstr "הגדלת הכל" msgstr "הגדלת הכל"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:490
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "ביטול הגדלת הכל" msgstr "ביטול הגדלת הכל"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:498
msgid "Close all" msgid "Close all"
msgstr "סגירת הכל" msgstr "סגירת הכל"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:772
msgid "Window List" msgid "Window List"
msgstr "רשימת חלונות" msgstr "רשימת חלונות"
@@ -302,10 +302,6 @@ msgstr ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה ברשימת החלונות"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "קיבוץ חלונות" msgstr "קיבוץ חלונות"
@@ -326,35 +322,24 @@ msgstr "תמיד לקבץ חלונות"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "הצגה בכל הצגים" msgstr "הצגה בכל הצגים"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:253
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:259
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה" msgid "Workspace Indicator"
msgstr "מחוון מרחבי עבודה"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "הצגת תצוגה מקדימה בלוח העליון"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "מרחב עבודה %d" msgstr "מרחב עבודה %d"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "שם מרחב העבודה" msgstr "שם מרחב העבודה"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "הוספת מרחב עבודה" msgstr "הוספת מרחב עבודה"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "הצגת תצוגה מקדימה של מרחבי העבודה בלוח העליון"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "מחוון מרחבי עבודה"
#~ msgid "Applications" #~ msgid "Applications"
#~ msgstr "יישומים" #~ msgstr "יישומים"
+11 -26
View File
@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-05-12 13:45+0000\n" "POT-Creation-Date: 2024-04-29 14:28+0000\n"
"PO-Revision-Date: 2024-05-14 15:33+0530\n" "PO-Revision-Date: 2024-05-14 15:40+0530\n"
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n" "Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
"Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n" "Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n"
"Language: hi\n" "Language: hi\n"
@@ -42,7 +42,7 @@ msgstr "Xorg पर GNOME क्लासिक"
msgid "Favorites" msgid "Favorites"
msgstr "पसंदीदा" msgstr "पसंदीदा"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "ऐप्स" msgstr "ऐप्स"
@@ -264,7 +264,7 @@ msgstr "अधिकतम खत्म करें"
msgid "Close all" msgid "Close all"
msgstr "सभी बंद करें" msgstr "सभी बंद करें"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:773
msgid "Window List" msgid "Window List"
msgstr "विंडो सूची" msgstr "विंडो सूची"
@@ -300,10 +300,6 @@ msgid ""
msgstr "" msgstr ""
"क्या विंडो सूची को सभी जुड़े हुए मॉनिटरों पर दिखाना है या केवल प्राथमिक मॉनिटर पर।" "क्या विंडो सूची को सभी जुड़े हुए मॉनिटरों पर दिखाना है या केवल प्राथमिक मॉनिटर पर।"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "विंडो सूची में कार्यस्थान पूर्वावलोकन दिखाएं"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "विंडो समूहबद्धता" msgstr "विंडो समूहबद्धता"
@@ -324,31 +320,20 @@ msgstr "हमेशा विंडोज समूहित करें"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "सभी मॉनिटरों पर दिखाएं" msgstr "सभी मॉनिटरों पर दिखाएं"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:255
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:261
msgstr "कार्यस्थान पूर्वावलोकन दिखाएं" msgid "Workspace Indicator"
msgstr "कार्यस्थान सूचक"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "शीर्षपट्टी में पूर्वावलोकन दिखाएं"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "कार्यस्थान %d" msgstr "कार्यस्थान %d"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "कार्यस्थान नाम" msgstr "कार्यस्थान नाम"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "कार्यस्थान जोड़ें" msgstr "कार्यस्थान जोड़ें"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "शीर्षपट्टी में कार्यस्थान पूर्वावलोकन दिखाएं"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "कार्यस्थान सूचक"
+31 -47
View File
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
"sues\n" "sues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "POT-Creation-Date: 2024-02-06 18:43+0000\n"
"PO-Revision-Date: 2024-06-28 16:24+0200\n" "PO-Revision-Date: 2024-03-04 12:30+0100\n"
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n" "Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
"Language-Team: Hungarian <openscope at fsf dot hu>\n" "Language-Team: Hungarian <openscope at fsf dot hu>\n"
"Language: hu\n" "Language: hu\n"
@@ -43,7 +43,7 @@ msgstr "Klasszikus GNOME Xorgon"
msgid "Favorites" msgid "Favorites"
msgstr "Kedvencek" msgstr "Kedvencek"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "Alkalmazások" msgstr "Alkalmazások"
@@ -159,43 +159,43 @@ msgstr "Memóriastatisztikák"
msgid "Swap stats" msgid "Swap stats"
msgstr "Cserehely-statisztikák" msgstr "Cserehely-statisztikák"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:327
msgid "Upload stats" msgid "Upload stats"
msgstr "Feltöltési statisztikák" msgstr "Feltöltési statisztikák"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:341
msgid "Download stats" msgid "Download stats"
msgstr "Letöltési statisztikák" msgstr "Letöltési statisztikák"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:355
msgid "System stats" msgid "System stats"
msgstr "Rendszerstatisztikák" msgstr "Rendszerstatisztikák"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:403
msgid "Show" msgid "Show"
msgstr "Megjelenítés" msgstr "Megjelenítés"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:405
msgid "CPU" msgid "CPU"
msgstr "Processzor" msgstr "Processzor"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:407
msgid "Memory" msgid "Memory"
msgstr "Memória" msgstr "Memória"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:409
msgid "Swap" msgid "Swap"
msgstr "Cserehely" msgstr "Cserehely"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:411
msgid "Upload" msgid "Upload"
msgstr "Feltöltés" msgstr "Feltöltés"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:413
msgid "Download" msgid "Download"
msgstr "Letöltés" msgstr "Letöltés"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:418
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Rendszerfigyelő megnyitása" msgstr "Rendszerfigyelő megnyitása"
@@ -227,47 +227,47 @@ msgstr "Témanév"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve" msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:71
msgid "Close" msgid "Close"
msgstr "Bezárás" msgstr "Bezárás"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Unminimize" msgid "Unminimize"
msgstr "Minimalizálás megszüntetése" msgstr "Minimalizálás megszüntetése"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Minimize" msgid "Minimize"
msgstr "Minimalizálás" msgstr "Minimalizálás"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Maximalizálás megszüntetése" msgstr "Maximalizálás megszüntetése"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Maximize" msgid "Maximize"
msgstr "Maximalizálás" msgstr "Maximalizálás"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:470
msgid "Minimize all" msgid "Minimize all"
msgstr "Minden minimalizálása" msgstr "Minden minimalizálása"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:476
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Minden minimalizálásának megszüntetése" msgstr "Minden minimalizálásának megszüntetése"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:482
msgid "Maximize all" msgid "Maximize all"
msgstr "Minden maximalizálása" msgstr "Minden maximalizálása"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:490
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Minden maximalizálásának megszüntetése" msgstr "Minden maximalizálásának megszüntetése"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:498
msgid "Close all" msgid "Close all"
msgstr "Minden bezárása" msgstr "Minden bezárása"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:772
msgid "Window List" msgid "Window List"
msgstr "Ablaklista" msgstr "Ablaklista"
@@ -307,10 +307,6 @@ msgstr ""
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az " "Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
"elsődlegesen." "elsődlegesen."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Munkaterület-előnézetek megjelenítése az ablaklistában"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Ablakcsoportosítás" msgstr "Ablakcsoportosítás"
@@ -331,32 +327,20 @@ msgstr "Mindig csoportosítsa az ablakokat"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Megjelenítés minden monitoron" msgstr "Megjelenítés minden monitoron"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:253
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:259
msgstr "Munkaterület-előnézetek megjelenítése" msgid "Workspace Indicator"
msgstr "Munkaterület-indikátor"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "Előnézetek megjelenítése a felső sávon"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. munkaterület" msgstr "%d. munkaterület"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Munkaterületnevek" msgstr "Munkaterületnevek"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Munkaterület hozzáadása" msgstr "Munkaterület hozzáadása"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Munkaterület-előnézetek megjelenítése a felső sávon"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Munkaterület-indikátor"
+33 -48
View File
@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "POT-Creation-Date: 2024-02-06 18:43+0000\n"
"PO-Revision-Date: 2024-05-25 14:46+0300\n" "PO-Revision-Date: 2024-02-11 18:21+0300\n"
"Last-Translator: Artur So <arturios2005@mail.ru>\n" "Last-Translator: Artur So <arturios2005@mail.ru>\n"
"Language-Team: Русский <gnome-cyr@gnome.org>\n" "Language-Team: Русский <gnome-cyr@gnome.org>\n"
"Language: ru\n" "Language: ru\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "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" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.4\n" "X-Generator: Poedit 3.4.2\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -42,7 +42,7 @@ msgstr "Классический GNOME на Xorg"
msgid "Favorites" msgid "Favorites"
msgstr "Избранное" msgstr "Избранное"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "Приложения" msgstr "Приложения"
@@ -158,43 +158,43 @@ msgstr "Статистика памяти"
msgid "Swap stats" msgid "Swap stats"
msgstr "Статистика подкачки" msgstr "Статистика подкачки"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:327
msgid "Upload stats" msgid "Upload stats"
msgstr "Статистика отдачи" msgstr "Статистика отдачи"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:341
msgid "Download stats" msgid "Download stats"
msgstr "Статистика загрузки" msgstr "Статистика загрузки"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:355
msgid "System stats" msgid "System stats"
msgstr "Статистика системы" msgstr "Статистика системы"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:403
msgid "Show" msgid "Show"
msgstr "Показать" msgstr "Показать"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:405
msgid "CPU" msgid "CPU"
msgstr "ЦП" msgstr "ЦП"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:407
msgid "Memory" msgid "Memory"
msgstr "Память" msgstr "Память"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:409
msgid "Swap" msgid "Swap"
msgstr "Подкачка" msgstr "Подкачка"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:411
msgid "Upload" msgid "Upload"
msgstr "Отдача" msgstr "Отдача"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:413
msgid "Download" msgid "Download"
msgstr "Загрузка" msgstr "Загрузка"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:418
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Открыть системный монитор" msgstr "Открыть системный монитор"
@@ -226,49 +226,49 @@ msgstr "Название темы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell" msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:71
msgid "Close" msgid "Close"
msgstr "Закрыть" msgstr "Закрыть"
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) # ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Unminimize" msgid "Unminimize"
msgstr "Вернуть" msgstr "Вернуть"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Minimize" msgid "Minimize"
msgstr "Свернуть" msgstr "Свернуть"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Восстановить" msgstr "Восстановить"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Maximize" msgid "Maximize"
msgstr "Развернуть" msgstr "Развернуть"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:470
msgid "Minimize all" msgid "Minimize all"
msgstr "Свернуть все" msgstr "Свернуть все"
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) # ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:476
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Вернуть все" msgstr "Вернуть все"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:482
msgid "Maximize all" msgid "Maximize all"
msgstr "Развернуть все" msgstr "Развернуть все"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:490
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Восстановить все" msgstr "Восстановить все"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:498
msgid "Close all" msgid "Close all"
msgstr "Закрыть все" msgstr "Закрыть все"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:772
msgid "Window List" msgid "Window List"
msgstr "Список окон" msgstr "Список окон"
@@ -288,7 +288,7 @@ msgstr ""
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Показывать окна со всех рабочих столов" msgstr "Отображать окна со всех рабочих столов"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
@@ -307,10 +307,6 @@ msgstr ""
"Показывать ли список окон на всех подключенных мониторах или только на " "Показывать ли список окон на всех подключенных мониторах или только на "
"основном." "основном."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Показывать предпросмотры рабочих столов в списке окон"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Группировка окон" msgstr "Группировка окон"
@@ -331,34 +327,23 @@ msgstr "Всегда группировать окна"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Показывать на всех мониторах" msgstr "Показывать на всех мониторах"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:253
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:259
msgstr "Показывать предпросмотры рабочих столов" msgid "Workspace Indicator"
msgstr "Индикатор рабочих столов"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "Показывать предпросмотры в верхней панели"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Рабочий стол %d" msgstr "Рабочий стол %d"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Названия рабочих столов" msgstr "Названия рабочих столов"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Добавить рабочий стол" msgstr "Добавить рабочий стол"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Показывать предпросмотры рабочих столов в верхней панели"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Индикатор рабочих столов"
#~ msgid "Applications" #~ msgid "Applications"
#~ msgstr "Приложения" #~ msgstr "Приложения"
+302 -48
View File
@@ -9,18 +9,18 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "POT-Creation-Date: 2024-02-15 05:28+0000\n"
"PO-Revision-Date: 2024-05-02 00:11+0200\n" "PO-Revision-Date: 2024-02-19 11:07+0100\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n" "Last-Translator: Matej Urbančič <mateju@src.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl_SI\n" "Language: sl_SI\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
"%100==4 ? 3 : 0);\n" "n%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n" "X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.2.1\n" "X-Generator: Poedit 3.4.2\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -43,7 +43,7 @@ msgstr "Klasično namizje GNOME na sistemu Xorg"
msgid "Favorites" msgid "Favorites"
msgstr "Priljubljeno" msgstr "Priljubljeno"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "Programi" msgstr "Programi"
@@ -158,43 +158,43 @@ msgstr "Delovanje pomnilnika"
msgid "Swap stats" msgid "Swap stats"
msgstr "Podatki izmenjevalnega prostora" msgstr "Podatki izmenjevalnega prostora"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:327
msgid "Upload stats" msgid "Upload stats"
msgstr "Podatki pošiljanja" msgstr "Podatki pošiljanja"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:341
msgid "Download stats" msgid "Download stats"
msgstr "Podatki prejema" msgstr "Podatki prejema"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:355
msgid "System stats" msgid "System stats"
msgstr "Podrobnosti sistema" msgstr "Podrobnosti sistema"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:403
msgid "Show" msgid "Show"
msgstr "Pokaži" msgstr "Pokaži"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:405
msgid "CPU" msgid "CPU"
msgstr "CPE" msgstr "CPE"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:407
msgid "Memory" msgid "Memory"
msgstr "Pomnilnik" msgstr "Pomnilnik"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:409
msgid "Swap" msgid "Swap"
msgstr "Izmenjevalni razdelek" msgstr "Izmenjevalni razdelek"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:411
msgid "Upload" msgid "Upload"
msgstr "Poslano" msgstr "Poslano"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:413
msgid "Download" msgid "Download"
msgstr "Prejeto" msgstr "Prejeto"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:418
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "_Odpri nadzornika sistema" msgstr "_Odpri nadzornika sistema"
@@ -226,47 +226,47 @@ msgstr "Ime teme"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Ime teme, ki bo naložena iz ~/.themes/name/gnome-shell" msgstr "Ime teme, ki bo naložena iz ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:71
msgid "Close" msgid "Close"
msgstr "Zapri" msgstr "Zapri"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Unminimize" msgid "Unminimize"
msgstr "Povečaj" msgstr "Povečaj"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Minimize" msgid "Minimize"
msgstr "Skrči" msgstr "Skrči"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Pomanjšaj" msgstr "Pomanjšaj"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Maximize" msgid "Maximize"
msgstr "Razpni" msgstr "Razpni"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:470
msgid "Minimize all" msgid "Minimize all"
msgstr "Skrči vse" msgstr "Skrči vse"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:476
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Pomanjšaj vse" msgstr "Pomanjšaj vse"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:482
msgid "Maximize all" msgid "Maximize all"
msgstr "Razpni vse" msgstr "Razpni vse"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:490
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Pomanjšaj vse" msgstr "Pomanjšaj vse"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:498
msgid "Close all" msgid "Close all"
msgstr "Zapri vse" msgstr "Zapri vse"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:772
msgid "Window List" msgid "Window List"
msgstr "Seznam oken" msgstr "Seznam oken"
@@ -303,10 +303,6 @@ msgid ""
msgstr "" msgstr ""
"Ali naj bo prikazan seznam oken na vseh povezanih zasloni ali le na osnovnem." "Ali naj bo prikazan seznam oken na vseh povezanih zasloni ali le na osnovnem."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Pokaži predoglede delovne površine na seznamu oken"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Združevanje oken" msgstr "Združevanje oken"
@@ -327,31 +323,289 @@ msgstr "Okna vedno združuj"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Pokaži na vseh zaslonih" msgstr "Pokaži na vseh zaslonih"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:253
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:259
msgstr "Pokaži predoglede delovne površine" msgid "Workspace Indicator"
msgstr "Kazalnik delovnih površin"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "Pokaži predoglede v zgornji vrstici"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Delovna površina %d" msgstr "Delovna površina %d"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Imena delovnih površin" msgstr "Imena delovnih površin"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Dodaj delovno površino" msgstr "Dodaj delovno površino"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 #~ msgid "Applications"
msgid "Show workspace previews in top bar" #~ msgstr "Programi"
msgstr "Pokaži predoglede delovne površine v zgornji vrstici"
#: extensions/workspace-indicator/workspaceIndicator.js:430 #~ msgid "Username or email"
msgid "Workspace Indicator" #~ msgstr "Uporabniško ime ali elektronski naslov"
msgstr "Kazalnik delovnih površin"
#~ msgid "Username"
#~ msgstr "Uporabniško ime"
#~ msgid ""
#~ "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only."
#~ msgstr ""
#~ "Zahtevan je vpis do 30 znakov, uporabiti pa je mogoče le črke, številke "
#~ "in znake @/./+/-/_."
#~ msgid ""
#~ "This value may contain only letters, numbers and @/./+/-/_ characters."
#~ msgstr "Vrednost lahko vsebuje le črke, številke, vezaj in znake @/./+/-/_."
#~ msgid "Email"
#~ msgstr "Elektronski naslov"
#~ msgid "You should not use email as username"
#~ msgstr "Za uporabniško ime ni priporočljivo uporabiti elektronskega naslova"
#~ msgid "Forgot your password?"
#~ msgstr "Ali ste pozabili geslo?"
#~ msgid "Log in"
#~ msgstr "Prijava"
#~ msgid "Don't have an account?"
#~ msgstr "Še nimate računa za dostop?"
#~ msgid "Register"
#~ msgstr "Vpisnik"
#~ msgid "User Login"
#~ msgstr "Prijava uporabnika"
#~ msgid "Reset your password"
#~ msgstr "Ponastavi geslo"
#~ msgid ""
#~ "The token for the password reset is incorrect. Please check your link and "
#~ "try again."
#~ msgstr ""
#~ "Žeton za ponastavitev gesla ni pravi. Preverite povezavo in poskusite "
#~ "znova."
#~ msgid "Password reset"
#~ msgstr "Ponovna nastavitev gesla"
#~ msgid ""
#~ "Forgot your password? Enter your e-mail address below, and well e-mail "
#~ "instructions for setting a new one."
#~ msgstr ""
#~ "Ali ste pozabili geslo? Vpišite elektronski naslov in poslali vam bomo "
#~ "navodila za nastavitev novega."
#~ msgid "Installed extensions"
#~ msgstr "Nameščene razširitve"
#~ msgid "About"
#~ msgstr "O programu"
#~ msgid "Extensions"
#~ msgstr "Razširitve"
#, python-format
#~ msgid ""
#~ "Unfortunately, to help prevent spam, we require that you <a "
#~ "href=\"%(login_url)s\">log in to GNOME Shell Extensions</a> in order to "
#~ "post a comment or report an error. You understand, right?"
#~ msgstr ""
#~ "Za preprečevanje neželenih objav se je treba najprej <a "
#~ "href=\"%(login_url)s\">prijaviti na spletno stran</a>. Prijava omogoča "
#~ "poročanje o napakah in objavljanje ocen in mnenj."
#~ msgid "User Reviews"
#~ msgstr "Mnenja uporabnikov"
#~ msgid "Loading reviews…"
#~ msgstr "Poteka nalaganje mnenj uporabnikov …"
#~ msgid "Your opinion"
#~ msgstr "Vaše mnenje"
#~ msgid "Leave a…"
#~ msgstr "Objavite …"
#~ msgid "Comment"
#~ msgstr "Opombo"
#~ msgid "Rating"
#~ msgstr "Oceno"
#~ msgid "Bug report"
#~ msgstr "Poročilo o hrošču"
#~ msgid "Upgrade this extension"
#~ msgstr "Posodobi razširitev"
#~ msgid "Configure this extension"
#~ msgstr "Nastavi razširitev"
#~ msgid "Uninstall this extension"
#~ msgstr "Odstrani razširitev"
#~ msgid "Extension Homepage"
#~ msgstr "Spletna stran razširitev"
#~ msgid "Shell version…"
#~ msgstr "različica lupine …"
#~ msgid "Extension version…"
#~ msgstr "Različica razširitve …"
#~ msgid ""
#~ "A reviewer will review the extension you submitted to make sure there's "
#~ "nothing too dangerous. You'll be emailed the result of the review."
#~ msgstr ""
#~ "Pregledovalec bo preveril objavljeno razširitev za morebitno neželeno "
#~ "delovanje. Odziv boste prejeli na elektronski naslov."
#~ msgid "Search for extensions…"
#~ msgstr "Poišči razširitve …"
#~ msgid "Installed Extensions"
#~ msgstr "Nameščene razširitve"
#~ msgid "Shell settings"
#~ msgstr "Nastavitve lupine"
#~ msgid "Content"
#~ msgstr "Vsebina"
#~ msgid "Metadata"
#~ msgstr "Metapodatki"
#~ msgid "Post"
#~ msgstr "Po"
#~ msgid "Preview"
#~ msgstr "Predogled"
#~ msgid "What do you think about this GNOME extension?"
#~ msgstr "Kakšno je vaše mnenje o tej razširitvi GNOME?"
#~ msgid "Please correct the error below"
#~ msgid_plural "Please correct the errors below"
#~ msgstr[0] "Razrešiti je treba spodnje napake"
#~ msgstr[1] "Razrešiti je treba spodnjo napako"
#~ msgstr[2] "Razrešiti je treba spodnji napaki"
#~ msgstr[3] "Razrešiti je treba spodnje napake"
#~ msgid "Preview your comment"
#~ msgstr "Predogled opombe"
#~ msgid "Post Comment"
#~ msgstr "Objavi mnenje"
#~ msgid "Edit your comment"
#~ msgstr "Uredi mnenje"
#~ msgid "Latest extensions in GNOME Shell Extensions"
#~ msgstr "Najnovejše razširitve Lupine GNOME"
#~ msgid "GNOME Shell Extensions"
#~ msgstr "Razširitve Lupine Gnome"
#~ msgid "User Profile"
#~ msgstr "Uporabniški profil"
#~ msgid "User Settings"
#~ msgstr "Uporabniške nastavitve"
#~ msgid "Log out"
#~ msgstr "Odjava"
#~ msgid ""
#~ "To control GNOME Shell extensions using this site you must install GNOME "
#~ "Shell integration that consists of two parts: browser extension and "
#~ "native host messaging application"
#~ msgstr ""
#~ "Za nadzor razširitev Lupine GNOME prek te spletne strani je treba "
#~ "namestiti program, ki vključuje dva dela: razširitev za brskalnik in "
#~ "gostiteljski program za sporočanje."
#~ msgid "Install GNOME Shell integration browser extension"
#~ msgstr "Namesti razširitev Lupine GNOM za spletni brskalnik"
#~ msgid "Click here to install browser extension"
#~ msgstr "Kliknite za namestitev razširitve za brskalnik"
#, javascript-format
#~ msgid ""
#~ "See %swiki page%s for native host connector installation instructions"
#~ msgstr ""
#~ "Oglejte si %sstrani Wiki%s za nastavitev povezovalnega gostiteljskega "
#~ "namiznega programa."
#~ msgid ""
#~ "We cannot detect a running copy of GNOME on this system, so some parts of "
#~ "the interface may be disabled. See <a href=\"/about/#no-detection\">our "
#~ "troubleshooting entry</a> for more information."
#~ msgstr ""
#~ "Ni mogoče zaznati zagnane različice namizja GNOME na tem sistemu, zato so "
#~ "nekateri deli vmesnika morda onemogočeni. Za več podrobnosti si oglejte "
#~ "možnosti <a href=\"/about/#no-detection\">odpravljanja napak</a>."
#~ msgid "GNOME Shell Extensions cannot list your installed extensions."
#~ msgstr "Ni mogoče izpisati nameščenih razširitev Lupine GNOME."
#~ msgid "Compatible with"
#~ msgstr "Skladno z"
#~ msgid "Name"
#~ msgstr "Ime"
#~ msgid "Recent"
#~ msgstr "Nedavno"
#~ msgid "Popularity"
#~ msgstr "Priljubljenost"
#~ msgid "Sort by"
#~ msgstr "Razvrsti po"
#~ msgid "Show more reviews"
#~ msgstr "Pokaži več ocen"
#~ msgid "There are no comments. Be the first!"
#~ msgstr "Ni še vpisane nobene opombe. Bodite prvi!"
#~ msgid "Author"
#~ msgstr "Avtor"
#~ msgid "What's wrong?"
#~ msgstr "Kaj ne narobe?"
#~ msgid ""
#~ "GNOME Shell Extensions did not detect any errors with this extension."
#~ msgstr "Ni zaznanih napak pri tej razširitvi Lupine GNOME."
#~ msgid "Version information"
#~ msgstr "Podrobnosti različice"
#~ msgid "Shell version"
#~ msgstr "Različica lupine"
#~ msgid "Extension version"
#~ msgstr "Različica razširitve"
#~ msgid "Unknown"
#~ msgstr "Neznano"
#~ msgid "What have you tried?"
#~ msgstr "Kaj ste že poskusili?"
#~ msgid "Automatically detected errors"
#~ msgstr "Samodejno zaznaj napake"
#~ msgid "You uninstalled"
#~ msgstr "Odstranili ste"
#~ msgid "Password"
#~ msgstr "Geslo"
+69 -138
View File
@@ -3,25 +3,25 @@
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# Милош Поповић <gpopac@gmail.com>, 2012. # Милош Поповић <gpopac@gmail.com>, 2012.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2017. # Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2017.
# Марко М. Костић <marko.m.kostic@gmail.com>, 2020-2024. # Марко М. Костић <marko.m.kostic@gmail.com>, 2020.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 14:28+0000\n" "POT-Creation-Date: 2021-11-06 14:08+0000\n"
"PO-Revision-Date: 2024-06-20 01:27+0200\n" "PO-Revision-Date: 2022-03-11 07:10+0100\n"
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n" "Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
"Language-Team: Serbian <gnome-sr@googlegroups.org>\n" "Language-Team: Serbian <gnome-sr@googlegroups.org>\n"
"Language: sr\n" "Language: sr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\n" "X-Project-Style: gnome\n"
"X-Generator: Gtranslator 45.3\n" "X-Generator: Poedit 3.0.1\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -40,19 +40,19 @@ msgstr "Класичан Гном на Вејленду"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Класичан Гном на Икс серверу" msgstr "Класичан Гном на Икс серверу"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:112
msgid "Favorites" msgid "Favorites"
msgstr "Омиљено" msgstr "Омиљено"
#: extensions/apps-menu/extension.js:397 #: extensions/apps-menu/extension.js:366
msgid "Apps" msgid "Applications"
msgstr "Апликације" msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Програм и списак радних простора" msgstr "Програм и списак радних простора"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -60,34 +60,34 @@ msgstr ""
"Списак ниски од којих свака садржи иб програма (назив датотеке „.desktop“), " "Списак ниски од којих свака садржи иб програма (назив датотеке „.desktop“), "
"зарез и број радног простора" "зарез и број радног простора"
#: extensions/auto-move-windows/prefs.js:159 #: extensions/auto-move-windows/prefs.js:34
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Правила радних простора" msgstr "Правила радних простора"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:236
msgid "Add Rule" msgid "Add Rule"
msgstr "Додај правило" msgstr "Додај правило"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:133
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:233
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Нисам успео да избацим уређај „%s“:" msgstr "Нисам успео да избацим уређај „%s“:"
#: extensions/drive-menu/extension.js:142 #: extensions/drive-menu/extension.js:149
msgid "Removable devices" msgid "Removable devices"
msgstr "Уклоњиви уређаји" msgstr "Уклоњиви уређаји"
#: extensions/drive-menu/extension.js:164 #: extensions/drive-menu/extension.js:171
msgid "Open Files" msgid "Open Files"
msgstr "Отвори датотеке" msgstr "Отвори датотеке"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Користи више простора за прозор" msgstr "Користи више простора за прозор"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -97,11 +97,11 @@ msgstr ""
"величине екрана. Ово подешавање важи само уколико је стратегија размештања " "величине екрана. Ово подешавање важи само уколико је стратегија размештања "
"постављена на природно." "постављена на природно."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Поставља натписе прозора изнад приказа" msgstr "Поставља натписе прозора изнад приказа"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -111,119 +111,47 @@ msgstr ""
"умањених приказа уместо испод приказа. Промена ових подешавања захтева да " "умањених приказа уместо испод приказа. Промена ових подешавања захтева да "
"поново покренете Гномову шкољку." "поново покренете Гномову шкољку."
#: extensions/places-menu/extension.js:88
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Места" msgstr "Места"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:46
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Нисам успео да покренем „%s“" msgstr "Нисам успео да покренем „%s“"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:61
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Нисам успео да прикачим волумен за „%s“" msgstr "Нисам успео да прикачим волумен за „%s“"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:158 #: extensions/places-menu/placeDisplay.js:171
msgid "Computer" msgid "Computer"
msgstr "Рачунар" msgstr "Рачунар"
#: extensions/places-menu/placeDisplay.js:333 #: extensions/places-menu/placeDisplay.js:359
msgid "Home" msgid "Home"
msgstr "Личнo" msgstr "Личнo"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network" msgid "Browse Network"
msgstr "Разгледајте мрежу" msgstr "Разгледајте мрежу"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Кружи кроз величине снимака екрана" msgstr "Кружи кроз величине снимака екрана"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Кружи уназад кроз величине снимака екрана" msgstr "Кружи уназад кроз величине снимака екрана"
#: extensions/system-monitor/extension.js:135 #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "CPU stats"
msgstr "Статистика процесора"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "Статистика меморије"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "Статистика свап меморије"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Статистика слања датотека"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Статистика преузимања датотека"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "Статистика система"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Прикажи"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "Процесор"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Меморија"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Свап"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Слање"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Преузимање"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Отвори монитор система"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Прикажи коришћење процесора"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Прикажи коришћење меморије"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Прикажи коришћење свап меморије"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Прикажи слање"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Прикажи преузимање"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Назив теме" msgstr "Назив теме"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назив теме који се учитава из датотеке „~/.themes/name/gnome-shell“" msgstr "Назив теме који се учитава из датотеке „~/.themes/name/gnome-shell“"
@@ -231,51 +159,51 @@ msgstr "Назив теме који се учитава из датотеке
msgid "Close" msgid "Close"
msgstr "Затвори" msgstr "Затвори"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:92
msgid "Unminimize" msgid "Unminimize"
msgstr "Поништи умањење" msgstr "Поништи умањење"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:92
msgid "Minimize" msgid "Minimize"
msgstr "Умањи" msgstr "Умањи"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:99
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Поништи увећање" msgstr "Поништи увећање"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:99
msgid "Maximize" msgid "Maximize"
msgstr "Увећај" msgstr "Увећај"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:434
msgid "Minimize all" msgid "Minimize all"
msgstr "Умањи све" msgstr "Умањи све"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:440
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Поништи умањење свега" msgstr "Поништи умањење свега"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:446
msgid "Maximize all" msgid "Maximize all"
msgstr "Увећај све" msgstr "Увећај све"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:454
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Поништи увећање свега" msgstr "Поништи увећање свега"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:462
msgid "Close all" msgid "Close all"
msgstr "Затвори све" msgstr "Затвори све"
#: extensions/window-list/extension.js:773 #: extensions/window-list/extension.js:741
msgid "Window List" msgid "Window List"
msgstr "Списак прозора" msgstr "Списак прозора"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows" msgid "When to group windows"
msgstr "Када груписати прозоре" msgstr "Када груписати прозоре"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -284,20 +212,20 @@ msgstr ""
"Дозвољене вредности су „never“ (никад), „auto“ (аутоматски) и " "Дозвољене вредности су „never“ (никад), „auto“ (аутоматски) и "
"„always“ (увек)." "„always“ (увек)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:86
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Прикажи прозоре свих радних простора" msgstr "Прикажи прозоре свих радних простора"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Да ли да прикаже прозоре са свих радних прозора или само са тренутног." msgstr "Да ли да прикаже прозоре са свих радних прозора или само са тренутног."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Приказује списак прозора на свим мониторима" msgstr "Приказује списак прозора на свим мониторима"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -305,47 +233,44 @@ msgstr ""
"Да ли да прикаже списак прозора на свим прикљученим мониторима или само на " "Да ли да прикаже списак прозора на свим прикљученим мониторима или само на "
"главном." "главном."
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:39
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Груписање прозора" msgstr "Груписање прозора"
#: extensions/window-list/prefs.js:40 #: extensions/window-list/prefs.js:63
msgid "Never group windows" msgid "Never group windows"
msgstr "Никад не групиши прозоре" msgstr "Никад не групиши прозоре"
#: extensions/window-list/prefs.js:41 #: extensions/window-list/prefs.js:64
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Групиши прозоре када је простор ограничен" msgstr "Групиши прозоре када је простор ограничен"
#: extensions/window-list/prefs.js:42 #: extensions/window-list/prefs.js:65
msgid "Always group windows" msgid "Always group windows"
msgstr "Увек групиши прозоре" msgstr "Увек групиши прозоре"
#: extensions/window-list/prefs.js:66 #: extensions/window-list/prefs.js:81
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Прикажи на свим мониторима" msgstr "Прикажи на свим мониторима"
#: extensions/window-list/workspaceIndicator.js:255 #: extensions/window-list/workspaceIndicator.js:249
#: extensions/workspace-indicator/extension.js:261 #: extensions/workspace-indicator/extension.js:254
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Показатељ радних простора" msgstr "Показатељ радних простора"
#: extensions/workspace-indicator/prefs.js:69 #: extensions/workspace-indicator/prefs.js:33
msgid "Workspace Names"
msgstr "Називи радних простора"
#: extensions/workspace-indicator/prefs.js:66
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. радни простор" msgstr "%d. радни простор"
#: extensions/workspace-indicator/prefs.js:136 #: extensions/workspace-indicator/prefs.js:207
msgid "Workspace Names"
msgstr "Називи радних простора"
#: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Додај радни простор" msgstr "Додај радни простор"
#~ msgid "Applications"
#~ msgstr "Програми"
#~ msgid "Application" #~ msgid "Application"
#~ msgstr "Програм" #~ msgstr "Програм"
@@ -427,6 +352,12 @@ msgstr "Додај радни простор"
#~ "тако да вам не значи пуно.\n" #~ "тако да вам не значи пуно.\n"
#~ "Ипак, можете изменити поздравну поруку помоћу овог проширења." #~ "Ипак, можете изменити поздравну поруку помоћу овог проширења."
#~ msgid "CPU"
#~ msgstr "Процесор"
#~ msgid "Memory"
#~ msgstr "Меморија"
#~ msgid "GNOME Shell Classic" #~ msgid "GNOME Shell Classic"
#~ msgstr "Класична Гномова шкољка" #~ msgstr "Класична Гномова шкољка"
+32 -47
View File
@@ -14,9 +14,9 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n" "POT-Creation-Date: 2024-02-13 13:35+0000\n"
"PO-Revision-Date: 2024-05-06 05:17+0300\n" "PO-Revision-Date: 2024-02-12 18:45+0300\n"
"Last-Translator: Sabri Ünal <yakushabb@gmail.com>\n" "Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
"Language-Team: Turkish <takim@gnome.org.tr>\n" "Language-Team: Turkish <takim@gnome.org.tr>\n"
"Language: tr\n" "Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -46,7 +46,7 @@ msgstr "Xorg üstünde GNOME Klasik"
msgid "Favorites" msgid "Favorites"
msgstr "Gözdeler" msgstr "Gözdeler"
#: extensions/apps-menu/extension.js:400 #: extensions/apps-menu/extension.js:397
msgid "Apps" msgid "Apps"
msgstr "Uygulamalar" msgstr "Uygulamalar"
@@ -163,43 +163,43 @@ msgstr "Bellek istatistikleri"
msgid "Swap stats" msgid "Swap stats"
msgstr "Takas istatistikleri" msgstr "Takas istatistikleri"
#: extensions/system-monitor/extension.js:336 #: extensions/system-monitor/extension.js:327
msgid "Upload stats" msgid "Upload stats"
msgstr "Yükleme istatistikleri" msgstr "Yükleme istatistikleri"
#: extensions/system-monitor/extension.js:350 #: extensions/system-monitor/extension.js:341
msgid "Download stats" msgid "Download stats"
msgstr "İndirme istatistikleri" msgstr "İndirme istatistikleri"
#: extensions/system-monitor/extension.js:364 #: extensions/system-monitor/extension.js:355
msgid "System stats" msgid "System stats"
msgstr "Sistem istatistikleri" msgstr "Sistem istatistikleri"
#: extensions/system-monitor/extension.js:412 #: extensions/system-monitor/extension.js:403
msgid "Show" msgid "Show"
msgstr "Göster" msgstr "Göster"
#: extensions/system-monitor/extension.js:414 #: extensions/system-monitor/extension.js:405
msgid "CPU" msgid "CPU"
msgstr "İşlemci" msgstr "İşlemci"
#: extensions/system-monitor/extension.js:416 #: extensions/system-monitor/extension.js:407
msgid "Memory" msgid "Memory"
msgstr "Bellek" msgstr "Bellek"
#: extensions/system-monitor/extension.js:418 #: extensions/system-monitor/extension.js:409
msgid "Swap" msgid "Swap"
msgstr "Takas" msgstr "Takas"
#: extensions/system-monitor/extension.js:420 #: extensions/system-monitor/extension.js:411
msgid "Upload" msgid "Upload"
msgstr "Yükle" msgstr "Yükle"
#: extensions/system-monitor/extension.js:422 #: extensions/system-monitor/extension.js:413
msgid "Download" msgid "Download"
msgstr "İndir" msgstr "İndir"
#: extensions/system-monitor/extension.js:427 #: extensions/system-monitor/extension.js:418
msgid "Open System Monitor" msgid "Open System Monitor"
msgstr "Sistem Gözlemcisini Aç" msgstr "Sistem Gözlemcisini Aç"
@@ -231,47 +231,47 @@ msgstr "Tema adı"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "~/.themes/name/gnome-shell konumundan edinilen tema adı" msgstr "~/.themes/name/gnome-shell konumundan edinilen tema adı"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:71
msgid "Close" msgid "Close"
msgstr "Kapat" msgstr "Kapat"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Unminimize" msgid "Unminimize"
msgstr "Önceki duruma getir" msgstr "Önceki duruma getir"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:98
msgid "Minimize" msgid "Minimize"
msgstr "Simge durumuna küçült" msgstr "Simge durumuna küçült"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Önceki duruma getir" msgstr "Önceki duruma getir"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:105
msgid "Maximize" msgid "Maximize"
msgstr "En büyük duruma getir" msgstr "En büyük duruma getir"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:470
msgid "Minimize all" msgid "Minimize all"
msgstr "Tümünü simge durumuna küçült" msgstr "Tümünü simge durumuna küçült"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:476
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Tümünü önceki duruma getir" msgstr "Tümünü önceki duruma getir"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:482
msgid "Maximize all" msgid "Maximize all"
msgstr "Tümünü en büyük duruma getir" msgstr "Tümünü en büyük duruma getir"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:490
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Tümünü önceki duruma getir" msgstr "Tümünü önceki duruma getir"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:498
msgid "Close all" msgid "Close all"
msgstr "Tümünü kapat" msgstr "Tümünü kapat"
#: extensions/window-list/extension.js:778 #: extensions/window-list/extension.js:772
msgid "Window List" msgid "Window List"
msgstr "Pencere Listesi" msgstr "Pencere Listesi"
@@ -311,10 +311,6 @@ msgstr ""
"Pencere listesinin tüm bağlı monitörlerde mi yoksa yalnızca birincil " "Pencere listesinin tüm bağlı monitörlerde mi yoksa yalnızca birincil "
"monitörde mi gösterileceğini belirtir." "monitörde mi gösterileceğini belirtir."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Pencere listesinde çalışma alanı ön izlemelerini göster"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Pencere Kümeleme" msgstr "Pencere Kümeleme"
@@ -335,31 +331,20 @@ msgstr "Pencereleri her zaman kümele"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Tüm monitörlerde göster" msgstr "Tüm monitörlerde göster"
#: extensions/window-list/prefs.js:92 #: extensions/window-list/workspaceIndicator.js:253
msgid "Show workspace previews" #: extensions/workspace-indicator/extension.js:259
msgstr "Çalışma alanı ön izlemelerini göster" msgid "Workspace Indicator"
msgstr "Çalışma Alanı Belirteci"
#: extensions/workspace-indicator/prefs.js:30 #: extensions/workspace-indicator/prefs.js:69
msgid "Show Previews In Top Bar"
msgstr "Ön İzlemeleri Üst Çubukta Göster"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Çalışma Alanı %d" msgstr "Çalışma Alanı %d"
#: extensions/workspace-indicator/prefs.js:155 #: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Çalışma Alanı Adları" msgstr "Çalışma Alanı Adları"
#: extensions/workspace-indicator/prefs.js:281 #: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Çalışma Alanı Ekle" msgstr "Çalışma Alanı Ekle"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Çalışma alanı ön izlemelerini üst çubukta göster"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Çalışma Alanı Belirteci"
+59 -129
View File
@@ -9,17 +9,16 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2024-04-29 14:28+0000\n" "POT-Creation-Date: 2022-05-06 11:44+0000\n"
"PO-Revision-Date: 2024-07-24 10:25+0000\n" "PO-Revision-Date: 2022-05-12 00:01+0800\n"
"Last-Translator: Chao-Hsiung Liao <pesder@mail.edu.tw>\n" "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
"Language-Team: Chinese (Traditional) <http://darkbear.mercusysddns.com/" "Language-Team: Chinese <zh-l10n@linux.org.tw>\n"
"projects/gnome-45/gnome-shell-extensions-po-ui-gnome-46-zh_tw/zh_Hant/>\n"
"Language: zh_TW\n" "Language: zh_TW\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.6.2\n" "X-Generator: Poedit 3.0.1\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -38,19 +37,19 @@ msgstr "GNOME Classic 採行 Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic 採行 Xorg" msgstr "GNOME Classic 採行 Xorg"
#: extensions/apps-menu/extension.js:126 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "喜愛" msgstr "喜愛"
#: extensions/apps-menu/extension.js:397 #: extensions/apps-menu/extension.js:379
msgid "Apps" msgid "Applications"
msgstr "程式" msgstr "應用程式"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "應用程式與工作區列表" msgstr "應用程式與工作區列表"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -58,34 +57,34 @@ msgstr ""
"字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與" "字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
"工作區號碼" "工作區號碼"
#: extensions/auto-move-windows/prefs.js:159 #: extensions/auto-move-windows/prefs.js:152
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "工作區規則" msgstr "工作區規則"
#: extensions/auto-move-windows/prefs.js:314 #: extensions/auto-move-windows/prefs.js:306
msgid "Add Rule" msgid "Add Rule"
msgstr "加入規則" msgstr "加入規則"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:126
#: extensions/places-menu/placeDisplay.js:218 #: extensions/places-menu/placeDisplay.js:210
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "裝置「%s」退出失敗:" msgstr "裝置「%s」退出失敗:"
#: extensions/drive-menu/extension.js:142 #: extensions/drive-menu/extension.js:145
msgid "Removable devices" msgid "Removable devices"
msgstr "可移除式裝置" msgstr "可移除式裝置"
#: extensions/drive-menu/extension.js:164 #: extensions/drive-menu/extension.js:167
msgid "Open Files" msgid "Open Files"
msgstr "開啟檔案" msgstr "開啟檔案"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "視窗使用更多螢幕空間" msgstr "視窗使用更多螢幕空間"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -94,11 +93,11 @@ msgstr ""
"藉由適應螢幕長寬比來試著使用更多螢幕空間放置視窗縮圖,進一步聯合它們來減少邊" "藉由適應螢幕長寬比來試著使用更多螢幕空間放置視窗縮圖,進一步聯合它們來減少邊"
"界盒。這個設定僅適用於自然放置策略。" "界盒。這個設定僅適用於自然放置策略。"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "在頂端放置視窗說明標題" msgstr "在頂端放置視窗說明標題"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -107,119 +106,47 @@ msgstr ""
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設" "如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
"值。變更這個設定值需要重新啟動 Shell 來套用效果。" "值。變更這個設定值需要重新啟動 Shell 來套用效果。"
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:97
msgid "Places" msgid "Places"
msgstr "位置" msgstr "位置"
#: extensions/places-menu/placeDisplay.js:60 #: extensions/places-menu/placeDisplay.js:49
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "無法啟動「%s」" msgstr "無法啟動「%s」"
#: extensions/places-menu/placeDisplay.js:75 #: extensions/places-menu/placeDisplay.js:64
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "無法掛載儲存區「%s」" msgstr "無法掛載儲存區「%s」"
#: extensions/places-menu/placeDisplay.js:135 #: extensions/places-menu/placeDisplay.js:125
#: extensions/places-menu/placeDisplay.js:158 #: extensions/places-menu/placeDisplay.js:148
msgid "Computer" msgid "Computer"
msgstr "電腦" msgstr "電腦"
#: extensions/places-menu/placeDisplay.js:333 #: extensions/places-menu/placeDisplay.js:336
msgid "Home" msgid "Home"
msgstr "家目錄" msgstr "家目錄"
#: extensions/places-menu/placeDisplay.js:378 #: extensions/places-menu/placeDisplay.js:381
msgid "Browse Network" msgid "Browse Network"
msgstr "瀏覽網路" msgstr "瀏覽網路"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "循環螢幕擷圖大小" msgstr "循環螢幕擷圖大小"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "往回循環螢幕擷圖大小" msgstr "往回循環螢幕擷圖大小"
#: extensions/system-monitor/extension.js:135 #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "CPU stats"
msgstr "CPU 狀態"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "記憶體狀態"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "置換區狀態"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "上傳狀態"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "下載狀態"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "系統狀態"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "顯示"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "記憶體"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "置換區"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "上傳"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "下載"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "開啟系統監視器"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "顯示 CPU 使用率"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "顯示記憶體使用率"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "顯示置換區使用率"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "顯示上傳"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "顯示下載"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "主題名稱" msgstr "主題名稱"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入" msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
@@ -227,71 +154,71 @@ msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
msgid "Close" msgid "Close"
msgstr "關閉" msgstr "關閉"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:92
msgid "Unminimize" msgid "Unminimize"
msgstr "取消最小化" msgstr "取消最小化"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:92
msgid "Minimize" msgid "Minimize"
msgstr "最小化" msgstr "最小化"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:99
msgid "Unmaximize" msgid "Unmaximize"
msgstr "取消最大化" msgstr "取消最大化"
#: extensions/window-list/extension.js:106 #: extensions/window-list/extension.js:99
msgid "Maximize" msgid "Maximize"
msgstr "最大化" msgstr "最大化"
#: extensions/window-list/extension.js:471 #: extensions/window-list/extension.js:441
msgid "Minimize all" msgid "Minimize all"
msgstr "全部最小化" msgstr "全部最小化"
#: extensions/window-list/extension.js:477 #: extensions/window-list/extension.js:447
msgid "Unminimize all" msgid "Unminimize all"
msgstr "全部取消最小化" msgstr "全部取消最小化"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:453
msgid "Maximize all" msgid "Maximize all"
msgstr "全部最大化" msgstr "全部最大化"
#: extensions/window-list/extension.js:491 #: extensions/window-list/extension.js:461
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "全部取消最大化" msgstr "全部取消最大化"
#: extensions/window-list/extension.js:499 #: extensions/window-list/extension.js:469
msgid "Close all" msgid "Close all"
msgstr "全部關閉" msgstr "全部關閉"
#: extensions/window-list/extension.js:773 #: extensions/window-list/extension.js:753
msgid "Window List" msgid "Window List"
msgstr "視窗列表" msgstr "視窗列表"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows" msgid "When to group windows"
msgstr "何時群組視窗" msgstr "何時群組視窗"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
msgstr "" msgstr ""
"決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。" "決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "顯示所有工作區的視窗" msgstr "顯示所有工作區的視窗"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "是否顯示所有工作區,還是僅顯示目前工作區的視窗。" msgstr "是否顯示所有工作區,還是僅顯示目前工作區的視窗。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "在所有螢幕顯示視窗列表" msgstr "在所有螢幕顯示視窗列表"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -317,27 +244,24 @@ msgstr "永遠群組視窗"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "顯示於所有螢幕" msgstr "顯示於所有螢幕"
#: extensions/window-list/workspaceIndicator.js:255 #: extensions/window-list/workspaceIndicator.js:261
#: extensions/workspace-indicator/extension.js:261 #: extensions/workspace-indicator/extension.js:266
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "工作區指示器" msgstr "工作區指示器"
#: extensions/workspace-indicator/prefs.js:69 #: extensions/workspace-indicator/prefs.js:62
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "工作區 %d" msgstr "工作區 %d"
#: extensions/workspace-indicator/prefs.js:136 #: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names" msgid "Workspace Names"
msgstr "工作區名稱" msgstr "工作區名稱"
#: extensions/workspace-indicator/prefs.js:262 #: extensions/workspace-indicator/prefs.js:255
msgid "Add Workspace" msgid "Add Workspace"
msgstr "新增工作區" msgstr "新增工作區"
#~ msgid "Applications"
#~ msgstr "應用程式"
#~ msgid "Application" #~ msgid "Application"
#~ msgstr "應用程式" #~ msgstr "應用程式"
@@ -418,6 +342,12 @@ msgstr "新增工作區"
#~ "功能。\n" #~ "功能。\n"
#~ "不過,它可以讓您自訂歡迎訊息。" #~ "不過,它可以讓您自訂歡迎訊息。"
#~ msgid "CPU"
#~ msgstr "CPU"
#~ msgid "Memory"
#~ msgstr "記憶體"
#~ msgid "GNOME Shell Classic" #~ msgid "GNOME Shell Classic"
#~ msgstr "GNOME Shell Classic" #~ msgstr "GNOME Shell Classic"