Compare commits

..

216 Commits

Author SHA1 Message Date
Daniel van Vugt
020d99d463 New upstream version 50.alpha 2026-02-10 16:05:03 +08:00
Florian Müllner
6cadcd0674 Bump version to 50.alpha
Update NEWS.
2026-01-14 13:34:56 +01:00
Jordan Petridis
1b2bf601e1 Update POTFILES.in
Followup to 377467876d

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/439>
2026-01-12 11:59:52 +00:00
Ibai Oihanguren Sala
2466e352a5 Update Basque translation 2026-01-11 20:01:00 +00:00
Baurzhan Muftakhidinov
7c455cb548 Update Kazakh translation 2026-01-11 18:03:09 +00:00
twlvnn kraftwerk
8f3baad61e Update Bulgarian translation 2026-01-01 16:42:48 +00:00
twlvnn kraftwerk
59bb24ce2d Update Bulgarian translation 2026-01-01 16:31:17 +00:00
twlvnn kraftwerk
fe11a0d8b9 Update Bulgarian translation 2026-01-01 15:59:05 +00:00
twlvnn kraftwerk
467487c0cf Update Bulgarian translation 2026-01-01 15:56:22 +00:00
Hugo Carvalho
43198efbc2 Update Portuguese translation 2025-12-30 23:19:48 +00:00
Asier Saratsua Garmendia
69c52fc031 Update Basque translation
(cherry picked from commit 58f6e6f048b980225c7922d9724d78366cfb1e58)
2025-12-18 08:51:32 +00:00
Adrian Vovk
2df8fc4fb2 gnome-classic: Define a gnome-session session
For one, this is simply more correct: the gnome-classic session is a
different session from the default gnome session. So let's define it as
such

For two, this enables us to directly tell gnome-shell which shell mode
to use, rather than passing it through an environment variable. In other
words, this enables us to integrate with
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3960
2025-12-16 15:44:02 -05:00
Giannis Antypas
bfa3e52c6e Update Greek translation 2025-11-09 01:49:08 +00:00
Jordan Petridis
377467876d gnome-classic: Drop xorg sessions
Remove the xorg .desktop file sessions, and also the separate
-wayland desktop file since we will only have a single Session
now that will be a Wayland session.

Mirror of the changes in gnome-session [1]

[1]: https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/98

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/283>
2025-11-05 14:47:26 +01:00
Florian Müllner
d80ae21740 js: Always use EVENT_STOP/EVENT_PROPAGATE in event handlers
The constants are more self-explanatory (and therefore readable)
than plain true/false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/435>
2025-11-02 20:03:06 +01:00
Florian Müllner
30347ea701 js: Always use SOURCE_CONTINUE/SOURCE_REMOVE in source functions
The constants are more self-explanatory (and therefore readable)
than plain true/false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/435>
2025-11-02 19:53:44 +01:00
Florian Müllner
14e847102f auto-move-windows: Use correct namespace for DesktopAppInfo
The type is platform-specific, so use the correct GioUnix namespace.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/434>
2025-10-30 15:17:11 +01:00
Florian Müllner
c0df345bea tools: Update ci-run-eslint
We are currently still using eslint 8.x which has been unsupported
for quite a while. Update the ci-run-eslint script to a version
that uses the supported eslint 9.x.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/433>
2025-10-28 22:18:39 +01:00
Florian Müllner
9ae6d55e0d tools: Symlink node_modules in project root
NPM assumes quite strongly that it manages the project as a
whole and its package/lock files are located in the project
root.

While we somehow managed to keep the npm tooling in a subfolder,
this comes at the cost of breaking imports of additional modules.

This will become relevant when we update eslint to a supported
version, as we want to keep using the `junit` formatter in CI,
which has now been split out into a separate module.

So bite the bullet and make the node_modules folder available in
the project root.

On the plus side, having the node_modules folder in the project
root allows language servers in IDEs/editors to pick it up.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/431>
2025-10-28 21:45:07 +01:00
Florian Müllner
a8b5705274 tools: Pin git node modules
Both changes in the config (like new/changes rules) and the eslint wrapper
(like updating to eslint 9.x) could require changes here, and therefore
require a conscious update rather than randomly breaking the CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/431>
2025-10-28 21:45:07 +01:00
Florian Müllner
93eac46b1d lint: Enable 'prefer-const' rule
Now that all code conforms with the rule, we can enforce it to make
sure we stick to it with new code.

Relax the rule for destructuring, so we don't have to jump through
hoops to avoid "mixed" assignments.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/432>
2025-10-26 15:09:30 +00:00
Florian Müllner
57b7f526df js: Use const declarations where possible
It is useful to indicate clearly that a value is read-only, and
we have already been doing so for new code for a long time. But
in order to actually enforce this, we have to adjust all existing
code.

Luckily the change is trivial enough to do (thanks to `eslint --fix`),
so do it now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/432>
2025-10-26 15:09:30 +00:00
Florian Müllner
ef285ea96b ci: Drop check-merge-request job
The job is broken due to permission changes in GitLab, and it seems what
is checked for is now the default, making the job less useful, thus drop
it.

Related: https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:15:35 +02:00
Florian Müllner
f6ed0ef74b ci: Use !reference tag for pipeline/prereview guards
It's a bit more flexible than yaml anchors, and already used in
mutter and gnome-shell for the same purpose.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:13:24 +02:00
Florian Müllner
40068b2359 ci: Consistently use dashes in job/stage names
We currently have a mix of dashes and underscores, with the former
being predominantly used by newer jobs, so settle on that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/430>
2025-10-25 12:11:43 +02:00
Florian Müllner
4f7b9de4a2 workspace-indicator: Use visible property to control edit mode
Using a 0 opacity and making the inactive actor non-reactive works,
but is less obvious than properly hiding it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/429>
2025-10-20 14:48:35 +02:00
Florian Müllner
9ce153437c reuse: Replace multi-line string with string list
The latest version of the reuse tool no longer supports multi-line
strings, so use a string list instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/425>
2025-10-15 00:43:37 +02:00
BoF ButterflyOfFire
0bfbd6738e Update Kabyle translation 2025-09-16 17:52:19 +00:00
Jeremy Bícha
1c5d965e3c New upstream version 49.0 2025-09-15 07:30:41 -04:00
Marco Trevisan (Treviño)
686d7cd4eb New upstream version 49~alpha.1 2025-07-08 22:34:36 +02:00
Jeremy Bícha
4052f0694e New upstream version 48.2 2025-05-27 09:01:38 -04:00
Florian Müllner
f1e2121b5e Bump version to 48.2
Update NEWS.
2025-05-24 19:10:03 +02:00
Neal Gompa
27c86490c2 build: Do not install anything in xsessions when X11 is disabled
Fixes: b05eb4eb6d ("build: Allow disabling the X11 session")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/400>
(cherry picked from commit 2552c92fe1)
2025-05-23 19:09:47 +02:00
Neal Gompa
64900f4a2e build: Allow disabling the X11 session
This is consistent with gnome-session and the rest of the GNOME
session stack.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/396>
(cherry picked from commit b05eb4eb6d)
2025-05-23 19:09:32 +02:00
Daniel Buch Hansen
bf84e5d58f windowsNavigator: Adjust to get_key_focus() changes in Clutter
Clutter.Stage.get_key_focus() now always returns the value of
the Clutter.Stage.keyFocus property, whereas previously it
would return the stage itself when no explicit focus was set.

Adjust the code accordingly.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/561
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/395>
(cherry picked from commit e06b1e8236)
2025-05-23 19:09:21 +02:00
Jeremy Bícha
e6f477f38a New upstream version 48.1 2025-04-17 10:54:39 -04:00
Jeremy Bícha
6bc806ffd7 New upstream version 48.0 2025-03-17 10:22:31 -04:00
Jeremy Bícha
2562b2f42f New upstream version 48~rc 2025-03-03 12:40:37 -05:00
Jeremy Bícha
d0bd498efe New upstream version 48~beta 2025-02-05 06:28:22 -05:00
Jeremy Bícha
b84d5407ce New upstream version 47.4 2025-02-05 06:24:44 -05:00
Florian Müllner
fa5c4bade1 Bump version to 47.4
Update NEWS.
2025-02-05 00:40:33 +01:00
Florian Müllner
a7d4d8df80 window-list: Use correct params when re-tracking chrome
Since commit 981e8e42, we temporarily untrack the window-list actor
while in the overview.

However as we don't pass pass the chrome parameters when re-tracking
chrome, the window-list no longer contributes to struts or tracks
fullscreen changes, whoops.

Make sure to pass the original parameters when re-tracking chrome
to restore the expected behavior.

Fixes: 981e8e42 ("window-list: Untrack chrome while in overview")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/550
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/379>
(cherry picked from commit 01f7df1e8a)
2025-01-16 12:09:05 +01:00
Jeremy Bícha
0deab770e3 New upstream version 47.3 2025-01-14 10:04:25 -05:00
Florian Müllner
791682e836 ci: Switch ci-templates to master
The alternative is to monitor the upstream repository and update
the references when necessary. I don't have the resources to do
that, so trust upstream to not mess up their development branch.

(cherry picked from commit 4e50e9f8dc)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/376>
2025-01-13 16:29:57 +01:00
Florian Müllner
c815e506dd Bump version to 47.3
Update NEWS.
2025-01-12 21:59:15 +01:00
Florian Müllner
176206a38c places-menu: Remove left-over modeline
This one slipped through commit 253ddb864 ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/370>
(cherry picked from commit 83c41bad30)
2025-01-12 20:53:59 +00:00
Bartłomiej Piotrowski
72b2534790 ci: Switch to GNOME GitLab mirror of ci-templates
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/368>
(cherry picked from commit 0f69d7663b)
2025-01-12 20:53:59 +00:00
Florian Müllner
28ac6906c2 ci: Adapt to updated release module template
The release module moved into production now. The process changed
slightly with regard to the testing period, so we will have to
adapt the existing job a bit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 5d8d3601b4)
2025-01-12 20:53:59 +00:00
Florian Müllner
e30f634d08 ci: Move LINT_LOG variable out of global section
It is only used by the eslint job, so better define it there.

While at it, make sure the variable is quoted as that's considered
good practice (even when safe to use unquoted as in this case).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit ea77b557e5)
2025-01-12 20:53:59 +00:00
Florian Müllner
aed90a3f6c ci: Use variable for meson build directory
This ensures that the value is consistent between jobs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 9f48149346)
2025-01-12 20:53:59 +00:00
Florian Müllner
7054010520 Revert "ci: Use meson introspect to generate artifact path"
The new release service that now moved into production expects
the tag to match the release version.

Instead of using the $VERSION-real pattern in case of error,
switch to a pre-push hook to hopefully prevent those errors
in the first place:

  https://gitlab.gnome.org/-/snippets/6710

This reverts commit 8c014a6b1d.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/367>
(cherry picked from commit 0d1b279a64)
2025-01-12 20:53:59 +00:00
Florian Müllner
cc3e2842a8 ci: Bump js image
gnome-shell switched to F41 for its JS image, follow suit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/365>
(cherry picked from commit b30871d105)
2025-01-12 20:53:59 +00:00
Florian Müllner
f6d4e44ee4 workspace-indicator: Do not only exclude DESKTOP windows
There are other window types that should be excluded from workspace
previews, including more common ones like menus. Instead of checking
for a variety of window types, delegate the decision to mutter by
checking for the `skip-taskbar` property.

(The internal `skip-pager` property would be more apt in this case,
but as it only differs from `skip-taskbar` for X11 clients that
explicitly set one and not the other, it shouldn't matter in practice)

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/537
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/363>
(cherry picked from commit 77a11fd9cd)
2025-01-12 20:53:59 +00:00
Florian Müllner
bcf0be86af window-list: Untrack chrome while in overview
The window list is set up to track the monitor's fullscreen state.
Monitors are never considered in fullscreen while showing the overview,
so if shell's layout manager updates the fullscreen visibility after
we hid the bottom bar, it ends up being visible in the overview.

To avoid this, untrack the actor while the overview is visible.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/509
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/364>
(cherry picked from commit 981e8e42e2)
2025-01-12 20:53:59 +00:00
Florian Müllner
fb86b18cf1 window-list: Fix disconnecting window signals in context menu
Menus are not actors themselves, so they are not "destroyables" in
terms of automatic signal disconnection, with the result that we
currently leak window signals.

Fix this by using the menu's actor as tracked object, so the signals
are disconnected automatically when the actor is destroyed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/474
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/362>
(cherry picked from commit 4a841dfd49)
2025-01-12 20:53:59 +00:00
Florian Müllner
6400be4a6c places-menu: Update fake mount operation source
gnome-shell now checks for an associated drive to automatically
cancel the operation on disconnect, so fake the corresponding
method. While at it, drop the `get_icon()` method that hasn't
been used for quite a while now.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/508
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/361>
(cherry picked from commit 8957f488dc)
2025-01-12 20:53:59 +00:00
Florian Müllner
b1f727fa34 places-menu: Catch errors during async operation
Uncaught errors in async functions don't provide a good stack, because
the unhandled promise rejection masks the error that triggered it.

While we already handle *expected* errors inside the function, make
sure we catch all errors to get useful stack information for unexpected
errors as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/361>
(cherry picked from commit e0b68a319e)
2025-01-12 20:53:59 +00:00
Yi-Jyun Pan
97d0a0e514 Update Chinese (Taiwan) translation 2025-01-12 15:59:38 +00:00
Jeremy Bícha
5b0f7e40d4 New upstream version 47.2 2024-11-25 13:48:34 -05:00
Florian Müllner
70e2a02e69 Bump version to 47.2
Update NEWS.
2024-11-25 16:14:41 +01:00
Florian Müllner
079daac9bb screenshot-window-sizer: Mention shortcut in description
Loosely based on the README entry, so users know how to actually use the
extension.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/541
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/358>
2024-11-25 15:43:54 +01:00
Florian Müllner
99d49c1800 places-menu: Inherit from PopupImageMenuItem
PopupImageMenuItems used to position the icon after the label,
so we ended up with our own icon+label items.

However the icon position was changed years ago in the shell, so
inherit from PopupImageMenuItem instead.

This does not only simplify the code a bit, but also pulls in
features we are currently missing, like a11y labelling.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/542
(cherry picked from commit 568826e489)
2024-11-25 14:19:07 +01:00
Florian Müllner
95c4bc5d87 build: Sync check-version script with gnome-shell
The script was updated to not require appstream-util to check for
a corresponding release element in metainfo.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/354>
(cherry picked from commit 1218aee87f)
2024-11-25 14:18:56 +01:00
Florian Müllner
451a12d1fd cleanup: Use consistent line break style in meson.build
Either have all arguments on the same line, or have a separate
line for every argument (that is, don't special-case the first
arg).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 265935e14b)
2024-11-25 14:18:35 +01:00
Florian Müllner
48b917ab86 cleanup: Fix indent errors in meson.build
We are supposed to use a 2-space indent, but some inconsistencies
sneaked in over time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit b903618050)
2024-11-25 14:18:00 +01:00
Florian Müllner
d273dc4e59 cleanup: Always use dangling commas in meson.build
This is meson's default formatting, and matches what we already
do in JS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 720933b08e)
2024-11-25 14:17:53 +01:00
Florian Müllner
683080441f cleanup: Use format strings in meson.build
Those are a bit more concise than ''.format(), and have been
in meson for a long time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 85ee8829bf)
2024-11-25 14:17:45 +01:00
Florian Müllner
5bbf7f5c6c build: Use SPDX identifier for license
Meson strongly recommends to use SPDX identifiers for the license
string, and there's no reason for us to not do so.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 6df4905286)
2024-11-25 14:17:35 +01:00
Florian Müllner
f30990535f extensions: Remove modelines
We already include an .editorconfig that is supported by many
editors, including emacs, so no need to repeat an emacs-specific
modeline in every source file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 253ddb8642)
2024-11-25 14:17:25 +01:00
Florian Müllner
d14885f96d Add .editorconfig
This should ensure that all editors which support
https://editorconfig.org/ use the correct indentation
with spaces (not tabs) by default.

This is hardly a full specification of our coding style,
but it's a correct subset and better than nothing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/353>
(cherry picked from commit 0ca156a2b6)
2024-11-25 14:15:52 +01:00
Марко Костић
0a153b78f9 Update Serbian translation 2024-11-04 07:15:02 +00:00
Jeremy Bícha
a49f851320 New upstream version 47.1 2024-10-30 12:43:59 +01:00
Nathan Follens
598007f994 Update Dutch translation 2024-10-27 22:37:35 +00:00
Fabio Tomat
06caed8c0c Update Friulian translation 2024-10-20 20:01:51 +00:00
Florian Müllner
9991f90804 Bump version to 47.1
Update NEWS.
2024-10-18 21:54:13 +02:00
Florian Müllner
0bc77ef7c9 build: Rename meson_options.txt to meson.options
The name is a bit cleaner, and has been the preferred option(!)
since meson 1.1.

Mutter recently updated the name, so follow suite.

The meson version bump shouldn't be an issue, given that several
hard dependencies like mutter and glib already require higher
versions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/349>
(cherry picked from commit 1088435120)
2024-10-18 19:15:44 +02:00
Florian Müllner
099b2eeb49 cleanup: Use null for nick/blurb in ParamSpecs
As they are only used by gstreamer for gst-inspect & other tools.
Projects like mutter and gtk have already completely dropped them,
so follow their lead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/347>
(cherry picked from commit 46a4fa0976)
2024-10-18 19:15:02 +02:00
Florian Müllner
b13984a752 export-zips: Use --destdir instead of custom prefix
meson skips some steps like schema compilation when DESTDIR is
set, so this is slightly more efficient.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/345>
(cherry picked from commit 8f75ccae34)
2024-10-17 20:59:07 +02:00
Florian Müllner
67cdd0bea2 window-list: Remove outdated style
A long time ago, the window list used to embed the bottom message
tray, which caused notifications to inherit the window-list's
font style.

Since that's no longer the case, we have no business in messing
with notification styling, so stop doing that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/338>
(cherry picked from commit f1671bc206)
2024-10-17 20:56:38 +02:00
Florian Müllner
87a849c5af window-list: Switch to Adw.SwitchRow
libadwaita fixed the actionable implementation of Adw.SwitchRow,
so can use the convenience widget instead of composing our own.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 548d7659e1)
2024-10-17 20:56:26 +02:00
Florian Müllner
f0bff952be window-list: Remove superfluous bindings
The setting is already bound to the switch via the corresponding action,
no need to also set up a binding.

In fact, the second binding is actively harmful, as it keeps the
connection alive until dispose, so the setting is reset on
garbage collection.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 0162644041)
2024-10-17 20:56:18 +02:00
Florian Müllner
b3ff771a1d window-list: Add missing action
Commit 24ba03fe9 added a new setting, but forgot to create the
corresponding action.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/341>
(cherry picked from commit 062a3d21ab)
2024-10-17 20:56:09 +02:00
Florian Müllner
3ef718d34c window-list: Fix active state
Commit c72b8b21 fixed the styling of the active window's button,
but missed that the `active` property uses the style information
as well.

Adjust it to use the correct actor when checking for the style class.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/342>
(cherry picked from commit a5a92026ac)
2024-10-17 20:55:59 +02:00
Florian Müllner
fb2d87c1da window-list: Fix minimized styling
Commit 039c66e7b7 wrapped the button in a container to
animate transitions, but didn't adjust the `.minimized`
styling to still apply to the button (where it is
expected) rather than the wrapper.

Fix this just like commit c72b8b21 did for the
`.focused` styling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/342>
(cherry picked from commit 28fd210f28)
2024-10-17 20:55:52 +02:00
Florian Müllner
6d3fbceec9 classic: Add missing top bar indicators
The only intended difference from the regular session is that the
date menu moves to the right. However in the meantime, gnome-shell
added a couple more (usually hidden) indicators, but we never
updated the session mode definition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/339>
(cherry picked from commit 81aade6659)
2024-10-17 20:55:43 +02:00
Florian Müllner
4da312040b window-list: Don't recreate icons on theme changes
All icons use `StIcon`, which already updates itself correctly
on icon theme changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/337>
(cherry picked from commit d43abe0869)
2024-10-17 20:55:22 +02:00
Florian Müllner
89276cc184 window-list: Small stylesheet cleanup
The light stylesheet duplicates some declarations, and the
last occurrence matches what we already inherit from the
dark stylesheet.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/337>
(cherry picked from commit 860c56f83e)
2024-10-17 20:55:07 +02:00
Jeremy Bícha
ec3382c6ae New upstream version 47.0 2024-09-14 19:26:26 -04:00
Jeremy Bícha
94e90731ad New upstream version 47~rc 2024-09-04 10:26:10 -04:00
Jeremy Bícha
1b0637abc0 New upstream version 47~beta 2024-08-06 07:52:24 -04:00
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
36 changed files with 1352 additions and 1125 deletions

View File

@@ -16,7 +16,7 @@ include:
tarball-artifact-path: "$TARBALL_ARTIFACT_PATH"
stages:
- pre_review
- pre-review
- prepare
- review
- build
@@ -30,7 +30,7 @@ variables:
MESON_BUILD_DIR: build
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
.pipeline_guard: &pipeline_guard
.pipeline-guard:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_TAG'
@@ -38,15 +38,14 @@ variables:
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual'
.prereview_req: &prereview_req
.prereview-req:
needs:
- check_commit_log
- check-merge-request
- check-commit-log
check_commit_log:
check-commit-log:
extends:
- .fdo.ci-fairy
stage: pre_review
stage: pre-review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
@@ -54,7 +53,8 @@ check_commit_log:
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
rules:
- !reference [.pipeline-guard, rules]
artifacts:
expire_in: 1 week
paths:
@@ -62,42 +62,25 @@ check_commit_log:
reports:
junit: commit-message-junit-report.xml
check-merge-request:
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- check-merge-request-report.xml
reports:
junit: check-merge-request-report.xml
check-reuse:
stage: pre_review
stage: pre-review
image:
name: fsfe/reuse:latest
entrypoint: [""]
script:
- reuse lint
js_check:
js-check:
stage: review
<<: *prereview_req
needs:
- !reference [.prereview-req, needs]
script:
- gjs-check-syntax
eslint:
stage: review
<<: *prereview_req
needs:
- !reference [.prereview-req, needs]
variables:
LINT_LOG: "eslint-report.xml"
script:
@@ -106,9 +89,10 @@ eslint:
reports:
junit: "$LINT_LOG"
potfile_js_check:
potfile-js-check:
stage: review
<<: *prereview_req
needs:
- !reference [.prereview-req, needs]
script:
- gjs-check-potfiles
artifacts:
@@ -117,7 +101,8 @@ potfile_js_check:
build-bundles:
stage: build
<<: *prereview_req
needs:
- !reference [.prereview-req, needs]
script:
- ./export-zips.sh
artifacts:
@@ -137,7 +122,8 @@ dist-bundles:
fedora-build:
stage: build
<<: *prereview_req
needs:
- !reference [.prereview-req, needs]
script:
- meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C "$MESON_BUILD_DIR"

15
NEWS
View File

@@ -1,3 +1,18 @@
50.alpha
========
* classic: Drop xorg sessions [Jordan; !283]
* classic: Deifne a gnome-session session [Adrian; !3960]
* Misc. bug fixes and cleanups [Florian, Jordan; !425, !429, !430, !432, !431,
!433, !434, !435, !439]
Contributors:
Florian Müllner, Jordan Petridis, Adrian Vovk
Translators:
BoF ButterflyOfFire [kab], Giannis Antypas [el],
Asier Saratsua Garmendia [eu], Hugo Carvalho [pt], twlvnn kraftwerk [bg],
Baurzhan Muftakhidinov [kk], Ibai Oihanguren Sala [eu]
49.0
====
* window-list: Adjust to gnome-shell changes [Florian; !421]

View File

@@ -8,13 +8,20 @@ SPDX-PackageDownloadLocation = "https://gitlab.gnome.org/GNOME/gnome-shell-exten
[[annotations]]
path = "NEWS"
SPDX-FileCopyrightText = """
2011 Giovanni Campagna <gcampagna@src.gnome.org>
2013 Florian Müllner <fmuellner@gnome.org>"""
SPDX-FileCopyrightText = [
"2011 Giovanni Campagna <gcampagna@src.gnome.org>",
"2013 Florian Müllner <fmuellner@gnome.org>"
]
SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]]
path = ["**.json.in", "**.desktop.in", "**.gschema.override"]
path = [
"**.json.in",
"**.desktop.in",
"**.gschema.override",
"**.session",
"**.session.conf",
]
SPDX-FileCopyrightText = "Florian Müllner <fmuellner@gnome.org>"
SPDX-License-Identifier = "GPL-2.0-or-later"

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2021 Neal Gompa <ngompa@fedoraproject.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
import os
import shutil
import sys
if os.environ.get('DESTDIR'):
install_root = os.environ.get('DESTDIR') + os.path.abspath(sys.argv[1])
else:
install_root = sys.argv[1]
# FIXME: Meson is unable to copy a generated target file:
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
dst_dir = os.path.join(install_root, 'xsessions')
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop')
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
shutil.copyfile(src, dst)

View File

@@ -1,9 +0,0 @@
[Desktop Entry]
Name=GNOME Classic on Wayland
Comment=This session logs you into GNOME Classic
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=GNOME Classic on Xorg
Comment=This session logs you into GNOME Classic
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true

View File

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

View File

@@ -0,0 +1,2 @@
[GNOME Session]
Name=GNOME Classic

View File

@@ -0,0 +1,3 @@
[Unit]
Requires=gnome-session-services.target
Requires=org.gnome.Shell@classic.service

View File

@@ -2,42 +2,16 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
have_x11 = get_option('x11')
session_desktop = 'gnome-classic.desktop'
session_desktop_base = 'gnome-classic'
session_desktops = [
session_desktop_base,
session_desktop_base + '-wayland',
]
if have_x11
session_desktops += [session_desktop_base + '-xorg']
endif
foreach name : session_desktops
session_desktop = name + '.desktop'
if name.endswith('-xorg')
session_instdir = xsessiondir
elif name.endswith('-wayland')
session_instdir = wlsessiondir
else
# FIXME: The same target can not be copied into two directories.
# There is a workaround in build-aux/session-post-install.py until proper
# solution arises:
# https://github.com/mesonbuild/meson/issues/2416
session_instdir = wlsessiondir
#session_instdir = [ xesssiondir, wlsessiondir ]
endif
i18n.merge_file(
input: session_desktop + '.in',
output: session_desktop,
po_dir: '../po',
install: true,
install_dir: session_instdir,
type: 'desktop',
)
endforeach
i18n.merge_file(
input: session_desktop + '.in',
output: session_desktop,
po_dir: '../po',
install: true,
install_dir: wlsessiondir,
type: 'desktop',
)
classic_uuids = []
foreach e : classic_extensions
@@ -57,3 +31,13 @@ configure_file(
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
install_data(classic_override, install_dir: schemadir)
install_data(
'gnome-classic.session',
install_dir: sessiondir,
)
install_data(
'gnome-classic.session.conf',
install_dir: systemd_userunitdir / 'gnome-session@gnome-classic.target.d',
)

View File

@@ -48,7 +48,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
this._icon.style_class = 'icon-dropshadow';
this.add_child(this._icon);
let appLabel = new St.Label({
const appLabel = new St.Label({
text: app.get_name(),
y_expand: true,
y_align: Clutter.ActorAlign.CENTER,
@@ -57,9 +57,9 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
this.label_actor = appLabel;
this._delegate = this;
let draggable = DND.makeDraggable(this);
const draggable = DND.makeDraggable(this);
let maybeStartDrag = draggable._maybeStartDrag;
const maybeStartDrag = draggable._maybeStartDrag;
draggable._maybeStartDrag = event => {
if (this._dragEnabled)
return maybeStartDrag.call(draggable, event);
@@ -132,7 +132,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
}
_isNavigatingSubmenu([x, y]) {
let [posX, posY] = this.get_transformed_position();
const [posX, posY] = this.get_transformed_position();
if (this._oldX === -1) {
this._oldX = x;
@@ -140,8 +140,8 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
return true;
}
let deltaX = Math.abs(x - this._oldX);
let deltaY = Math.abs(y - this._oldY);
const deltaX = Math.abs(x - this._oldX);
const deltaY = Math.abs(y - this._oldY);
this._oldX = x;
this._oldY = y;
@@ -171,7 +171,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
// Ensure that the point P always lies below line AC so that we can
// only check for triangle ABC.
if (posY > y) {
let offset = posY - y;
const offset = posY - y;
y = posY + this.height + offset;
}
@@ -201,7 +201,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
this.hover = true;
if (this._isNavigatingSubmenu(event.get_coords()))
return true;
return Clutter.EVENT_STOP;
this._oldX = -1;
this._oldY = -1;
@@ -213,7 +213,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
if (targetActor instanceof St.Widget)
targetActor.sync_hover();
return false;
return Clutter.EVENT_PROPAGATE;
}
_onActiveChanged() {
@@ -294,15 +294,15 @@ class DesktopTarget extends EventEmitter {
}
async _markTrusted(file) {
let modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE;
let trustedAttr = 'metadata::trusted';
let queryFlags = Gio.FileQueryInfoFlags.NONE;
let ioPriority = GLib.PRIORITY_DEFAULT;
const modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE;
const trustedAttr = 'metadata::trusted';
const queryFlags = Gio.FileQueryInfoFlags.NONE;
const ioPriority = GLib.PRIORITY_DEFAULT;
try {
let info = await file.query_info_async(modeAttr, queryFlags, ioPriority, null);
let mode = info.get_attribute_uint32(modeAttr) | 0o100;
const mode = info.get_attribute_uint32(modeAttr) | 0o100;
info.set_attribute_uint32(modeAttr, mode);
info.set_attribute_string(trustedAttr, 'yes');
await file.set_attributes_async(info, queryFlags, ioPriority, null);
@@ -327,7 +327,7 @@ class DesktopTarget extends EventEmitter {
}
handleDragOver(source, _actor, _x, _y, _time) {
let appInfo = this._getSourceAppInfo(source);
const appInfo = this._getSourceAppInfo(source);
if (!appInfo)
return DND.DragMotionResult.CONTINUE;
@@ -335,16 +335,16 @@ class DesktopTarget extends EventEmitter {
}
acceptDrop(source, _actor, _x, _y, _time) {
let appInfo = this._getSourceAppInfo(source);
const appInfo = this._getSourceAppInfo(source);
if (!appInfo)
return false;
this.emit('app-dropped');
let desktop = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP);
const desktop = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP);
let src = Gio.File.new_for_path(appInfo.get_filename());
let dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()]));
const src = Gio.File.new_for_path(appInfo.get_filename());
const dst = Gio.File.new_for_path(GLib.build_filenamev([desktop, src.get_basename()]));
try {
// copy_async() isn't introspectable :-(
@@ -452,12 +452,12 @@ class ApplicationsButton extends PanelMenu.Button {
}
_onMenuKeyPress(actor, event) {
let symbol = event.get_key_symbol();
const symbol = event.get_key_symbol();
if (symbol === Clutter.KEY_Left || symbol === Clutter.KEY_Right) {
let direction = symbol === Clutter.KEY_Left
const direction = symbol === Clutter.KEY_Left
? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false))
return true;
return Clutter.EVENT_STOP;
}
return super._onMenuKeyPress(actor, event);
}
@@ -480,11 +480,11 @@ class ApplicationsButton extends PanelMenu.Button {
}
_loadCategory(categoryId, dir) {
let iter = dir.iter();
const iter = dir.iter();
let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
if (nextType === GMenu.TreeItemType.ENTRY) {
let entry = iter.get_entry();
const entry = iter.get_entry();
let id;
try {
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
@@ -499,7 +499,7 @@ class ApplicationsButton extends PanelMenu.Button {
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
this.applicationsByCategory[categoryId].push('separator');
} else if (nextType === GMenu.TreeItemType.DIRECTORY) {
let subdir = iter.get_directory();
const subdir = iter.get_directory();
if (!subdir.get_is_nodisplay())
this._loadCategory(categoryId, subdir);
}
@@ -507,11 +507,11 @@ class ApplicationsButton extends PanelMenu.Button {
}
scrollToButton(button) {
let appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment();
let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box();
let currentScrollValue = appsScrollBoxAdj.get_value();
let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1;
let buttonAlloc = button.get_allocation_box();
const appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment();
const appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box();
const currentScrollValue = appsScrollBoxAdj.get_value();
const boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1;
const buttonAlloc = button.get_allocation_box();
let newScrollValue = currentScrollValue;
if (currentScrollValue > buttonAlloc.y1 - 10)
newScrollValue = buttonAlloc.y1 - 10;
@@ -522,11 +522,11 @@ class ApplicationsButton extends PanelMenu.Button {
}
scrollToCatButton(button) {
let catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment();
let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box();
let currentScrollValue = catsScrollBoxAdj.get_value();
let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1;
let buttonAlloc = button.get_allocation_box();
const catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment();
const catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box();
const currentScrollValue = catsScrollBoxAdj.get_value();
const boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1;
const buttonAlloc = button.get_allocation_box();
let newScrollValue = currentScrollValue;
if (currentScrollValue > buttonAlloc.y1 - 10)
newScrollValue = buttonAlloc.y1 - 10;
@@ -537,7 +537,7 @@ class ApplicationsButton extends PanelMenu.Button {
}
_createLayout() {
let section = new PopupMenu.PopupMenuSection();
const section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section);
this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()});
this.leftBox = new St.BoxLayout({
@@ -573,20 +573,20 @@ class ApplicationsButton extends PanelMenu.Button {
// Load categories
this.applicationsByCategory = {};
this._tree.load_sync();
let root = this._tree.get_root_directory();
const root = this._tree.get_root_directory();
let categoryMenuItem = new CategoryMenuItem(this, null);
this.categoriesBox.add_child(categoryMenuItem);
let iter = root.iter();
const iter = root.iter();
let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
if (nextType !== GMenu.TreeItemType.DIRECTORY)
continue;
let dir = iter.get_directory();
const dir = iter.get_directory();
if (dir.get_is_nodisplay())
continue;
let categoryId = dir.get_menu_id();
const categoryId = dir.get_menu_id();
this.applicationsByCategory[categoryId] = [];
this._loadCategory(categoryId, dir);
if (this.applicationsByCategory[categoryId].length > 0) {
@@ -615,7 +615,7 @@ class ApplicationsButton extends PanelMenu.Button {
_displayButtons(apps) {
for (let i = 0; i < apps.length; i++) {
let app = apps[i];
const app = apps[i];
let item;
if (app instanceof Shell.App)
item = this._applicationsButtons.get(app);

View File

@@ -28,7 +28,7 @@ class WindowMover {
this._appConfigs.clear();
this._settings.get_strv('application-list').forEach(v => {
let [appId, num] = v.split(':');
const [appId, num] = v.split(':');
this._appConfigs.set(appId, parseInt(num) - 1);
});
@@ -36,15 +36,15 @@ class WindowMover {
}
_updateAppData() {
let ids = [...this._appConfigs.keys()];
let removedApps = [...this._appData.keys()]
const ids = [...this._appConfigs.keys()];
const removedApps = [...this._appData.keys()]
.filter(a => !ids.includes(a.id));
removedApps.forEach(app => {
app.disconnectObject(this);
this._appData.delete(app);
});
let addedApps = ids
const addedApps = ids
.map(id => this._appSystem.lookup_app(id))
.filter(app => app && !this._appData.has(app));
addedApps.forEach(app => {
@@ -68,7 +68,7 @@ class WindowMover {
return;
// ensure we have the required number of workspaces
let workspaceManager = global.workspace_manager;
const workspaceManager = global.workspace_manager;
for (let i = workspaceManager.n_workspaces; i <= workspaceNum; i++) {
window.change_workspace_by_index(i - 1, false);
workspaceManager.append_new_workspace(false, 0);
@@ -78,8 +78,8 @@ class WindowMover {
}
_appWindowsChanged(app) {
let data = this._appData.get(app);
let windows = app.get_windows();
const data = this._appData.get(app);
const windows = app.get_windows();
// If get_compositor_private() returns non-NULL on a removed windows,
// the window still exists and is just moved to a different workspace
@@ -89,7 +89,7 @@ class WindowMover {
return !windows.includes(w) && w.get_compositor_private() !== null;
}));
let workspaceNum = this._appConfigs.get(app.id);
const workspaceNum = this._appConfigs.get(app.id);
windows.filter(w => !data.windows.includes(w)).forEach(window => {
this._moveWindow(window, workspaceNum);
});

View File

@@ -5,6 +5,7 @@
import Adw from 'gi://Adw';
import Gio from 'gi://Gio';
import GioUnix from 'gi://GioUnix';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk';
@@ -44,7 +45,7 @@ class Rule extends GObject.Object {
'app-info': GObject.ParamSpec.object(
'app-info', null, null,
GObject.ParamFlags.READWRITE,
Gio.DesktopAppInfo),
GioUnix.DesktopAppInfo),
'workspace': GObject.ParamSpec.uint(
'workspace', null, null,
GObject.ParamFlags.READWRITE,
@@ -118,7 +119,7 @@ class RulesList extends GObject.Object {
this.#rules = [];
for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) {
const [id, workspace] = stringRule.split(':');
const appInfo = Gio.DesktopAppInfo.new(id);
const appInfo = GioUnix.DesktopAppInfo.new(id);
if (appInfo)
this.#rules.push(new Rule({appInfo, workspace}));
else

View File

@@ -39,11 +39,11 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
this.mount = mount;
let ejectIcon = new St.Icon({
const ejectIcon = new St.Icon({
icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon',
});
let ejectButton = new St.Button({
const ejectButton = new St.Button({
child: ejectIcon,
style_class: 'button',
});
@@ -63,7 +63,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
if (this.mount.is_shadowed())
return false;
let volume = this.mount.get_volume();
const volume = this.mount.get_volume();
if (volume)
return volume.get_identifier('class') !== 'network';
@@ -87,7 +87,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
}
_eject() {
let unmountArgs = [
const unmountArgs = [
Gio.MountUnmountFlags.NONE,
new ShellMountOperation.ShellMountOperation(this.mount).mountOp,
null, // Gio.Cancellable
@@ -120,13 +120,13 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
_reportFailure(exception) {
// TRANSLATORS: %s is the filesystem name
let msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name());
const msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name());
Main.notifyError(msg, exception.message);
}
activate(event) {
let uri = this.mount.get_root().get_uri();
let context = global.create_app_launch_context(event.get_time(), -1);
const uri = this.mount.get_root().get_uri();
const context = global.create_app_launch_context(event.get_time(), -1);
Gio.AppInfo.launch_default_for_uri(uri, context);
super.activate(event);
@@ -141,7 +141,7 @@ class DriveMenu extends PanelMenu.Button {
constructor() {
super(0.5, _('Removable devices'));
let icon = new St.Icon({
const icon = new St.Icon({
icon_name: 'media-eject-symbolic',
style_class: 'system-status-icon',
});
@@ -162,8 +162,8 @@ class DriveMenu extends PanelMenu.Button {
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_('Open Files'), event => {
let appSystem = Shell.AppSystem.get_default();
let app = appSystem.lookup_app('org.gnome.Nautilus.desktop');
const appSystem = Shell.AppSystem.get_default();
const app = appSystem.lookup_app('org.gnome.Nautilus.desktop');
app.activate_full(-1, event.get_time());
});
@@ -178,7 +178,7 @@ class DriveMenu extends PanelMenu.Button {
}
_addMount(mount) {
let item = new MountMenuItem(mount);
const item = new MountMenuItem(mount);
this._mounts.unshift(item);
this.menu.addMenuItem(item, 0);
@@ -187,7 +187,7 @@ class DriveMenu extends PanelMenu.Button {
_removeMount(mount) {
for (let i = 0; i < this._mounts.length; i++) {
let item = this._mounts[i];
const item = this._mounts[i];
if (item.mount === mount) {
item.destroy();
this._mounts.splice(i, 1);

View File

@@ -29,7 +29,7 @@ class Rect {
}
union(rect2) {
let dest = this.copy();
const dest = this.copy();
if (rect2.x < dest.x) {
dest.width += dest.x - rect2.x;
dest.x = rect2.x;
@@ -47,7 +47,7 @@ class Rect {
}
adjusted(dx, dy, dx2, dy2) {
let dest = this.copy();
const dest = this.copy();
dest.x += dx;
dest.y += dy;
dest.width += -dx + dx2;
@@ -94,16 +94,16 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
// As we are using pseudo-random movement (See "slot") we need to make sure the list
// is always sorted the same way no matter which window is currently active.
let areaRect = new Rect(area.x, area.y, area.width, area.height);
const areaRect = new Rect(area.x, area.y, area.width, area.height);
let bounds = areaRect.copy();
let clones = layout.windows;
const clones = layout.windows;
let direction = 0;
let directions = [];
let rects = [];
const directions = [];
const rects = [];
for (let i = 0; i < clones.length; i++) {
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
let rect = clones[i].boundingBox;
const rect = clones[i].boundingBox;
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
bounds = bounds.union(rects[i]);
@@ -120,10 +120,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
overlap = false;
for (let i = 0; i < rects.length; i++) {
for (let j = 0; j < rects.length; j++) {
let adjustments = [-1, -1, 1, 1]
const adjustments = [-1, -1, 1, 1]
.map(v => (v *= WINDOW_PLACEMENT_NATURAL_GAPS));
let iAdjusted = rects[i].adjusted(...adjustments);
let jAdjusted = rects[j].adjusted(...adjustments);
const iAdjusted = rects[i].adjusted(...adjustments);
const jAdjusted = rects[j].adjusted(...adjustments);
if (i !== j && iAdjusted.overlap(jAdjusted)) {
loopCounter++;
overlap = true;
@@ -132,8 +132,8 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
// Determine pushing direction
let iCenter = rects[i].center();
let jCenter = rects[j].center();
let diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]];
const jCenter = rects[j].center();
const diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]];
// Prevent dividing by zero and non-movement
if (diff[0] === 0 && diff[1] === 0)
@@ -210,8 +210,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
} while (overlap && loopCounter < WINDOW_PLACEMENT_NATURAL_MAX_TRANSLATIONS);
// Work out scaling by getting the most top-left and most bottom-right window coords.
let scale;
scale = Math.min(
const scale = Math.min(
areaRect.width / bounds.width,
areaRect.height / bounds.height,
1.0);
@@ -228,7 +227,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
// rescale to workspace
let slots = [];
const slots = [];
for (let i = 0; i < rects.length; i++) {
rects[i].x = rects[i].x * scale + areaRect.x;
rects[i].y = rects[i].y * scale + areaRect.y;

View File

@@ -74,7 +74,7 @@ class PlacesMenu extends PanelMenu.Button {
constructor() {
super(0.5, _('Places'));
let label = new St.Label({
const label = new St.Label({
text: _('Places'),
y_expand: true,
y_align: Clutter.ActorAlign.CENTER,
@@ -86,7 +86,7 @@ class PlacesMenu extends PanelMenu.Button {
this._sections = { };
for (let i = 0; i < SECTIONS.length; i++) {
let id = SECTIONS[i];
const id = SECTIONS[i];
this._sections[id] = new PopupMenu.PopupMenuSection();
this.placesManager.connect(`${id}-updated`, () => {
this._redisplay(id);
@@ -110,7 +110,7 @@ class PlacesMenu extends PanelMenu.Button {
}
_create(id) {
let places = this.placesManager.get(id);
const places = this.placesManager.get(id);
for (let i = 0; i < places.length; i++)
this._sections[id].addMenuItem(new PlaceMenuItem(places[i]));

View File

@@ -56,7 +56,7 @@ class PlaceInfo extends EventEmitter {
const source = {
get_drive: () => null,
};
let op = new ShellMountOperation.ShellMountOperation(source);
const op = new ShellMountOperation.ShellMountOperation(source);
try {
await this.file.mount_enclosing_volume(0, op.mountOp, null);
@@ -72,7 +72,7 @@ class PlaceInfo extends EventEmitter {
}
launch(timestamp) {
let launchContext = global.create_app_launch_context(timestamp, -1);
const launchContext = global.create_app_launch_context(timestamp, -1);
this._ensureMountAndLaunch(launchContext, true).catch(logError);
}
@@ -83,7 +83,7 @@ class PlaceInfo extends EventEmitter {
null,
(file, result) => {
try {
let info = file.query_info_finish(result);
const info = file.query_info_finish(result);
this.icon = info.get_symbolic_icon();
this.emit('changed');
} catch (e) {
@@ -112,7 +112,7 @@ class PlaceInfo extends EventEmitter {
_getFileName() {
try {
let info = this.file.query_info('standard::display-name', 0, null);
const info = this.file.query_info('standard::display-name', 0, null);
return info.get_display_name();
} catch (e) {
if (e instanceof Gio.IOErrorEnum)
@@ -151,7 +151,7 @@ class PlaceDeviceInfo extends PlaceInfo {
}
eject() {
let unmountArgs = [
const unmountArgs = [
Gio.MountUnmountFlags.NONE,
new ShellMountOperation.ShellMountOperation(this._mount).mountOp,
null, // Gio.Cancellable
@@ -183,7 +183,7 @@ class PlaceDeviceInfo extends PlaceInfo {
}
_reportFailure(exception) {
let msg = _('Ejecting drive “%s” failed:').format(this._mount.get_name());
const msg = _('Ejecting drive “%s” failed:').format(this._mount.get_name());
Main.notifyError(msg, exception.message);
}
}
@@ -203,7 +203,7 @@ class PlaceVolumeInfo extends PlaceInfo {
this._volume.mount(0, null, null, (volume, result) => {
volume.mount_finish(result);
let mount = volume.get_mount();
const mount = volume.get_mount();
this.file = mount.get_root();
super.launch(timestamp);
});
@@ -267,7 +267,7 @@ export class PlacesManager extends EventEmitter {
GLib.PRIORITY_DEFAULT, 100, () => {
this._bookmarkTimeoutId = 0;
this._reloadBookmarks();
return false;
return GLib.SOURCE_REMOVE;
});
});
@@ -357,8 +357,8 @@ export class PlacesManager extends EventEmitter {
}
_updateMounts() {
let networkMounts = [];
let networkVolumes = [];
const networkMounts = [];
const networkVolumes = [];
this._places.devices.forEach(p => p.destroy());
this._places.devices = [];
@@ -366,16 +366,16 @@ export class PlacesManager extends EventEmitter {
this._places.network = [];
/* first go through all connected drives */
let drives = this._volumeMonitor.get_connected_drives();
const drives = this._volumeMonitor.get_connected_drives();
for (let i = 0; i < drives.length; i++) {
let volumes = drives[i].get_volumes();
const volumes = drives[i].get_volumes();
for (let j = 0; j < volumes.length; j++) {
let identifier = volumes[j].get_identifier('class');
const identifier = volumes[j].get_identifier('class');
if (identifier && identifier.includes('network')) {
networkVolumes.push(volumes[j]);
} else {
let mount = volumes[j].get_mount();
const mount = volumes[j].get_mount();
if (mount)
this._addMount('devices', mount);
}
@@ -383,23 +383,23 @@ export class PlacesManager extends EventEmitter {
}
/* add all volumes that is not associated with a drive */
let volumes = this._volumeMonitor.get_volumes();
const volumes = this._volumeMonitor.get_volumes();
for (let i = 0; i < volumes.length; i++) {
if (volumes[i].get_drive())
continue;
let identifier = volumes[i].get_identifier('class');
const identifier = volumes[i].get_identifier('class');
if (identifier && identifier.includes('network')) {
networkVolumes.push(volumes[i]);
} else {
let mount = volumes[i].get_mount();
const mount = volumes[i].get_mount();
if (mount)
this._addMount('devices', mount);
}
}
/* add mounts that have no volume (/etc/mtab mounts, ftp, sftp,...) */
let mounts = this._volumeMonitor.get_mounts();
const mounts = this._volumeMonitor.get_mounts();
for (let i = 0; i < mounts.length; i++) {
if (mounts[i].is_shadowed())
continue;
@@ -407,7 +407,7 @@ export class PlacesManager extends EventEmitter {
if (mounts[i].get_volume())
continue;
let root = mounts[i].get_default_location();
const root = mounts[i].get_default_location();
if (!root.is_native()) {
networkMounts.push(mounts[i]);
continue;
@@ -416,7 +416,7 @@ export class PlacesManager extends EventEmitter {
}
for (let i = 0; i < networkVolumes.length; i++) {
let mount = networkVolumes[i].get_mount();
const mount = networkVolumes[i].get_mount();
if (mount) {
networkMounts.push(mount);
continue;
@@ -433,7 +433,7 @@ export class PlacesManager extends EventEmitter {
}
_findBookmarksFile() {
let paths = [
const paths = [
GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']),
GLib.build_filenamev([GLib.get_home_dir(), '.gtk-bookmarks']),
];
@@ -449,19 +449,19 @@ export class PlacesManager extends EventEmitter {
_reloadBookmarks() {
this._bookmarks = [];
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
let lines = content.split('\n');
const content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
const lines = content.split('\n');
let bookmarks = [];
const bookmarks = [];
for (let i = 0; i < lines.length; i++) {
let line = lines[i];
let components = line.split(' ');
let [bookmark] = components;
const line = lines[i];
const components = line.split(' ');
const [bookmark] = components;
if (!bookmark)
continue;
let file = Gio.File.new_for_uri(bookmark);
const file = Gio.File.new_for_uri(bookmark);
if (file.is_native() && !file.query_exists(null))
continue;

View File

@@ -73,12 +73,12 @@ export default class ScreenshotWindowSizerExtension extends Extension {
if (window.is_maximized())
window.unmaximize();
let workArea = window.get_work_area_current_monitor();
let outerRect = window.get_frame_rect();
const workArea = window.get_work_area_current_monitor();
const outerRect = window.get_frame_rect();
// Double both axes if on a hidpi display
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor))
const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
const scaledSizes = this.SIZES.map(size => size.map(wh => wh * scaleFactor))
.filter(([w, h]) => w <= workArea.width && h <= workArea.height);
// Find the nearest 16:9 size for the current window size
@@ -86,10 +86,10 @@ export default class ScreenshotWindowSizerExtension extends Extension {
let nearestError;
for (let i = 0; i < scaledSizes.length; i++) {
let [width, height] = scaledSizes[i];
const [width, height] = scaledSizes[i];
// get the best initial window size
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
const error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
if (nearestIndex === undefined || error < nearestError) {
nearestIndex = i;
nearestError = error;
@@ -97,8 +97,8 @@ export default class ScreenshotWindowSizerExtension extends Extension {
}
// get the next size up or down from ideal
let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
let [newWidth, newHeight] = scaledSizes.at(newIndex);
const newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
const [newWidth, newHeight] = scaledSizes.at(newIndex);
// Push the window onscreen if it would be resized offscreen
let newX = outerRect.x;
@@ -120,7 +120,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
*/
_notifySizeChange(window) {
const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
let newOuterRect = window.get_frame_rect();
const newOuterRect = window.get_frame_rect();
let message = '%d×%d'.format(
newOuterRect.width / scaleFactor,
newOuterRect.height / scaleFactor);
@@ -128,7 +128,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
// The new size might have been constrained by geometry hints (e.g. for
// a terminal) - in that case, include the actual ratio to the message
// we flash
let actualNumerator = 9 * newOuterRect.width / newOuterRect.height;
const actualNumerator = 9 * newOuterRect.width / newOuterRect.height;
if (Math.abs(actualNumerator - 16) > 0.01)
message += ' (%.2f:9)'.format(actualNumerator);

View File

@@ -32,14 +32,14 @@ export default class SysTray {
}
_onTrayIconAdded(o, icon) {
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
const wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass))
return;
let button = new PanelButton(0.5, null, true);
const button = new PanelButton(0.5, null, true);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSize = PANEL_ICON_SIZE * scaleFactor;
const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
const iconSize = PANEL_ICON_SIZE * scaleFactor;
icon.set({
width: iconSize,
@@ -48,7 +48,7 @@ export default class SysTray {
y_align: Clutter.ActorAlign.CENTER,
});
let iconBin = new St.Widget({
const iconBin = new St.Widget({
layout_manager: new Clutter.BinLayout(),
style_class: 'system-status-icon',
});

View File

@@ -33,7 +33,7 @@ export default class ThemeManager extends Extension {
_changeTheme() {
let stylesheet = null;
let themeName = this._settings.get_string(SETTINGS_KEY);
const themeName = this._settings.get_string(SETTINGS_KEY);
if (themeName) {
const stylesheetPaths = getThemeDirs()
@@ -43,7 +43,7 @@ export default class ThemeManager extends Extension {
.map(dir => `${dir}/${themeName}.css`));
stylesheet = stylesheetPaths.find(path => {
let file = Gio.file_new_for_path(path);
const file = Gio.file_new_for_path(path);
return file.query_exists(null);
});
}

View File

@@ -65,7 +65,7 @@ class DragPlaceholderItem extends DashItemContainer {
* @returns {number} - the smallest stable sequence of the app's windows
*/
function _getAppStableSequence(app) {
let windows = app.get_windows().filter(w => !w.skip_taskbar);
const windows = app.get_windows().filter(w => !w.skip_taskbar);
return windows.reduce((prev, cur) => {
return Math.min(prev, cur.get_stable_sequence());
}, Infinity);
@@ -251,7 +251,7 @@ class WindowTitle extends TitleWidget {
}
_updateIcon() {
let app = Shell.WindowTracker.get_default().get_window_app(this._metaWindow);
const app = Shell.WindowTracker.get_default().get_window_app(this._metaWindow);
if (app) {
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
} else {
@@ -542,13 +542,13 @@ class BaseButton extends DashItemContainer {
_openMenu(menu) {
menu.open();
let event = Clutter.get_current_event();
const event = Clutter.get_current_event();
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
}
_minimizeOrActivateWindow(window) {
let focusWindow = global.display.focus_window;
const focusWindow = global.display.focus_window;
if (focusWindow === window ||
focusWindow && focusWindow.get_transient_for() === window)
window.minimize();
@@ -562,8 +562,8 @@ class BaseButton extends DashItemContainer {
const extension = Extension.lookupByURL(import.meta.url);
let [x, y] = global.get_pointer();
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
const [x, y] = global.get_pointer();
const actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
if (extension.someWindowListContains(actor))
actor.sync_hover();
}
@@ -592,7 +592,7 @@ class BaseButton extends DashItemContainer {
}
_isWindowVisible(window) {
let workspace = global.workspace_manager.get_active_workspace();
const workspace = global.workspace_manager.get_active_workspace();
return !window.skip_taskbar &&
(this._ignoreWorkspace || window.located_on_workspace(workspace)) &&
@@ -745,7 +745,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
});
this.addMenuItem(this._unmaximizeItem);
let item = new PopupMenu.PopupMenuItem(_('Close all'));
const item = new PopupMenu.PopupMenuItem(_('Close all'));
item.connect('activate', () => {
this._appButton.getWindowList().forEach(w => {
w.delete(global.get_current_time());
@@ -755,7 +755,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
}
open(animate) {
let windows = this._appButton.getWindowList();
const windows = this._appButton.getWindowList();
this._minimizeItem.visible = windows.some(w => !w.minimized);
this._unminimizeItem.visible = windows.some(w => w.minimized);
this._maximizeItem.visible = windows.some(w => {
@@ -816,7 +816,7 @@ class AppButton extends BaseButton {
this.visible = true;
} else if (!this._perMonitor) {
// fast path: use ShellApp API to avoid iterating over all windows.
let workspace = global.workspace_manager.get_active_workspace();
const workspace = global.workspace_manager.get_active_workspace();
this.visible = this.app.is_on_workspace(workspace);
} else {
this.visible = this.getWindowList().length >= 1;
@@ -828,9 +828,9 @@ class AppButton extends BaseButton {
}
_updateIconGeometry() {
let rect = this._getIconGeometry();
const rect = this._getIconGeometry();
let windows = this.app.get_windows();
const windows = this.app.get_windows();
windows.forEach(w => w.set_icon_geometry(rect));
}
@@ -877,11 +877,11 @@ class AppButton extends BaseButton {
}
_onClicked(actor, button) {
let menuWasOpen = this._menu.isOpen;
const menuWasOpen = this._menu.isOpen;
if (menuWasOpen)
this._menu.close();
let contextMenuWasOpen = this._contextMenu.isOpen;
const contextMenuWasOpen = this._contextMenu.isOpen;
if (contextMenuWasOpen)
this._contextMenu.close();
@@ -889,7 +889,7 @@ class AppButton extends BaseButton {
if (menuWasOpen)
return;
let windows = this.getWindowList();
const windows = this.getWindowList();
if (windows.length === 1) {
if (contextMenuWasOpen)
return;
@@ -898,8 +898,8 @@ class AppButton extends BaseButton {
this._menu.removeAll();
for (let i = 0; i < windows.length; i++) {
let windowTitle = new WindowTitle(windows[i]);
let item = new PopupMenu.PopupBaseMenuItem();
const windowTitle = new WindowTitle(windows[i]);
const item = new PopupMenu.PopupBaseMenuItem();
item.add_child(windowTitle);
item._window = windows[i];
this._menu.addMenuItem(item);
@@ -945,7 +945,7 @@ class WindowList extends St.Widget {
this._perMonitor = perMonitor;
this._monitor = monitor;
let box = new St.BoxLayout({x_expand: true, y_expand: true});
const box = new St.BoxLayout({x_expand: true, y_expand: true});
this.add_child(box);
this._windowList = new St.BoxLayout({
@@ -959,7 +959,7 @@ class WindowList extends St.Widget {
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
const indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
box.add_child(indicatorsBox);
this._workspaceIndicator = new BottomWorkspaceIndicator({
@@ -1023,7 +1023,7 @@ class WindowList extends St.Widget {
this._updateKeyboardAnchor();
}, this);
let workspaceManager = global.workspace_manager;
const workspaceManager = global.workspace_manager;
workspaceManager.connectObject('notify::n-workspaces',
() => this._updateWorkspaceIndicatorVisibility(), this);
@@ -1093,7 +1093,7 @@ class WindowList extends St.Widget {
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
const direction = event.get_scroll_direction();
let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN)
diff = 1;
@@ -1102,10 +1102,10 @@ class WindowList extends St.Widget {
else
return;
let children = this._windowList.get_children()
const children = this._windowList.get_children()
.filter(c => c.visible);
let active = children.findIndex(c => c.active);
let newActive = Math.max(0, Math.min(active + diff, children.length - 1));
const active = children.findIndex(c => c.active);
const newActive = Math.max(0, Math.min(active + diff, children.length - 1));
children[newActive].activate();
}
@@ -1144,10 +1144,10 @@ class WindowList extends St.Widget {
}
_updateWorkspaceIndicatorVisibility() {
let workspaceManager = global.workspace_manager;
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
const workspaceManager = global.workspace_manager;
const hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
workspaceManager.n_workspaces > 1;
let workspacesOnMonitor = this._monitor === Main.layoutManager.primaryMonitor ||
const workspacesOnMonitor = this._monitor === Main.layoutManager.primaryMonitor ||
!this._mutterSettings.get_boolean('workspaces-only-on-primary');
this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor;
@@ -1157,15 +1157,15 @@ class WindowList extends St.Widget {
if (this._windowList.get_n_children() === 0)
return this._windowList.get_preferred_width(-1)[1];
let children = this._windowList.get_children();
let [, childWidth] = children[0].get_preferred_width(-1);
let {spacing} = this._windowList.layout_manager;
const children = this._windowList.get_children();
const [, childWidth] = children[0].get_preferred_width(-1);
const {spacing} = this._windowList.layout_manager;
let workspace = global.workspace_manager.get_active_workspace();
const workspace = global.workspace_manager.get_active_workspace();
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
if (this._perMonitor)
windows = windows.filter(w => w.get_monitor() === this._monitor.index);
let nWindows = windows.length;
const nWindows = windows.length;
if (nWindows === 0)
return this._windowList.get_preferred_width(-1)[1];
@@ -1173,7 +1173,7 @@ class WindowList extends St.Widget {
}
_getMaxWindowListWidth() {
let indicatorsBox = this._workspaceIndicator.get_parent();
const indicatorsBox = this._workspaceIndicator.get_parent();
return this.width - indicatorsBox.get_preferred_width(-1)[1];
}
@@ -1192,10 +1192,10 @@ class WindowList extends St.Widget {
if (this._groupingMode !== GroupingMode.AUTO)
return;
let maxWidth = this._getMaxWindowListWidth();
let natWidth = this._getPreferredUngroupedWindowListWidth();
const maxWidth = this._getMaxWindowListWidth();
const natWidth = this._getPreferredUngroupedWindowListWidth();
let grouped = maxWidth < natWidth;
const grouped = maxWidth < natWidth;
if (this._grouped !== grouped) {
this._grouped = grouped;
this._populateWindowList();
@@ -1206,14 +1206,14 @@ class WindowList extends St.Widget {
this._windowList.destroy_all_children();
if (!this._grouped) {
let windows = global.get_window_actors().sort((w1, w2) => {
const windows = global.get_window_actors().sort((w1, w2) => {
return w1.metaWindow.get_stable_sequence() -
w2.metaWindow.get_stable_sequence();
});
for (let i = 0; i < windows.length; i++)
this._addWindow(windows[i].metaWindow, false);
} else {
let apps = this._appSystem.get_running().sort((a1, a2) => {
const apps = this._appSystem.get_running().sort((a1, a2) => {
return _getAppStableSequence(a1) -
_getAppStableSequence(a2);
});
@@ -1271,8 +1271,8 @@ class WindowList extends St.Widget {
}
_removeApp(app) {
let children = this._windowList.get_children();
let child = children.find(c => c.app === app);
const children = this._windowList.get_children();
const child = children.find(c => c.app === app);
child?.animateOutAndDestroy();
}
@@ -1283,7 +1283,7 @@ class WindowList extends St.Widget {
if (this._grouped)
return;
let children = this._windowList.get_children();
const children = this._windowList.get_children();
if (children.find(c => c.metaWindow === win))
return;
@@ -1306,8 +1306,8 @@ class WindowList extends St.Widget {
win.disconnect(id);
this._windowSignals.delete(win);
let children = this._windowList.get_children();
let child = children.find(c => c.metaWindow === win);
const children = this._windowList.get_children();
const child = children.find(c => c.metaWindow === win);
child?.animateOutAndDestroy();
}
@@ -1324,7 +1324,7 @@ class WindowList extends St.Widget {
const buttons = this._windowList.get_children().filter(c => c instanceof BaseButton);
const buttonPos = buttons.indexOf(source);
const numButtons = buttons.length;
let boxWidth = this._windowList.width;
const boxWidth = this._windowList.width;
// Transform to window list coordinates for index calculation
// (mostly relevant for RTL to discard workspace indicator etc.)
@@ -1446,7 +1446,7 @@ class WindowList extends St.Widget {
return DND.DragMotionResult.CONTINUE;
}
let hoveredWindow = dragEvent.targetActor.metaWindow;
const hoveredWindow = dragEvent.targetActor.metaWindow;
if (!hoveredWindow ||
this._dndWindow === hoveredWindow)
return DND.DragMotionResult.CONTINUE;
@@ -1468,15 +1468,15 @@ class WindowList extends St.Widget {
}
_activateWindow() {
let [x, y] = global.get_pointer();
let pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y);
const [x, y] = global.get_pointer();
const pickedActor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y);
if (this._dndWindow && this.contains(pickedActor))
this._dndWindow.activate(global.get_current_time());
this._dndWindow = null;
this._dndTimeoutId = 0;
return false;
return GLib.SOURCE_REMOVE;
}
_onDestroy() {
@@ -1492,7 +1492,7 @@ class WindowList extends St.Widget {
this._settings.disconnectObject();
this._settings = null;
let windows = global.get_window_actors();
const windows = global.get_window_actors();
for (let i = 0; i < windows.length; i++)
windows[i].metaWindow.set_icon_geometry(null);
}
@@ -1538,7 +1538,7 @@ export default class WindowListExtension extends Extension {
this._windowLists.forEach(list => list.destroy());
this._windowLists = [];
let showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors');
const showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors');
Main.layoutManager.monitors.forEach(monitor => {
if (showOnAllMonitors || monitor === Main.layoutManager.primaryMonitor)

View File

@@ -147,7 +147,7 @@ export default class Extension {
/* eslint-disable no-invalid-this */
return function () {
const {layoutManager} = this._container;
for (let i in layoutManager._windowSlots) {
for (const i in layoutManager._windowSlots) {
if (layoutManager._windowSlots[i])
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
}
@@ -210,9 +210,9 @@ export default class Extension {
return function (actor, event) {
const {ControlsState} = OverviewControls;
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
return false;
return Clutter.EVENT_PROPAGATE;
let workspaceManager = global.workspace_manager;
const workspaceManager = global.workspace_manager;
if ((event.get_key_symbol() === Clutter.KEY_Alt_L ||
event.get_key_symbol() === Clutter.KEY_Alt_R) &&
@@ -222,7 +222,7 @@ export default class Extension {
this._active = workspaceManager.get_active_workspace_index();
this._pickWindow = true;
this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips();
return true;
return Clutter.EVENT_STOP;
}
if ((event.get_key_symbol() === Clutter.KEY_Control_L ||
event.get_key_symbol() === Clutter.KEY_Control_R) &&
@@ -232,22 +232,22 @@ export default class Extension {
this._pickWorkspace = true;
for (let i = 0; i < this._workspaces.length; i++)
this._workspaces[i].showTooltip();
return true;
return Clutter.EVENT_STOP;
}
if (global.stage.get_key_focus() !== null)
return false;
return Clutter.EVENT_PROPAGATE;
// ignore shift presses, they're required to get numerals in azerty keyboards
if ((this._pickWindow || this._pickWorkspace) &&
(event.get_key_symbol() === Clutter.KEY_Shift_L ||
event.get_key_symbol() === Clutter.KEY_Shift_R))
return true;
return Clutter.EVENT_STOP;
if (this._pickWindow) {
if (this._active !== workspaceManager.get_active_workspace_index()) {
this._hideTooltips();
return false;
return Clutter.EVENT_PROPAGATE;
}
let c = event.get_key_symbol() - Clutter.KEY_KP_0;
@@ -256,17 +256,17 @@ export default class Extension {
if (c > 9 || c <= 0) {
this._hideTooltips();
log(c);
return false;
return Clutter.EVENT_PROPAGATE;
}
}
let win = this._workspaces[this._active].getWindowWithTooltip(c);
const win = this._workspaces[this._active].getWindowWithTooltip(c);
this._hideTooltips();
if (win)
Main.activateWindow(win, global.get_current_time());
return true;
return Clutter.EVENT_STOP;
}
if (this._pickWorkspace) {
let c = event.get_key_symbol() - Clutter.KEY_KP_0;
@@ -274,18 +274,18 @@ export default class Extension {
c = event.get_key_symbol() - Clutter.KEY_0;
if (c > 9 || c <= 0) {
this._hideWorkspacesTooltips();
return false;
return Clutter.EVENT_PROPAGATE;
}
}
let workspace = this._workspaces[c - 1];
const workspace = this._workspaces[c - 1];
if (workspace !== undefined)
workspace.metaWorkspace.activate(global.get_current_time());
this._hideWorkspacesTooltips();
return true;
return Clutter.EVENT_STOP;
}
return false;
return Clutter.EVENT_PROPAGATE;
};
/* eslint-enable */
});

View File

@@ -159,7 +159,7 @@ class WorkspaceThumbnail extends St.Button {
this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager;
const workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.bind_property('active',
@@ -209,14 +209,14 @@ class WorkspaceThumbnail extends St.Button {
if (this._windowPreviews.has(window))
return;
let preview = new WindowPreview(window);
const preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview);
this._preview.child.add_child(preview);
}
_removeWindow(window) {
let preview = this._windowPreviews.get(window);
const preview = this._windowPreviews.get(window);
if (!preview)
return;
@@ -226,9 +226,9 @@ class WorkspaceThumbnail extends St.Button {
_onRestacked() {
let lastPreview = null;
let windows = global.get_window_actors().map(a => a.meta_window);
const 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]);
const preview = this._windowPreviews.get(windows[i]);
if (!preview)
continue;
@@ -238,14 +238,14 @@ class WorkspaceThumbnail extends St.Button {
}
_moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this);
const 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);
const ws = global.workspace_manager.get_workspace_by_index(this._index);
if (ws)
ws.activate(global.get_current_time());
}
@@ -417,7 +417,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
this._entry = new St.Entry({
opacity: 0,
reactive: false,
visible: false,
});
stack.add_child(this._entry);
@@ -466,7 +466,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
}
_switchActor(from, to) {
to.reactive = true;
to.visible = from.visible = true;
to.ease({
opacity: 255,
duration: 300,
@@ -478,7 +478,7 @@ class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
duration: 300,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => {
from.reactive = false;
from.visible = false;
},
});
}
@@ -609,7 +609,7 @@ export class WorkspaceIndicator extends PanelMenu.Button {
this.setMenu(new WorkspacesMenu(this));
let container = new St.Widget({
const container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,

View File

@@ -4,7 +4,7 @@
project(
'gnome-shell-extensions',
version: '49.0',
version: '50.alpha',
meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
)
@@ -23,16 +23,20 @@ modedir = join_paths(shelldir, 'modes')
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
xsessiondir = join_paths(datadir, 'xsessions')
wlsessiondir = join_paths(datadir, 'wayland-sessions')
systemd_dep = dependency('systemd', required: false)
systemd_userunitdir = systemd_dep.get_variable(
pkgconfig: 'systemduserunitdir',
pkgconfig_define: ['prefix', get_option('prefix')],
default_value: get_option('prefix') / 'lib' / 'systemd' / 'user',
)
ver_arr = meson.project_version().split('.')
shell_version = ver_arr[0]
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
have_x11 = get_option('x11')
classic_extensions = [
'apps-menu',
'places-menu',
@@ -88,12 +92,6 @@ endforeach
if classic_mode_enabled
subdir('data')
if have_x11
meson.add_install_script(
'build-aux/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
endif
subdir('extensions')

View File

@@ -20,9 +20,3 @@ option('classic_mode',
value: false,
description: 'Enable installing data files for classic mode.'
)
option('x11',
type: 'boolean',
value: false,
description: 'Enable X11 session support.'
)

View File

@@ -1,6 +1,4 @@
data/gnome-classic.desktop.in
data/gnome-classic-wayland.desktop.in
data/gnome-classic-xorg.desktop.in
extensions/apps-menu/extension.js
extensions/auto-move-windows/extension.js
extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml

270
po/bg.po
View File

@@ -7,86 +7,87 @@
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022.
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
# twlvnn kraftwerk <kraft_werk@tutanota.com>, 2024.
# @pacu23, 2025
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-09-01 12:03+0000\n"
"PO-Revision-Date: 2024-09-02 10:49+0200\n"
"Last-Translator: twlvnn kraftwerk <kraft_werk@tutanota.com>\n"
"POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2026-01-01 18:41+0200\n"
"Last-Translator: @pacu23\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Gtranslator 46.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.8\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "Класически GNOME"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Работната среда изглежда като класическия GNOME (2.x)"
msgstr "Тази сесия влизa в Класически GNOME"
#: data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland"
msgstr "Класически GNOME в Wayland"
#: data/gnome-classic-xorg.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg"
msgstr "Класически GNOME в Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Любими"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list"
msgstr "Списък с програмите и работните плотове"
msgstr "Списък с програмите и работните пространства"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
"desktop“), следван от знака „:“ и номер на работен плот"
"Списък от низове, всеки съдържащ идентификатор на програма (име на desktop "
"файла), последван от двоеточие и номер на работното пространство"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules"
msgstr "Правила за работните плотове"
msgstr "Правила за работните пространства"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule"
msgstr "Добавяне на правило"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Неуспешно изваждане на устройство „%s:"
msgstr "Неуспешно изваждане на устройството „%s\":"
#: extensions/drive-menu/extension.js:142
msgid "Removable devices"
msgstr "Преносими медии"
msgstr "Преносими устройства"
#: extensions/drive-menu/extension.js:164
msgid "Open Files"
msgstr "Отваряне на файлове"
msgstr "Отвори „Файлове"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows"
msgstr "Повече пространство за прозорците"
msgstr "Повече пространство на екрана за прозорците"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
@@ -94,10 +95,10 @@ msgid ""
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Използване на по-голяма част от екрана за поставянето на мини изображения "
"чрез промяна на съотношението на страните и допълнително обединяване за "
"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при "
"естествената стратегия за поставяне на прозорците."
"Опитва се да използва повече от екрана за разполагането на миниатюри на "
"прозорци, като се адаптира към съотношението на страните на екрана и "
"уплътнява подредбата, за да намали ограничителната рамка. Тази настройка се "
"прилага само за метода на естествено разполагане."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
@@ -109,49 +110,56 @@ msgid ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Ако е истина, заглавията на прозорците се поставят над мини изображенията "
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
"настройката трябва да рестартирате обвивката на GNOME."
"Ако е включено, заглавията на прозорците ще се поставят над съответната "
"миниатюра, вместо по подразбиране в долната ѝ част. За да влезе в сила, тази "
"промяна изисква рестартиране на обвивката на GNOME."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Места"
#: extensions/places-menu/placeDisplay.js:60
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Неуспешно стартиране на „%s“"
#: extensions/places-menu/placeDisplay.js:75
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Неуспешно монтиране на тома „%s“"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Компютър"
#: extensions/places-menu/placeDisplay.js:333
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Домашна папка"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Скорошни"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Отбелязани"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Мрежа"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Кошче"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
msgstr "Смяна на размерите на снимката на екрана"
msgstr "Превключване между размерите на екранната снимка"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward"
msgstr "Смяна на размерите на снимката на екрана наобратно"
msgstr "Обратно превключване на размерите на екранната снимка"
#: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "Статистика на ЦП"
msgstr "Статистика на процесора"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
@@ -163,55 +171,55 @@ msgstr "Статистика на виртуалната памет"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Статистика на качване"
msgstr "Статистика за качването"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Статистика на изтегляне"
msgstr "Статистика за изтеглянето"
#: extensions/system-monitor/extension.js:364
#: extensions/system-monitor/extension.js:365
msgid "System stats"
msgstr "Статистика на системата"
msgstr "Системна статистика"
#: extensions/system-monitor/extension.js:412
#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Показване"
#: extensions/system-monitor/extension.js:414
#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "ЦП"
msgstr "Процесор"
#: extensions/system-monitor/extension.js:416
#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Памет"
#: extensions/system-monitor/extension.js:418
#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Виртуалната памет"
#: extensions/system-monitor/extension.js:420
#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Качване"
#: extensions/system-monitor/extension.js:422
#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Изтегляне"
#: extensions/system-monitor/extension.js:427
#: extensions/system-monitor/extension.js:428
msgid "Open System Monitor"
msgstr "Отваряне на „Наблюдение на системата“"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Показване на ползван ЦП"
msgstr "Показване на използването на процесора"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Показване на ползвана памет"
msgstr "Показване на използването на паметта"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Показване на ползвана виртуалната памет"
msgstr "Показване на използването на виртуалната памет"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
@@ -227,140 +235,176 @@ msgstr "Име на темата"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
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:70
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Затваряне"
#: extensions/window-list/extension.js:97
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Деминимизиране"
#: extensions/window-list/extension.js:97
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Минимизиране"
#: extensions/window-list/extension.js:104
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Демаксимизиране"
#: extensions/window-list/extension.js:104
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Максимизиране"
#: extensions/window-list/extension.js:489
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Минимизиране на всички"
#: extensions/window-list/extension.js:495
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Деминимизиране на всички"
#: extensions/window-list/extension.js:501
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Максимизиране на всички"
#: extensions/window-list/extension.js:509
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Демаксимизиране на всички"
#: extensions/window-list/extension.js:517
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Затваряне на всички"
#: extensions/window-list/extension.js:789
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Списък на прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows"
msgstr "Кога прозорците да се групират"
msgstr "Кога да се групират прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Кога прозорците на една програма да се групират в списъка с прозорците. "
"Възможните стойности саnever“ (никога), „auto“ (автоматично) и „always“ "
"(винаги)."
"Кога да се групират прозорци от едно и също приложение в списъка с прозорци. "
"Възможните стойности са „никога, „автоматично и „винаги“."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Да се показват прозорците от всички работни плотове"
msgstr "Показване на прозорците от всички работни пространства"
#: 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."
msgstr ""
"Дали да се показват прозорците от всички работни плотове или само от текущия."
"Дали да се показват прозорците от всички работни пространства или само от "
"текущото."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
msgstr "Извеждане на списъка с прозорци на всички монитори"
msgstr "Показване на списъка с прозорци на всички монитори"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
"основния"
"Дали да се показва списъкът с прозорци на всички свързани монитори или само "
"на основния."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Визуализиране на работните пространства в списъка с прозорци"
msgstr "Показване на прегледа на работните пространства"
#: extensions/window-list/prefs.js:35
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Групиране на прозорци"
#: extensions/window-list/prefs.js:40
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Никога да не се групират"
#: extensions/window-list/prefs.js:41
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Групиране при ограничено място"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Винаги да се групират"
#: extensions/window-list/prefs.js:66
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "На всички монитори"
#: extensions/window-list/prefs.js:92
msgid "Show workspace previews"
msgstr "Визуализиране на работните пространства"
#: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Визуализиране в горната лента"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format
msgid "Workspace %d"
msgstr "Работен плот %d"
#: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Имена на работните плотове"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace"
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
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Натиснете %s за редактирате"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Настройки"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator"
msgstr "Индикатор на работните плотове"
msgstr "Индикатор на работните пространства"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Индикатор"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Прегледи"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Име на работното пространство"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Поведение"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Динамично"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Автоматично премахва празните работни пространства."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Фиксиран брой"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Посочете брой постоянни работни пространства."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Брой работни пространства"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Работни пространства"
#~ msgid "Computer"
#~ msgstr "Компютър"
#~ msgid "Show workspace previews"
#~ msgstr "Визуализиране на работните пространства"
#~ msgid "Show Previews In Top Bar"
#~ msgstr "Визуализиране в горната лента"
#~ msgid "Applications"
#~ msgstr "Програми"

108
po/el.po
View File

@@ -12,9 +12,9 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-07-24 10:26+0000\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-08-12 23:29+0300\n"
"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n"
"Last-Translator: Giannis Antypas <gianni.antypas@gmail.com>\n"
"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Προσθήκη κανόνα"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#: extensions/places-menu/placeDisplay.js:187
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
@@ -120,28 +120,35 @@ msgstr ""
msgid "Places"
msgstr "Τοποθεσίες"
#: extensions/places-menu/placeDisplay.js:60
#: extensions/places-menu/placeDisplay.js:53
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Αποτυχία εκκίνησης «%s»"
#: extensions/places-menu/placeDisplay.js:75
#: extensions/places-menu/placeDisplay.js:68
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Υπολογιστής"
#: extensions/places-menu/placeDisplay.js:333
#: extensions/places-menu/placeDisplay.js:316
msgid "Home"
msgstr "Προσωπικός φάκελος"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
msgstr "Περιήγηση δικτύου"
#: extensions/places-menu/placeDisplay.js:322
msgid "Recent"
msgstr "Πρόσφατα"
#: extensions/places-menu/placeDisplay.js:328
msgid "Starred"
msgstr "Επισημάνθηκαν"
#: extensions/places-menu/placeDisplay.js:348
msgid "Network"
msgstr "Δίκτυο"
#: extensions/places-menu/placeDisplay.js:355
msgid "Trash"
msgstr "Απορρίμματα"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
@@ -232,47 +239,47 @@ msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr ""
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72
#: extensions/window-list/extension.js:92
msgid "Close"
msgstr "Κλείσιμο"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:119
msgid "Unminimize"
msgstr "Αποελαχιστοποίηση"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:119
msgid "Minimize"
msgstr "Ελαχιστοποίηση"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:126
msgid "Unmaximize"
msgstr "Απομεγιστοποίηση"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:126
msgid "Maximize"
msgstr "Μεγιστοποίηση"
#: extensions/window-list/extension.js:471
#: extensions/window-list/extension.js:641
msgid "Minimize all"
msgstr "Ελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:477
#: extensions/window-list/extension.js:647
msgid "Unminimize all"
msgstr "Αποελαχιστοποίηση όλων"
#: extensions/window-list/extension.js:483
#: extensions/window-list/extension.js:653
msgid "Maximize all"
msgstr "Μεγιστοποίηση όλων"
#: extensions/window-list/extension.js:491
#: extensions/window-list/extension.js:661
msgid "Unmaximize all"
msgstr "Απομεγιστοποίηση όλων"
#: extensions/window-list/extension.js:499
#: extensions/window-list/extension.js:669
msgid "Close all"
msgstr "Κλείσιμο όλων"
#: extensions/window-list/extension.js:773
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
msgid "Window List"
msgstr "Λίστα παραθύρου"
@@ -290,7 +297,7 @@ msgstr ""
"«always» (πάντα)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
#: extensions/window-list/prefs.js:75
msgid "Show windows from all workspaces"
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας"
@@ -311,44 +318,70 @@ msgstr ""
"Αν θα εμφανίζεται ο κατάλογος παραθύρων όλων των συνδεμένων οθονών ή μόνο "
"της κύριας οθόνης."
#: extensions/window-list/prefs.js:35
#: 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:42
msgid "Window Grouping"
msgstr "Ομαδοποίηση παραθύρου"
#: extensions/window-list/prefs.js:40
#: extensions/window-list/prefs.js:47
msgid "Never group windows"
msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:41
#: extensions/window-list/prefs.js:48
msgid "Group windows when space is limited"
msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:49
msgid "Always group windows"
msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων"
#: extensions/window-list/prefs.js:66
#: extensions/window-list/prefs.js:69
msgid "Show on all monitors"
msgstr "Να εμφανίζεται σε όλες τις οθόνες"
#: extensions/window-list/workspaceIndicator.js:255
#: extensions/workspace-indicator/extension.js:261
#: 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 "Δείκτης χώρου εργασίας"
#: extensions/workspace-indicator/prefs.js:69
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Εμφάνιση προεπισκοπήσεων"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Χώρος εργασίας %d"
#: extensions/workspace-indicator/prefs.js:136
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Ονόματα χώρων εργασίας"
#: extensions/workspace-indicator/prefs.js:262
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Προσθήκη χώρου εργασίας"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Αφαίρεση"
#: extensions/workspace-indicator/workspacePrefs.js:226
#| msgid "Workspace %d"
msgid "Workspaces"
msgstr "Χώροι εργασίας"
#~ msgid "Computer"
#~ msgstr "Υπολογιστής"
#~ msgid "Browse Network"
#~ msgstr "Περιήγηση δικτύου"
#~ msgid "Applications"
#~ msgstr "Εφαρμογές"
@@ -570,9 +603,6 @@ msgstr "Προσθήκη χώρου εργασίας"
#~ msgid "Bookmarks"
#~ msgstr "Σελιδοδείκτες"
#~ msgid "Network"
#~ msgstr "Δίκτυο"
#~ msgid "File System"
#~ msgstr "Σύστημα αρχείων"

233
po/eu.po
View File

@@ -6,43 +6,53 @@
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2013, 2015, 2017.
# Edurne Labaka <elabaka@uzei.com>, 2015.
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020, 2021, 2024.
# Ibai Oihanguren Sala <ibaios@disroot.org>, 2026.
#
msgid ""
msgstr "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
"PO-Revision-Date: 2024-08-25 00:42+0200\n"
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
"Language-Team: Basque <librezale@librezale.eus>\n"
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2026-01-11 20:54+0100\n"
"Last-Translator: Ibai Oihanguren Sala <ibaios@disroot.org>\n"
"Language-Team: Basque\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Project-Style: gnome\n"
"X-DL-VCS-Web: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/\n"
"X-DL-Lang: eu\n"
"X-DL-Module: gnome-shell-extensions\n"
"X-DL-Branch: main\n"
"X-DL-Domain: po\n"
"X-DL-State: None\n"
"X-Generator: Gtranslator 49.0\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "GNOME Klasikoa"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Saio honek GNOME Klasikoa hasten du"
#: data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland"
msgstr "GNOME klasikoa Wayland gainean"
#: data/gnome-classic-xorg.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg"
msgstr "GNOME klasikoa Xorg gainean"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Gogokoak"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Aplikazioak"
@@ -54,19 +64,21 @@ msgstr "Aplikazioen eta laneko areen zerrenda"
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena"
msgstr ""
"Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren "
"fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules"
msgstr "Laneko areen arauak"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule"
msgstr "Gehitu araua"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Huts egin du “%s“ unitatea egoztean:"
@@ -88,7 +100,11 @@ msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr "Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik aplikatzen da."
msgstr ""
"Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko "
"pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa "
"txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik "
"aplikatzen da."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
@@ -99,35 +115,45 @@ msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da."
msgstr ""
"TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko "
"ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau "
"aldatzeko eta aplikatzeko Shell berrabiarazi behar da."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Lekuak"
#: extensions/places-menu/placeDisplay.js:60
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Huts egin du '%s' abiarazteak"
#: extensions/places-menu/placeDisplay.js:75
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Huts egin du “%s“(r)en bolumena muntatzean"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Ordenagailua"
#: extensions/places-menu/placeDisplay.js:333
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Karpeta nagusia"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
msgstr "Arakatu sarea"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Azken aldikoa"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Izardunak"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Sarea"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Zakarrontzia"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
@@ -157,35 +183,35 @@ msgstr "Kargaren estatistikak"
msgid "Download stats"
msgstr "Deskargaren estatistikak"
#: extensions/system-monitor/extension.js:364
#: extensions/system-monitor/extension.js:365
msgid "System stats"
msgstr "Sistemaren estatistikak"
#: extensions/system-monitor/extension.js:412
#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Erakutsi"
#: extensions/system-monitor/extension.js:414
#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "PUZa"
#: extensions/system-monitor/extension.js:416
#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Memoria"
#: extensions/system-monitor/extension.js:418
#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Trukatze-espazioa"
#: extensions/system-monitor/extension.js:420
#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Kargatu"
#: extensions/system-monitor/extension.js:422
#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Deskargatu"
#: extensions/system-monitor/extension.js:427
#: extensions/system-monitor/extension.js:428
msgid "Open System Monitor"
msgstr "Ireki sistema-monitorea"
@@ -217,47 +243,47 @@ msgstr "Gaiaren izena"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Gaiaren izena, ~/.themes/izena/gnome-shell direktoriotik kargatzeko"
#: extensions/window-list/extension.js:72
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Itxi"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Leheneratu"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Minimizatu"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Desmaximizatu"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Maximizatu"
#: extensions/window-list/extension.js:471
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Minimizatu denak"
#: extensions/window-list/extension.js:477
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Leheneratu denak"
#: extensions/window-list/extension.js:483
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Maximizatu denak"
#: extensions/window-list/extension.js:491
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Desmaximizatu denak"
#: extensions/window-list/extension.js:499
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Itxi denak"
#: extensions/window-list/extension.js:778
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Leiho-zerrenda"
@@ -269,16 +295,20 @@ msgstr "Noiz elkartu leihoak"
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)."
msgstr ""
"Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen "
"du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta "
"“always“ (beti)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Erakutsi laneko area guztietako leihoak"
#: 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."
msgstr "Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren."
msgstr ""
"Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
@@ -288,61 +318,100 @@ msgstr "Erakutsi leihoen zerrenda pantaila guztietan"
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den."
msgstr ""
"Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila "
"nagusian erakutsiko den."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Erakutsi laneko areen aurrebistak leihoen zerrendan"
#: extensions/window-list/prefs.js:35
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Leihoak elkartzea"
#: extensions/window-list/prefs.js:40
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Ez elkartu leihoak inoiz"
#: extensions/window-list/prefs.js:41
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Elkartu leihoak lekua mugatuta dagoenean"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Elkartu beti leihoak"
#: extensions/window-list/prefs.js:66
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Erakutsi pantaila guztietan"
#: extensions/window-list/prefs.js:92
msgid "Show workspace previews"
msgstr "Erakutsi laneko areen aurrebistak"
#: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Erakutsi aurrebistak goiko barran"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format
msgid "Workspace %d"
msgstr "%d. laneko area"
#: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Laneko areen izenak"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace"
msgstr "Gehitu laneko area"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Erakutsi laneko areen aurrebistak goiko barran"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Sakatu %s editatzeko"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Ezarpenak"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator"
msgstr "Laneko arearen adierazlea"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Adierazlea"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Aurrebistak"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Laneko arearen izena"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Portaera"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dinamikoa"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Automatikoki kentzen ditu laneko area hutsak."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Kopuru finkoa"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Zehaztu laneko area iraunkorren kopurua."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Laneko area kopurua"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Laneko areak"
#~ msgid "Computer"
#~ msgstr "Ordenagailua"
#~ msgid "Show workspace previews"
#~ msgstr "Erakutsi laneko areen aurrebistak"
#~ msgid "Show Previews In Top Bar"
#~ msgstr "Erakutsi aurrebistak goiko barran"
#~ msgid "Applications"
#~ msgstr "Aplikazioak"

190
po/kab.po
View File

@@ -2,51 +2,52 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# ButterflyOfFire <ButterflyOfFire@protonmail.com>, 2024.
# ButterflyOfFire <butterflyoffire@protonmail.com>, 2024-2025.
#
msgid ""
msgstr ""
"Project-Id-Version: unnamed project\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-03-12 11:27+0000\n"
"PO-Revision-Date: 2024-03-23 07:16+0100\n"
"Last-Translator: sa\n"
"Language-Team: Kabyle <>\n"
"POT-Creation-Date: 2025-09-14 20:09+0000\n"
"PO-Revision-Date: 2025-09-16 18:51+0100\n"
"Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
"Language-Team: Kabyle\n"
"Language: kab\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
"X-Generator: Poedit 3.4.2\n"
"X-Generator: Gtranslator 48.0\n"
"X-DL-Team: kab\n"
"X-DL-Module: gnome-shell-extensions\n"
"X-DL-Branch: main\n"
"X-DL-Domain: po\n"
"X-DL-State: Translating\n"
"X-DL-Lang: kab\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "GNOME aklasiki"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Tiɣimit-agi ak-teqqen ɣer GNOME aklasiki"
#: data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland"
msgstr "GNOME aklasiki ɣef Wayland"
#: data/gnome-classic-xorg.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg"
msgstr "GNOME aklasiki ɣef Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Inurifen"
#: extensions/apps-menu/extension.js:397
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Isnasen"
@@ -62,17 +63,17 @@ msgstr ""
"Tabdart n yiɣewwaren, yal yiwet tesɛa id n usnas (isem n ufaylu n desktop), "
"ad ḍefrent snat n tenqiḍin akked wuḍḍun n tallunt n umahil"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Ilugan n tallunt n umahil"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Rnu alugen"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Aḍeqqer n uḍebsi “%s” ur yeddi ara:"
@@ -113,33 +114,40 @@ msgstr ""
"usenfel n shel s wudem amezwer s usemselsi-s ukessar. Asenfel n uɣewwar-a "
"yesra allus n usenker n shel i wakken ad yeḍru."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Imeḍqan"
#: extensions/places-menu/placeDisplay.js:60
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Asekker n “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:75
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Aselkim"
#: extensions/places-menu/placeDisplay.js:333
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Agejdan"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
msgstr "Snirem azeḍḍa"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Melmi kan"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "S yitran"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Azeṭṭa"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Taqecwalt"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
@@ -161,43 +169,43 @@ msgstr "Addaden n tkatut"
msgid "Swap stats"
msgstr "Addaden n Swap"
#: extensions/system-monitor/extension.js:327
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Addaden n usali"
#: extensions/system-monitor/extension.js:341
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Addaden n usadar"
#: extensions/system-monitor/extension.js:355
#: extensions/system-monitor/extension.js:365
msgid "System stats"
msgstr "Addaden n unagraw"
#: extensions/system-monitor/extension.js:403
#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Sken"
#: extensions/system-monitor/extension.js:405
#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:407
#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Takatut"
#: extensions/system-monitor/extension.js:409
#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Aemmeskel"
msgstr "Asemmeskel"
#: extensions/system-monitor/extension.js:411
#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Asali"
#: extensions/system-monitor/extension.js:413
#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Asider"
#: extensions/system-monitor/extension.js:418
#: extensions/system-monitor/extension.js:428
msgid "Open System Monitor"
msgstr "Ldi asefrak n unagraw"
@@ -229,47 +237,47 @@ msgstr "Isem n usentel"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Isem n usentel ara yettusidren si ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Mdel"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Ur simẓẓiy ara"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Semẓi"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Ur ssemɣer ara"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Semɣer"
#: extensions/window-list/extension.js:471
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Semẓi-ten akk"
#: extensions/window-list/extension.js:477
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Ur simẓẓiy ara kullec"
#: extensions/window-list/extension.js:483
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Semɣer-iten akk"
#: extensions/window-list/extension.js:491
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Ur ssemɣer ara kullec"
#: extensions/window-list/extension.js:499
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Mdel-iten akk"
#: extensions/window-list/extension.js:773
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Tabdart n yisfuyla"
@@ -286,7 +294,7 @@ msgstr ""
"Azalen yellan: “never”, “auto” akked “always”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Sken isfuyla si meṛṛa tallunin n umahil"
@@ -308,43 +316,83 @@ msgstr ""
"Ma yella ad ttwaseknen yisfuyla si meṛṛa tallunin n umahil neɣ ala ɣef "
"uzwaran."
#: extensions/window-list/prefs.js:35
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Sken-d tiskanin n tallunin n umahil deg yiwet n tebdart n usfalu"
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Asegrew n yisfuyla"
#: extensions/window-list/prefs.js:40
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Werǧin ad tesgerweḍ isfuyla"
#: extensions/window-list/prefs.js:41
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Segrew isfuyla ticki tallunt txuṣ"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Yalas ssegraw isfuyla"
#: extensions/window-list/prefs.js:66
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Sken ɣef yigdilen meṛṛa"
#: extensions/window-list/workspaceIndicator.js:255
#: extensions/workspace-indicator/extension.js:261
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Sken-d tiskanin n tallunin n umahil deg ufeggag n ufella"
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Sit ɣef %s iwakken ad tesnifleḍṭ"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Iɣewwaren"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator"
msgstr "Anamal n wadeg n umahil"
#: extensions/workspace-indicator/prefs.js:69
#, javascript-format
msgid "Workspace %d"
msgstr "Tallunt n umahil %d"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Anamal"
#: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names"
msgstr "Ismawen n tallunin n umahil"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Tiskanin"
#: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace"
msgstr "Rnu tallunt n umahil"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Isem n tallunt n umahil"
#~ msgid "Applications"
#~ msgstr "Isnasen"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Tiddin"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Asmussan"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Ad ikkes s wudem awurman tallunin n umahil"
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Amḍan usbiḍ"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr ""
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Alḍan n tallunin n umahil"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Tallunt n umahil"

911
po/kk.po
View File

@@ -1,430 +1,481 @@
# Kazakh translation for gnome-shell-extensions.
# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2013-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-02-06 18:43+0000\n"
"PO-Revision-Date: 2024-02-25 00:02+0600\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk@li.org>\n"
"Language: kk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.2\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
msgstr "Классикалық GNOME"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Бұл сессия арқылы классикалық GNOME ішіне кіресіз"
#: data/gnome-classic-wayland.desktop.in:3
msgid "GNOME Classic on Wayland"
msgstr "Wayland негізіндегі классикалық GNOME"
#: data/gnome-classic-xorg.desktop.in:3
msgid "GNOME Classic on Xorg"
msgstr "Xorg негізіндегі классикалық GNOME"
#: extensions/apps-menu/extension.js:126
msgid "Favorites"
msgstr "Таңдамалылар"
#: extensions/apps-menu/extension.js:397
msgid "Apps"
msgstr "Қолданбалар"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list"
msgstr "Қолданба және жұмыс орындар тізімі"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының "
"аты), соңында үтір және жұмыс орнының нөмірі тұрады"
#: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules"
msgstr "Жұмыс орын ережелері"
#: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule"
msgstr "Ережені қосу"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:"
#: extensions/drive-menu/extension.js:142
msgid "Removable devices"
msgstr "Алынатын құрылғылар"
#: extensions/drive-menu/extension.js:164
msgid "Open Files"
msgstr "Файлдарды ашу"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows"
msgstr "Терезелер үшін көбірек экранды қолдану"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке "
"алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту "
"мақсатында оларды әрі қарай да жинастыру. Бұл баптау тек табиғи орналастыру "
"ережесімен іске асады."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
msgstr "Терезелер атауларын жоғарыға орналастыру"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, "
"үнсіз келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру "
"үшін қоршамды қайта іске қосу керек."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places"
msgstr "Орындар"
#: extensions/places-menu/placeDisplay.js:60
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "\"%s\" жөнелту сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:75
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Компьютер"
#: extensions/places-menu/placeDisplay.js:333
msgid "Home"
msgstr "Үй бумасы"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
msgstr "Желіні шолу"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
msgstr "Скриншоттар өлшемдерін ауыстырып көрсету"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward"
msgstr "Скриншоттар өлшемдерін кері ретпен ауыстырып көрсету"
#: extensions/system-monitor/extension.js:135
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:327
msgid "Upload stats"
msgstr "Жүктеп салу статистикасы"
#: extensions/system-monitor/extension.js:341
msgid "Download stats"
msgstr "Жүктеп алу статистикасы"
#: extensions/system-monitor/extension.js:355
msgid "System stats"
msgstr "Жүйе статистикасы"
#: extensions/system-monitor/extension.js:403
msgid "Show"
msgstr "Көрсету"
#: extensions/system-monitor/extension.js:405
msgid "CPU"
msgstr "Процессор"
#: extensions/system-monitor/extension.js:407
msgid "Memory"
msgstr "Жады"
#: extensions/system-monitor/extension.js:409
msgid "Swap"
msgstr "Своп"
#: extensions/system-monitor/extension.js:411
msgid "Upload"
msgstr "Жүктеп салу"
#: extensions/system-monitor/extension.js:413
msgid "Download"
msgstr "Жүктеп алу"
#: extensions/system-monitor/extension.js:418
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"
msgstr "Тема атауы"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Тема атауы, ~/.themes/name/gnome-shell ішінен алынады"
#: extensions/window-list/extension.js:71
msgid "Close"
msgstr "Жабу"
#: extensions/window-list/extension.js:98
msgid "Unminimize"
msgstr "Қайырылған емес қылу"
#: extensions/window-list/extension.js:98
msgid "Minimize"
msgstr "Қайыру"
#: extensions/window-list/extension.js:105
msgid "Unmaximize"
msgstr "Жазық емес қылу"
#: extensions/window-list/extension.js:105
msgid "Maximize"
msgstr "Жазық қылу"
#: extensions/window-list/extension.js:470
msgid "Minimize all"
msgstr "Барлығын қайыру"
#: extensions/window-list/extension.js:476
msgid "Unminimize all"
msgstr "Барлығын қайырылған емес қылу"
#: extensions/window-list/extension.js:482
msgid "Maximize all"
msgstr "Барлығын жазық қылу"
#: extensions/window-list/extension.js:490
msgid "Unmaximize all"
msgstr "Барлығын жазық емес қылу"
#: extensions/window-list/extension.js:498
msgid "Close all"
msgstr "Барлығын жабу"
#: extensions/window-list/extension.js:772
msgid "Window List"
msgstr "Терезелер тізімі"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows"
msgstr "Терезелерді қашан топтау керек"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Терезелер тізімінде бір қолданбаның терезелерін қашан топтау керек екенін "
"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces"
msgstr "Барлық жұмыс орнындарынан терезелерді көрсету"
#: 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."
msgstr ""
"Ашық терезелерді тек барлық жұмыс орындарынан ба, әлде тек ағымдағысынан ба "
"көрсету керек."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
msgstr "Терезелер тізімін барлық мониторларда көрсету"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Терезелер тізімін барлық жалғанған мониторларда, немесе тек біріншілік "
"мониторда көрсету керек пе."
#: extensions/window-list/prefs.js:35
msgid "Window Grouping"
msgstr "Терезелерді топтау"
#: extensions/window-list/prefs.js:40
msgid "Never group windows"
msgstr "Терезелерді ешқашан топтамау"
#: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited"
msgstr "Терезелерді орын шектелген кезде топтау"
#: extensions/window-list/prefs.js:42
msgid "Always group windows"
msgstr "Терезелерді әрқашан топтау"
#: extensions/window-list/prefs.js:66
msgid "Show on all monitors"
msgstr "Барлық мониторларда көрсету"
#: extensions/window-list/workspaceIndicator.js:253
#: extensions/workspace-indicator/extension.js:259
msgid "Workspace Indicator"
msgstr "Жұмыс орын индикаторы"
#: extensions/workspace-indicator/prefs.js:69
#, javascript-format
msgid "Workspace %d"
msgstr "Жұмыс орны %d"
#: extensions/workspace-indicator/prefs.js:136
msgid "Workspace Names"
msgstr "Жұмыс орын атаулары"
#: extensions/workspace-indicator/prefs.js:262
msgid "Add Workspace"
msgstr "Жұмыс орнын қосу"
#~ msgid "Applications"
#~ msgstr "Қолданбалар"
#~ msgid "Application"
#~ msgstr "Қолданба"
#~ msgid "Create new matching rule"
#~ msgstr "Жаңа сәйкес келетін ережені жасау"
#~ msgid "Add"
#~ msgstr "Қосу"
#~ msgid "Name"
#~ msgstr "Атауы"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Модальді сұхбаттарды аталық терезесіне жалғау"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен "
#~ "басады."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Атау жолағындағы батырмалар орналасуы"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences "
#~ "кілтін үстінен жазады."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr ""
#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді "
#~ "іске қосу"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Жұмыс орындары тек біріншілік мониторда"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
#~ msgid "Thumbnail only"
#~ msgstr "Тек үлгі"
#~ msgid "Application icon only"
#~ msgstr "Тек қолданба таңбашасы"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Үлгі және қолданба таңбашасы"
#~ msgid "Present windows as"
#~ msgstr "Терезелерді қалайша ұсыну"
#~ msgid "Activities Overview"
#~ msgstr "Шолу көрінісі"
#~ msgid "Hello, world!"
#~ msgstr "Сәлем, әлем!"
#~ msgid "Alternative greeting text."
#~ msgstr "Альтернативті сәлемдесу мәтіні."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды."
#~ msgid "Message"
#~ msgstr "Хабарлама"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message."
#~ msgstr ""
#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау "
#~ "керек екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n"
#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады."
#~ msgid "GNOME Shell Classic"
#~ msgstr "Классикалық GNOME Shell"
#~ msgid "Window management and application launching"
#~ msgstr "Терезелерді басқару және қолданбаларды жөнелту"
# Kazakh translation for gnome-shell-extensions.
# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2013-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2026-01-11 23:01+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk@li.org>\n"
"Language: kk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.8\n"
#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "Классикалық GNOME"
#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Бұл сессия арқылы классикалық GNOME ішіне кіресіз"
#: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland"
msgstr "Wayland негізіндегі классикалық GNOME"
#: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg"
msgstr "Xorg негізіндегі классикалық GNOME"
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Таңдамалылар"
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Қолданбалар"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list"
msgstr "Қолданба және жұмыс орындар тізімі"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Жолдар тізімі, әрқайсысы қолданба анықтағышын сақтайды (desktop файлының аты), "
"соңында үтір және жұмыс орнының нөмірі тұрады"
#: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules"
msgstr "Жұмыс орын ережелері"
#: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule"
msgstr "Ережені қосу"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "\"%s\" жетегін шығару сәтсіз аяқталды:"
#: extensions/drive-menu/extension.js:142
msgid "Removable devices"
msgstr "Алынатын құрылғылар"
#: extensions/drive-menu/extension.js:164
msgid "Open Files"
msgstr "Файлдарды ашу"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows"
msgstr "Терезелер үшін көбірек экранды қолдану"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. This "
"setting applies only with the natural placement strategy."
msgstr ""
"Терезелер үлгілерін орналастыру кезінде экран жақтарының арақатынасын есепке "
"алып, көбірек экран орнын қолдануға тырысу, және шектеу қоршамын азайту "
"мақсатында оларды әрі қарай да жинастыру. Бұл баптау тек табиғи орналастыру "
"ережесімен іске асады."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
msgstr "Терезелер атауларын жоғарыға орналастыру"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"True болса, терезе атауларын сәйкес келетін үлгінің үстіне орналастыру, үнсіз "
"келісім бойынша астына орналастырудың орнына. Бұл баптау іске асыру үшін "
"қоршамды қайта іске қосу керек."
#: extensions/places-menu/extension.js:75 extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Орындар"
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "\"%s\" жөнелту сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "\"%s\" үшін томды тіркеу сәтсіз аяқталды"
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Үй бумасы"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Жуырдағы"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Жұлдызшаланған"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Желі"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Қоқыс шелегі"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
msgstr "Скриншоттар өлшемдерін ауыстырып көрсету"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward"
msgstr "Скриншоттар өлшемдерін кері ретпен ауыстырып көрсету"
#: extensions/system-monitor/extension.js:135
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:365
msgid "System stats"
msgstr "Жүйе статистикасы"
#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Көрсету"
#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "Процессор"
#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Жады"
#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Своп"
#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Жүктеп салу"
#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Жүктеп алу"
#: extensions/system-monitor/extension.js:428
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"
msgstr "Тема атауы"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Тема атауы, ~/.themes/name/gnome-shell ішінен алынады"
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Жабу"
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Қайырылған емес қылу"
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Қайыру"
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Жазық емес қылу"
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Жазық қылу"
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Барлығын қайыру"
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Барлығын қайырылған емес қылу"
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Барлығын жазық қылу"
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Барлығын жазық емес қылу"
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Барлығын жабу"
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Терезелер тізімі"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows"
msgstr "Терезелерді қашан топтау керек"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Терезелер тізімінде бір қолданбаның терезелерін қашан топтау керек екенін "
"сипаттайды. Мүмкін мәндері: \"never\", \"auto\" және \"always\"."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Барлық жұмыс орнындарынан терезелерді көрсету"
#: 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."
msgstr ""
"Ашық терезелерді тек барлық жұмыс орындарынан ба, әлде тек ағымдағысынан ба "
"көрсету керек."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
msgstr "Терезелер тізімін барлық мониторларда көрсету"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
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:41
msgid "Window Grouping"
msgstr "Терезелерді топтау"
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Терезелерді ешқашан топтамау"
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Терезелерді орын шектелген кезде топтау"
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Терезелерді әрқашан топтау"
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
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:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Түзету үшін %s басыңыз"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Баптаулар"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator"
msgstr "Жұмыс орын индикаторы"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Индикатор"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Алдын ала қараулар"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Жұмыс орнының атауы"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Мінез-құлқы"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Динамикалық"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Бос жұмыс орындарын автоматты түрде өшіреді."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Бекітілген саны"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Тұрақты жұмыс орындарының санын көрсетіңіз."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Жұмыс орындарының саны"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Жұмыс орындары"
#~ msgid "Computer"
#~ msgstr "Компьютер"
#~ msgid "Applications"
#~ msgstr "Қолданбалар"
#~ msgid "Application"
#~ msgstr "Қолданба"
#~ msgid "Create new matching rule"
#~ msgstr "Жаңа сәйкес келетін ережені жасау"
#~ msgid "Add"
#~ msgstr "Қосу"
#~ msgid "Name"
#~ msgstr "Атауы"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Модальді сұхбаттарды аталық терезесіне жалғау"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.mutter кілтін үстінен басады."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Атау жолағындағы батырмалар орналасуы"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
#~ "GNOME Shell."
#~ msgstr ""
#~ "Бұл кілт GNOME Shell орындау кезінде org.gnome.desktop.wm.preferences "
#~ "кілтін үстінен жазады."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr ""
#~ "Терезелерді экран шеттеріне апарған кезде олардың өлшемдерін өзгертуді іске "
#~ "қосу"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Жұмыс орындары тек біріншілік мониторда"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr "Тышқан режиміндегі фокусты ауыстыру курсор тоқтағанша дейін кідірту"
#~ msgid "Thumbnail only"
#~ msgstr "Тек үлгі"
#~ msgid "Application icon only"
#~ msgstr "Тек қолданба таңбашасы"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Үлгі және қолданба таңбашасы"
#~ msgid "Present windows as"
#~ msgstr "Терезелерді қалайша ұсыну"
#~ msgid "Activities Overview"
#~ msgstr "Шолу көрінісі"
#~ msgid "Hello, world!"
#~ msgstr "Сәлем, әлем!"
#~ msgid "Alternative greeting text."
#~ msgstr "Альтернативті сәлемдесу мәтіні."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on the "
#~ "panel."
#~ msgstr "Бос болмаса, панельге шерту кезінде көрсетілетін мәтінді сақтайды."
#~ msgid "Message"
#~ msgstr "Хабарлама"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell and "
#~ "as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message."
#~ msgstr ""
#~ "Бұл мысал Shell үшін тиянақты жұмыс жасайтын кеңейтулерді қалай жасау керек "
#~ "екенін көрсетуге тырысады, сондықтан оның өз мүмкіндіктері аз.\n"
#~ "Сонда да сәлемдесу хабарламасын өзгертуге болады."
#~ msgid "GNOME Shell Classic"
#~ msgstr "Классикалық GNOME Shell"
#~ msgid "Window management and application launching"
#~ msgstr "Терезелерді басқару және қолданбаларды жөнелту"

133
po/pt.po
View File

@@ -16,16 +16,16 @@ msgstr ""
"Project-Id-Version: 3.14\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-03-14 00:48+0000\n"
"PO-Revision-Date: 2025-03-29 14:52+0000\n"
"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
"POT-Creation-Date: 2025-11-05 13:44+0000\n"
"PO-Revision-Date: 2025-12-30 23:18+0000\n"
"Last-Translator: hugokarvalho@hotmail.com <Hugo Carvalho>\n"
"Language-Team: Portuguese (https://l10n.gnome.org/teams/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
"X-Generator: Poedit 3.8\n"
"X-Project-Style: gnome\n"
"X-DL-Team: pt\n"
"X-DL-Module: gnome-shell-extensions\n"
@@ -33,20 +33,20 @@ msgstr ""
"X-DL-Domain: po\n"
"X-DL-State: Translating\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:2
msgid "GNOME Classic"
msgstr "GNOME clássico"
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
#: data/gnome-classic.desktop.in:3 data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:3
msgid "This session logs you into GNOME Classic"
msgstr "Esta sessão vai usar o GNOME clássico"
#: data/gnome-classic-wayland.desktop.in:3
#: data/gnome-classic-wayland.desktop.in:2
msgid "GNOME Classic on Wayland"
msgstr "GNOME clássico em Wayland"
#: data/gnome-classic-xorg.desktop.in:3
#: data/gnome-classic-xorg.desktop.in:2
msgid "GNOME Classic on Xorg"
msgstr "GNOME clássico em Xorg"
@@ -70,11 +70,11 @@ msgstr ""
"Uma lista de cadeias, cada uma contendo uma id de aplicação (nome do "
"ficheiro desktop), seguido de dois pontos e o número da área de trabalho"
#: extensions/auto-move-windows/prefs.js:156
#: extensions/auto-move-windows/prefs.js:157
msgid "Workspace Rules"
msgstr "Regras das áreas de trabalho"
#: extensions/auto-move-windows/prefs.js:311
#: extensions/auto-move-windows/prefs.js:312
msgid "Add Rule"
msgstr "Adicionar regra"
@@ -185,35 +185,35 @@ msgstr "Estatísticas de envio"
msgid "Download stats"
msgstr "Estatísticas de transferência"
#: extensions/system-monitor/extension.js:364
#: extensions/system-monitor/extension.js:365
msgid "System stats"
msgstr "Estatísticas do sistema"
#: extensions/system-monitor/extension.js:412
#: extensions/system-monitor/extension.js:413
msgid "Show"
msgstr "Mostrar"
#: extensions/system-monitor/extension.js:414
#: extensions/system-monitor/extension.js:415
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
#: extensions/system-monitor/extension.js:417
msgid "Memory"
msgstr "Memória"
#: extensions/system-monitor/extension.js:418
#: extensions/system-monitor/extension.js:419
msgid "Swap"
msgstr "Swap"
#: extensions/system-monitor/extension.js:420
#: extensions/system-monitor/extension.js:421
msgid "Upload"
msgstr "Envio"
#: extensions/system-monitor/extension.js:422
#: extensions/system-monitor/extension.js:423
msgid "Download"
msgstr "Transferência"
#: extensions/system-monitor/extension.js:427
#: extensions/system-monitor/extension.js:428
msgid "Open System Monitor"
msgstr "Abrir monitor do sistema"
@@ -245,47 +245,47 @@ msgstr "Nome do tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "O nome do tema, a ser carregado de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Fechar"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Repor"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Diminuir"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Minimizar tudo"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Repor tudo"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Maximizar tudo"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Diminuir tudo"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Fechar tudo"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Lista de janelas"
@@ -351,35 +351,69 @@ msgstr "Mostrar em todos os monitores"
msgid "Show workspace previews in top bar"
msgstr "Mostrar pré-visualizações de áreas de trabalho na barra superior"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Prima %s para editar"
#: extensions/workspace-indicator/workspaceIndicator.js:518
msgid "Settings"
msgstr "Definições"
#: extensions/workspace-indicator/workspaceIndicator.js:598
msgid "Workspace Indicator"
msgstr "Indicador de área de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "Mostrar pré-visualizações"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Indicador"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "Área de trabalho %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Pré-visualizações"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "Nomes das áreas de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Nome da área de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "Adicionar área de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Comportamento"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "Remover"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dinâmico"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Remove automaticamente áreas de trabalho vazias."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Número fixo"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Especifique um número de áreas de trabalho permanentes."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Número de áreas de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Áreas de trabalho"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Área de trabalho %d"
#~ msgid "Add Workspace"
#~ msgstr "Adicionar área de trabalho"
#~ msgid "Remove"
#~ msgstr "Remover"
#~ msgid "Computer"
#~ msgstr "Computador"
@@ -513,6 +547,3 @@ msgstr "Áreas de trabalho"
#~ msgid "Display"
#~ msgstr "Apresentar"
#~ msgid "Display Settings"
#~ msgstr "Definições de Visualização"

View File

@@ -20,6 +20,9 @@ export default defineConfig([
afterColon: true,
}],
'prefer-arrow-callback': 'error',
'prefer-const': ['error', {
destructuring: 'all',
}],
'jsdoc/require-param-description': 'off',
'jsdoc/require-jsdoc': ['error', {
exemptEmptyFunctions: true,

BIN
tools/package-lock.json generated

Binary file not shown.

View File

@@ -8,7 +8,8 @@
"lint": "cd .. && ci-run-eslint"
},
"dependencies": {
"ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git",
"eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git"
"ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git#f94b653606476d151439793ab8a8a93aa4a146de",
"eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git#c479d059e8d9ea99c3b53c2ea43abf7fdb05eb51",
"eslint-formatter-junit": "^9.0.1"
}
}

View File

@@ -3,6 +3,10 @@
# SPDX-FileCopyrightText: 2020 Philip Chimento <philip.chimento@gmail.com>
# SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org>
cd $(dirname -- "$0")
srcdir=$(dirname -- "$0")
cd $srcdir
[ ! -d node_modules ] && npm clean-install
# Link in project root to make imports work properly
[ ! -e ../node_modules ] && ln -s $srcdir/node_modules ../node_modules
npm run lint -- "$@"