Compare commits

...
Author SHA1 Message Date
Jeremy Bícha ad443ba451 releasing package gnome-shell-extensions version 47.3-1 2025-01-14 10:13:04 -05:00
Jeremy Bícha d920760706 Opt into dpkg build API v1 2025-01-14 10:12:27 -05:00
Jeremy Bícha 3bdb4d72b4 New upstream release 2025-01-14 10:04:29 -05:00
Jeremy Bícha cef7e3fbcd Update upstream source from tag 'upstream/47.3'
Update to upstream version '47.3'
with Debian dir 7d59b581e4
2025-01-14 10:04:29 -05:00
Jeremy Bícha 0deab770e3 New upstream version 47.3 2025-01-14 10:04:25 -05: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 8a7871b926 releasing package gnome-shell-extensions version 47.2-1 2024-11-25 13:48:51 -05:00
Jeremy Bícha 0e1895d7b7 New upstream release 2024-11-25 13:48:37 -05:00
Jeremy Bícha d1422ddb33 Update upstream source from tag 'upstream/47.2'
Update to upstream version '47.2'
with Debian dir 8d5f4aad9b
2024-11-25 13:48:36 -05: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 697380130b releasing package gnome-shell-extensions version 47.1-1 2024-10-30 12:46:01 +01:00
Jeremy Bícha ec0eb48131 Bump minimum meson to 1.1.0 2024-10-30 12:44:34 +01:00
Jeremy Bícha 54390185c8 New upstream release 2024-10-30 12:44:04 +01:00
Jeremy Bícha 9c56e9c515 Update upstream source from tag 'upstream/47.1'
Update to upstream version '47.1'
with Debian dir dafbb07580
2024-10-30 12:44:04 +01: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 68e66259e2 releasing package gnome-shell-extensions version 47.0-3 2024-10-17 08:12:07 -04:00
Jeremy Bícha 75184584b9 Have system-monitor extension depend on gir1.2-gtop-2.0
Closes: #1085240
2024-10-17 08:10:45 -04:00
Jeremy Bícha a8e15a36af releasing package gnome-shell-extensions version 47.0-2 2024-10-04 19:26:15 -04:00
Jeremy Bícha 6521bbf9b9 releasing package gnome-shell-extensions version 47.0-1 2024-09-14 20:13:55 -04:00
Jeremy Bícha dfa173cdfc Remove obsolete gnome-session-classic shell wrapper hack
Closes: #726065
2024-09-14 20:13:54 -04:00
Jeremy Bícha da954b9b63 Have gnome-classic Depend on gnome-session for now
Unfortunately I can't login without this package
installed
2024-09-14 20:13:54 -04:00
Jeremy Bícha ad69a39c68 Split extensions into separate packages (Closes: #1081798)
Add gnome-classic package as alternative to gnome-session
to install GNOME Shell, the GNOME Classic session files,
and the extensions it needs (Closes: #777538)

Add gnome-classic-xsession package for the GNOME Classic on Xorg
session.

Gbp-Dch: Full
2024-09-14 20:13:51 -04:00
Jeremy Bícha ca523c03e6 Update debian/copyright 2024-09-14 20:13:45 -04:00
Jeremy Bícha 9386aa35a7 New upstream release 2024-09-14 19:26:30 -04:00
Jeremy Bícha 13fa15ba61 Update upstream source from tag 'upstream/47.0'
Update to upstream version '47.0'
with Debian dir b0b43d7a1d
2024-09-14 19:26:30 -04:00
Jeremy Bícha ec3382c6ae New upstream version 47.0 2024-09-14 19:26:26 -04:00
Florian Müllner 2716cb0b98 Bump version to 47.0
Update NEWS.
2024-09-14 18:48:33 +02:00
Irénée THIRION 6048971663 Update French translation 2024-09-12 13:06:50 +00:00
Rūdolfs Mazurs 04cab9954b Update Latvian translation 2024-09-10 19:45:49 +00:00
Dušan Kazik cbb622a099 Update Slovak translation 2024-09-10 10:45:22 +00:00
Aefgh Threenine f3b505867f Update Thai translation 2024-09-10 09:19:08 +00:00
Ask Hjorth Larsen 7bee509ecd Update Danish translation 2024-09-08 17:01:48 +00:00
Andi Chandler b6ac158139 Update British English translation 2024-09-08 13:02:41 +00:00
Jeremy Bícha 862f6e7845 releasing package gnome-shell-extensions version 47~rc-1 2024-09-04 10:27:00 -04:00
Jeremy Bícha 64b9c0d057 New upstream release 2024-09-04 10:26:11 -04:00
Jeremy Bícha 94e90731ad New upstream version 47~rc 2024-09-04 10:26:10 -04:00
Jeremy Bícha ba61172de0 Update upstream source from tag 'upstream/47_rc'
Update to upstream version '47~rc'
with Debian dir 7ee95bb06b
2024-09-04 10:26:10 -04:00
Jeremy Bícha e3256255a4 Remove obsolete Files-Excluded 2024-09-04 10:25:39 -04:00
Andika Triwidada 9af1a79434 Update Indonesian translation 2024-09-03 23:36:50 +00:00
Daniel fa9e2dc71c Updated Spanish translation 2024-09-03 11:26:45 +02:00
Aurimas Černius e94f10ac16 Update Lithuanian translation 2024-09-02 19:41:25 +00:00
Fran Dieguez 0319c6e8cb Update Galician translation 2024-09-02 18:16:21 +00:00
Alexander Shopov fe1ae49dbe Update Bulgarian translation 2024-09-02 08:50:17 +00:00
twlvnn kraftwerk 353598e6d8 Update Bulgarian translation
(cherry picked from commit a99515feef)
2024-09-02 08:47:25 +00:00
Florian Müllner 36266e5a5a Bump version to 47.rc
Update NEWS.
2024-09-01 13:55:50 +02:00
Florian Müllner f7a371c0bf ci: Update ci-fairy include 2024-09-01 13:55:50 +02:00
Sabri Ünal 018815d9e9 Update Turkish translation 2024-09-01 11:09:10 +00:00
Piotr Drąg 82fd82b30c Update Polish translation 2024-08-31 13:42:26 +00:00
Daniel Șerbănescu 26f5e23faa Update Romanian translation 2024-08-30 14:12:48 +00:00
Hugo Carvalho 0989cb3836 Update Portuguese translation 2024-08-30 10:28:12 +00:00
Changwoo Ryu c55df7c239 Update Korean translation 2024-08-29 23:33:05 +00:00
Jürgen Benvenuti 9a840c437c Update German translation 2024-08-29 18:07:10 +00:00
Anders Jonsson f33a833f7c Update Swedish translation 2024-08-29 11:18:17 +00:00
Quentin PAGÈS 7c284b6bdc Update Occitan translation 2024-08-27 08:35:49 +00:00
Rafael Fontenelle 6af5cbe4e0 Update Brazilian Portuguese translation 2024-08-26 15:50:33 +00:00
Danial Behzadi 5d6c2a3008 Update Persian translation 2024-08-26 08:50:08 +00:00
Asier Sarasua Garmendia 7ffe7b9aec Update Basque translation 2024-08-25 08:19:43 +00:00
Brage Fuglseth 2e912861f1 Update Norwegian Bokmål translation 2024-08-24 20:22:09 +00:00
Brage Fuglseth f8ac973802 Update Norwegian Bokmål translation 2024-08-24 20:03:23 +00:00
Luming Zh 5bb15ae1cf Update Chinese (China) translation 2024-08-24 05:32:51 +00:00
Vasil Pupkin 34f379f6c7 Update Belarusian translation 2024-08-23 13:00:34 +00:00
Daniel Rusek 14d6920dd3 Update Czech translation 2024-08-23 12:32:38 +00:00
Jiri Grönroos 3d1c253369 Update Finnish translation 2024-08-23 11:07:46 +00:00
Yuri Chornoivan b5dd68d6f2 Update Ukrainian translation 2024-08-23 09:33:47 +00:00
Jordi Mas i Hernandez 93c2c408be Update Catalan translation 2024-08-20 05:40:09 +00:00
Ekaterine Papava c2c57c8e29 Update Georgian translation 2024-08-17 05:19:11 +00:00
Sophie Herold 9432ae260b doap: Remove marge-bot maintainer entry
marge-bot has had GNOME wide Developer access for a while, which should be sufficient.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/333>
2024-08-15 13:22:36 +00:00
Giannis Antypas 69f3132f4c Update Greek translation
(cherry picked from commit 7953cd130d)
2024-08-12 20:30:46 +00:00
Jeremy Bícha b1326b1fd7 releasing package gnome-shell-extensions version 47~beta-1 2024-08-06 15:06:46 -04:00
Jeremy Bícha 39f4a16cfc Bump Standards Version to 4.7.0 2024-08-06 15:06:27 -04:00
Jeremy Bícha dc8575ac89 Temporarily avoid installing the new status-icons extension
to avoid one extra breaks/replaces when I try to split
this into separate binary packages
2024-08-06 15:05:35 -04:00
Jeremy Bícha 2d56420241 New upstream release 2024-08-06 07:52:30 -04:00
Jeremy Bícha 3a32323337 Update upstream source from tag 'upstream/47_beta'
Update to upstream version '47~beta'
with Debian dir 0a144d60cf
2024-08-06 07:52:29 -04:00
Jeremy Bícha 1b0637abc0 New upstream version 47~beta 2024-08-06 07:52:24 -04:00
Daniel Șerbănescu 4ccffbb27d Update Romanian translation
(cherry picked from commit 75b1ea879b)
2024-08-05 20:05:46 +00:00
Florian Müllner 8a9aa6a818 Bump version to 47.beta
Update NEWS.
2024-08-03 19:51:04 +02:00
Jeremy Bícha bd0e0db372 releasing package gnome-shell-extensions version 46.2-3 2024-08-01 08:57:15 -04:00
Jeremy Bícha 2d8cc4c0fb Add Breaks/Replaces gnome-shell-extension-system-monitor
because gnome-shell-extensions now provides this extension
and the gsettings schema

Closes: #1077748
Gbp-Dch: Full
2024-08-01 08:55:50 -04:00
Florian Müllner 017c6470b9 workspace-indicator: Re-fittsify workspace previews
For the window-list extension, it is important that the workspace
previews extend to the bottom edge for easier click targets.

That broke while merging the code with the workspace-indicator,
fix it again by moving the padding from the parent box into the
thumbnail children.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/327>
2024-07-31 15:01:08 +00:00
Florian Müllner 1e25fc1b5a status-icons: Add new extension
Based on an original "top-icons" extension by Adel Gadllah that
is no longer maintained.

The code has been heavily simplified and modernised, and adapted
to integrate into the top bar more seemlessly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/194>
2024-07-31 14:42:55 +00:00
Jakub Steiner e28215f38f window-list: Update styling
- Contemporary look. Fewer borders, thinner outlines for workspace indicators
- Lacks the designed unfocused window separators.
- Relies on https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/328

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/330>
2024-07-31 14:37:31 +00:00
Florian Müllner 8d06bc8b64 ci: Bump image
node occasionally fails with an "Illegal instruction" error,
which hopefully has been fixed by a package update.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/331>
2024-07-31 15:49:22 +02:00
Chao-Hsiung Liao 9e475cb279 Update Chinese (Taiwan) translation
(cherry picked from commit b89a93a4fc)
2024-07-24 10:26:16 +00:00
Sabri Ünal cbbb2d2869 Update Turkish translation 2024-07-19 15:12:16 +00:00
Jeremy Bícha f6157394d3 releasing package gnome-shell-extensions version 46.2-2 2024-07-12 18:34:15 -04:00
Florian Müllner c72b8b2122 window-list: Fix .focused styling
Commit 039c66e7b7 wrapped the button in a container to
animate transitions, but didn't adjust the `.focused`
styling to still apply to the button (where it is
expected) rather than the wrapper.

Fix that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/328>
2024-07-13 00:11:19 +02:00
Florian Müllner c302db7545 Bump version to 47.alpha
Update NEWS.
2024-06-29 14:11:12 +02:00
Florian Müllner 0554a8e97d window-list: Replace custom tooltip implementation
DashItemContainer already has support for showing a tooltip-like
label, so now that we use that for animating items, we can use
it for tooltips as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner 039c66e7b7 window-list: Animate buttons in and out
Buttons are currently added and removed from the list without
any transitions, which gives the list a "jumpy" feel. Instead,
do what we do elsewhere and smoothly animate additions and
removals by re-using the dash's ItemContainer class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner 7eb00e350e window-list: Don't hide window button while unmanaging
This will allow to animate the transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner f76f9e8220 window-list: Don't use homogeneous layout
We want all buttons in the window list to have the same size,
but that's already achieved via max/natural-width in the CSS.

Not enforcing the equal size via the layout manager will allow
buttons to temporarily have a different size when we start
animating additions and removals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:13:12 +02:00
Balázs Úr 17c963b63f Update Hungarian translation 2024-06-28 14:25:44 +00:00
Yosef Or Boczko 5d45a697ce Update Hebrew translation 2024-06-28 07:34:33 +00:00
Милош Поповић ef729f2d66 Update Serbian translation 2024-06-20 15:00:07 +00:00
Jeremy Bícha 87bfb01642 releasing package gnome-shell-extensions version 46.2-1 2024-05-28 16:19:40 -04:00
Jeremy Bícha c74ab7aa23 New upstream release 2024-05-28 16:19:27 -04:00
Jeremy Bícha 48b00e6a0a Update upstream source from tag 'upstream/46.2'
Update to upstream version '46.2'
with Debian dir b698465cef
2024-05-28 16:19:27 -04:00
Jeremy Bícha 6b2f4e801e New upstream version 46.2 2024-05-28 16:19:26 -04:00
Artur S0 1394e82bd0 Update Russian translation 2024-05-27 10:19:22 +00: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 9e61aaf08c Update Hindi translation 2024-05-25 17:17:19 +00:00
Scrambled 777 ae00cf6b4e Update Hindi translation 2024-05-25 17:01:54 +00:00
Florian Müllner 6ac76140a5 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-24 15:18:59 +02:00
Florian Müllner 8c014a6b1d 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-24 15:18:59 +02: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
Scrambled 777 2fe844f412 Update Hindi translation 2024-05-12 13:44:51 +00:00
Jose Riha 8185b43d54 Update Slovak translation
(cherry picked from commit 1219dfc144)
2024-05-11 22:19:20 +00:00
Jose Riha 1219dfc144 Update Slovak translation 2024-05-11 22:19:15 +00:00
Hugo Carvalho 59ab3f834d Update Portuguese translation
(cherry picked from commit dd16556530)
2024-05-04 23:22:30 +00:00
Hugo Carvalho dd16556530 Update Portuguese translation 2024-05-04 23:22:24 +00:00
Martin 8b6835c3d6 Update Slovenian translation 2024-05-01 22:12:17 +00:00
Florian Müllner bb5bb70ac5 Update POTFILES.in
The file is now copied at build time from the workspace-indicator
extension.

Fixes: 0c42f162 ("window-list: Use actual copy of workspace-indicator")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/321>
2024-04-29 16:49:30 +02:00
Florian Müllner da90d365ec 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>
2024-04-26 15:22:16 +02:00
Florian Müllner 02ff72b2f0 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>
2024-04-25 14:42:53 +00:00
Jordi Mas i Hernandez 9c7a086870 Update Catalan translation 2024-04-25 11:53:01 +00:00
Florian Müllner 24ba03fe96 window-list: Expose workspace preview option
Now that we have the option, the window-list should expose it
in its preference window like the workspace-indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner 69d8d1a335 workspace-indicator: Make previews configurable
Now that previews scroll when there are too many workspaces,
there is no longer a reason for the 6-workspace limit.

However some users do prefer the menu, so rather than drop it,
turn it into a proper preference.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner d495a2eed8 workspace-indicator: Also show previews in menu
Since the regular session also switched to horizontal workspaces,
using a vertical menu has been a bit awkward.

Now that our previews have become more flexible, we can use them
in the collapsed state as well as when embedded into the top bar.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner 6b3990457e workspace-indicator: Stop handling vertical layouts
Both the regular session and GNOME classic use a horizontal layout
nowadays, so it doesn't seem worth to specifically handle vertical
layouts anymore.

The extension will still work when the layout is changed (by some
other extension), there will simply be a mismatch between horizontal
previews and the actual layout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner 099cff0b95 workspace-indicator: Support labels in previews
The space in the top bar is too limited to include the workspace
names. However we'll soon replace the textual menu with a preview
popover. We can use bigger previews there, so we can include the
names to not lose functionality with regards to the current menu.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner fac7fedfd3 workspace-indicator: Handle preview overflow
We currently avoid previews from overflowing in most setups by
artificially limiting them to a maximum of six workspaces.

Add some proper handling to also cover cases where space is more
limited, and to allow removing the restriction in the future.

For that, wrap the previews in an auto-scrolling scroll view
and add overflow indicators on each side.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner 6ed1b56526 workspace-indicator: Split out WorkspacePreviews
The previews will become a bit more complex soon, so spit them out
into a dedicated class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner a2ffb1238f workspace-indicator: Handle active indication in thumbnail
Meta.Workspace has had an `active` property for a while now, so
we can use a property binding instead of tracking the active
workspace ourselves.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner b55e7a4dc8 workspace-indicator: Simplify scroll handling
gnome-shell already includes a method for switching workspaces
via scroll events. Use that instead of implementing our own.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner 0c42f162d3 window-list: Use actual copy of workspace-indicator
We are now at a point where the code from the workspace-indicator
extension is usable from the window-list.

However instead of updating the copy, go one step further and
remove it altogether, and copy the required files at build time.

This ensures that future changes are picked up by both extensions
without duplicating any work.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 01a37c8f26 export-zips: Pick up non-default stylesheets
The window-list extension is about to import the workspace-indicator
stylesheet. Explicitly pack css files, so the stylesheet is included
in the bundle.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 5e88c7d891 workspace-indicator: Support light style
The window-list extension already includes light styling for
its copy of the workspace indicator. Just copy that over to
support the light variant here as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner af23a8491c workspace-indicator: Tweak preview style
Sync sizes and padding with the window-list previews.

Tone down the colors a bit, but less then the current window-list
style where workspaces blend too much into the background and
the selection is unclear.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 32a454f917 workspace-indicator: Include n-workspaces in status label
The two extensions currently use a slightly different label
in menu mode:
The workspace indicator uses the plain workspace number ("2"),
while the window list includes the number of workspaces ("2 / 4").

The additional information seem useful, as well as the slightly
bigger click/touch target, so copy the window-list behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 63ff5b2ac1 workspace-indicator: Simplify getting status text
Currently the same method is used to get the label text for the
indicator itself and for the menu items.

A method that behaves significantly different depending on whether
a parameter is passed is confusing, so only deal with the indicator
label and directly use the mutter API to get the workspace names
for menu items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner a9fff9861b workspace-indicator: Small cleanup
The code to update the menu labels is a bit cleaner in the
window-list extension, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 89a3daf9fe workspace-indicator: Only change top bar redirect when in top bar
While this is always the case for the workspace indicator, adding
the check will allow to use the same code in the window list.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 078a5a01ae workspace-indicator: Support showing tooltips above
The indicator is located in the top bar, so tooltips are always
shown below the previews. However supporting showing tooltips
above previews when space permits allows the same code to be
used in the copy that is included with the window-list extension.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 9c8c3495b6 workspace-indicator: Don't use menu section
We never added anything else to the menu, so we can just operate
on the entire menu instead of an intermediate section.

This removes another difference with the window-list copy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 25e854dde8 workspace-indicator: Use existing property
We already track the current workspace index, use that
instead of getting it from the workspace manager again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 64060ef4c5 workspace-indicator: Don't use SCHEMA/KEY constants
Each constant is only used once, so all they do is disconnect
the actual value from the code that uses it.

The copy in the window-list extension just uses the strings directly,
do the same here.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 9c97f01bc2 window-list: Handle changes to workspace menu
For now the menu is always set at construction time, however this
will change in the future. Prepare for that by handling the
`menu-set` signal, similar to the top bar.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 8693a8a74c window-list: Externally adjust workspace menu
In order to use a PanelMenu.Button in the bottom bar, we have
to tweak its menu a bit.

We currently handle this inside the indicator, but that means the
code diverges from the original code in the workspace-indicator
extension.

Avoid this by using a small subclass that handles the adjustments.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 47c12c6279 window-list: Override base style class
Apply the changes from the last commit to the workspace-indicator
copy, and override the base style class from the extension.

This will eventually allow us to share the exact same code between
the two extensions, but still use individual styling if necessary.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner e96015b9ea workspace-indicator: Allow overriding base style class
This will allow reusing the code from the window-list extension
without limiting the ability to specify styling that only applies
to one of the extensions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner d3debab713 window-list: Use consistent style class prefix
This will eventually allow us to re-use the workspace-indicator
extension without changing anything but the used prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 00045b7396 workspace-indicator: Use descendant style selectors
Add a style class to the indicator itself, and only select
descendant elements. This allows using the briefer class names
from the window-list extension without too much risk of conflicts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 19877302a6 workspace-indicator: Move indicator code into separate file
Shortly after the window-list extension was added, it gained a
workspace switcher based on the workspace indicator extension.

Duplicating the code wasn't a big issue while the switcher was
a simple menu, but since it gained previews with a fair bit of
custom styling, syncing changes between the two extensions has
become tedious, in particular as the two copies have slightly
diverged over time.

In order to allow the two copies to converge again, the indicator
code needs to be separate from the extension boilerplate, so
split out the code into a separate module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner 56a74abb8a window-list: Use more appropriate fallback icon
'icon-missing' is not an actual icon name. It somewhat works
because an invalid icon name will fallback to the correct
'image-missing', however for apps the generic app icon is
a better fallback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/315>
2024-04-24 14:10:41 +00:00
Jeremy Bícha 421abfd1a6 releasing package gnome-shell-extensions version 46.1-2 2024-04-23 17:34:11 -04:00
Jeremy Bícha b836faee4a Add Depends: gir1.2-gtop-2.0 for system monitor extension
LP: #2063267
2024-04-23 17:33:15 -04:00
Jeremy Bícha 48cf148c23 releasing package gnome-shell-extensions version 46.1-1 2024-04-21 16:46:27 -04:00
Jeremy Bícha e566a22f22 New upstream release 2024-04-21 16:44:48 -04:00
Jeremy Bícha 3ea76e3ecc New upstream version 46.1 2024-04-21 16:44:47 -04:00
Jeremy Bícha 0d5685a279 Update upstream source from tag 'upstream/46.1'
Update to upstream version '46.1'
with Debian dir e1d60f69a1
2024-04-21 16:44:47 -04:00
Florian Müllner 78c3957f64 Bump version to 46.1
Update NEWS.
2024-04-21 16:34:14 +02:00
Florian Müllner 38e267ae64 screenshot-window-sizer: Add additional size
1000x700 is the maximum recommended screenshot size on flathub[0]. As
that's a primary use case of the extension, it makes sense to include
the size.

[0] https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines/#reasonable-window-size

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/317>
2024-04-20 14:33:40 +00:00
Fabio Tomat 59899a211d Update Friulian translation 2024-04-16 19:03:09 +00:00
Matheus Polkorny d3348761c3 Update Brazilian Portuguese translation 2024-03-29 11:13:45 +00:00
Rachida SACI 79a01c62bc Update Kabyle translation 2024-03-23 09:11:17 +00:00
Jeremy Bícha d2d5629bdd releasing package gnome-shell-extensions version 46.0-1 2024-03-18 15:30:32 -04:00
Jeremy Bícha f590df238a New upstream release 2024-03-18 15:30:17 -04:00
Jeremy Bícha 7d92287596 Update upstream source from tag 'upstream/46.0'
Update to upstream version '46.0'
with Debian dir ac78a6675d
2024-03-18 15:30:17 -04:00
Jeremy Bícha 9c08df11dc New upstream version 46.0 2024-03-18 15:30:16 -04:00
Florian Müllner e65c561e6f Bump version to 46.0
Update NEWS.
2024-03-16 01:58:46 +01:00
Florian Müllner 6d36da1ce6 system-monitor: Fix net speed
We use different formats for values above and below 10, to only
include a fraction for the latter.

However we use the same factor to determine the format and to
compute the number to format, with the result that values above
10 are off by a factor of 10.

Address this by adding a separate "unitFactor" value for computing
the value.

Spotted by Yannick Daveluy.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/313>
2024-03-16 00:50:59 +00:00
Ask Hjorth Larsen cd9341adf1 Update Danish translation 2024-03-13 17:11:10 +00:00
Changwoo Ryu 13842a012b Update Korean translation 2024-03-13 10:15:22 +00:00
Athmane MOKRAOUI f4f7d2dffb Update Kabyle translation 2024-03-12 11:27:34 +00:00
Quentin PAGÈS 87a5fc42b8 Update Occitan translation 2024-03-12 09:12:03 +00:00
Milo Casagrande f1456002d4 Update Italian translation 2024-03-08 13:39:43 +00:00
Aral Balkan 30266011bf screenshow-window-sizer: Document keyboard shortcuts
Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/492

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/311>
2024-03-06 13:53:50 +01:00
Balázs Úr 5a76dedb50 Update Hungarian translation 2024-03-04 11:35:06 +00:00
Piotr Drąg dc8ab6cf77 Update Polish translation 2024-03-03 19:05:37 +00:00
Anders Jonsson b97efdb584 Update Swedish translation 2024-03-03 15:56:53 +00:00
Florian Müllner a91e6aad87 Bump version to 46.rc
Update NEWS.
2024-03-03 15:39:24 +01:00
Florian Müllner 6f03ca0434 ci: Drop custom image
Since we no longer depend on sassc for classic styling, the
regular JS image from gnome-shell already includes everything
we need for the fedora jobs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/309>
2024-03-03 15:25:24 +01:00
Florian Müllner 7a01e3e103 ci: Update to F40-based image
gnome-shell switched to F40 for its JS image, follow suit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/309>
2024-03-03 15:10:50 +01:00
Jiri Grönroos e539a65709 Update Finnish translation 2024-03-02 15:31:24 +00:00
Daniel Mustieles 2402c1bef5 Updated Spanish translation 2024-02-26 14:10:47 +01:00
Guillaume Bernard 1fd238b31d Update French translation 2024-02-25 12:53:54 +00:00
Rūdolfs Mazurs 21a65c1558 Update Latvian translation 2024-02-25 10:49:23 +00:00
Baurzhan Muftakhidinov f42d1f7ca9 Update Kazakh translation 2024-02-24 18:03:25 +00:00
Brage Fuglseth b77ecb2380 Update Norwegian Bokmål translation 2024-02-24 13:42:23 +00:00
Andi Chandler 4fc80e0ef3 Update British English translation 2024-02-23 12:23:32 +00:00
Fran Dieguez df61f9aadf Update Galician translation 2024-02-23 09:27:53 +00:00
Kukuh Syafaat 7862bfd2aa Update Indonesian translation 2024-02-22 13:20:52 +00:00
Florian Müllner f6c74e93b7 window-list: Replace Meta.Rectangle
It's deprecated in favor of Mtk.Rectangle, which is a drop-in
replacement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/306>
2024-02-22 00:02:40 +00:00
Sabri Ünal 81880982b2 Update Turkish translation 2024-02-21 17:24:56 +00:00
Florian Müllner f53984670c window-list: Fix menu ornament in workspace indicator
The default ornament is now HIDDEN, so in order to align items,
we always have set an initial ornament.

In gnome-shell 46, the expected "counter ornament" to DOT is NO_DOT
rather than NONE, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/305>
2024-02-21 00:07:15 +01:00
Florian Müllner 537530707e workspace-indicator: Fix menu ornament
The default ornament is now HIDDEN, so in order to align items,
we always have set an initial ornament.

In gnome-shell 46, the expected "counter ornament" to DOT is NO_DOT
rather than NONE, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/305>
2024-02-21 00:01:11 +01:00
Boyuan Yang e069f391c7 Update Chinese (China) translation 2024-02-20 14:06:58 +00:00
Florian Müllner b00f5c4604 window-list: Fix window previews
St.Bin no longer expands its child automatically. Unless do we do
explicitly, the preview actor will be allocated with a size of 0x0.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/304>
2024-02-19 19:59:54 +01:00
Florian Müllner a326fa737e workspace-indicator: Fix window previews
St.Bin no longer expands its child automatically. Unless do we do
explicitly, the preview actor will be allocated with a size of 0x0.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/304>
2024-02-19 19:59:54 +01:00
Matej Urbančič fcd5618321 Update Slovenian translation 2024-02-19 10:08:02 +00:00
Aurimas Černius 55e085894a Update Lithuanian translation 2024-02-18 20:38:56 +00:00
Nathan Follens 801ba69f54 Update Dutch translation 2024-02-18 16:18:10 +00:00
Brage Fuglseth abdd839073 Update Norwegian Bokmål translation 2024-02-17 21:46:21 +00:00
Yaron Shahrabani 24a5c5fd4e Update Hebrew translation 2024-02-16 22:15:45 +00:00
Asier Sarasua Garmendia 6d49de36a8 Update Basque translation 2024-02-15 18:10:00 +00:00
Vasil Pupkin ef3c74db8a Update Belarusian translation 2024-02-15 05:28:14 +00:00
Yuri Chornoivan 419b7fad10 Update Ukrainian translation 2024-02-13 17:43:29 +00:00
Artur S0 ad43f16a9a Update Russian translation 2024-02-13 16:33:00 +00:00
Sabri Ünal db8b779859 Update Turkish translation 2024-02-13 13:34:13 +00:00
Ekaterine Papava 67a91f9a1d Update Georgian translation 2024-02-12 17:39:32 +00:00
Danial Behzadi ec95dcd330 Update Persian translation 2024-02-12 16:58:42 +00:00
Danial Behzadi b71ddd1b00 Update Persian translation 2024-02-12 16:48:40 +00:00
Florian Müllner d6ffd7859e Bump version to 46.beta
Update NEWS.
2024-02-11 17:59:16 +01:00
Gabriel Brand ded50f8b01 Update German translation 2024-02-08 16:36:27 +00:00
Daniel Rusek 06066be0a8 Update Czech translation 2024-02-07 14:08:50 +00:00
Florian Müllner fb52f89cc5 system-monitor: Adjust to renamed .desktop file
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/302>
2024-02-06 20:47:44 +01:00
Allan Day 86761952c3 apps-menu: Rename Applications to Apps
Nowadays people call applications apps, and GNOME uses the latter
term rather than the former.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/299>
2024-02-06 19:40:30 +01:00
Sabri Ünal edc916533a Update Turkish translation 2024-02-06 18:25:32 +00:00
Yosef Or Boczko 6a7e99eb81 Update Hebrew translation 2024-02-05 19:49:02 +00:00
Artur S0 8ca1d5f3ee Update Russian translation 2024-02-05 06:31:00 +00:00
Vasil Pupkin a3068dc145 Update Belarusian translation 2024-02-03 22:45:30 +00:00
Florian Müllner 3e9d648078 apps-menu: Stop using deprecated vscroll-bar property
The adjustments are now exposed by the view itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Florian Müllner 3e398b9a2f apps-menu: Stop setting scroll policy
The defaults are now "automatic" for vertical scrolling and "never"
for horizontal scrolling, so no need to set that explicitly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Florian Müllner 3fb756687b apps-menu: Remove obsolete code
There hasn't been a `passEvents` property on menus since 2011.

Not that it hurts setting it, but it simply doesn't do anything.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Aefgh Threenine 93fb1a6496 Update Thai translation 2024-02-02 08:50:43 +00:00
Florian Müllner dfa328a769 ci: Do not create pipelines for branches with open MRs
Pipelines for non-protected branches are set to 'manual', and
thus cheap. However they may still get picked by `@marge-bot`,
meaning that the bot waits for the completion of a pipeline that
never starts.

Avoid that by not creating pipelines for branches with open
merge requests.

Credit to Jordan, who came up with this for gst.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/300>
2024-02-01 16:18:03 +01:00
Fran Dieguez 90b59b6753 Update Galician translation 2024-01-23 21:19:29 +00:00
Daniel Rusek 121c9d891b Update Czech translation 2024-01-22 14:28:45 +00:00
Gabriel Brand e6a8046d33 Update German translation 2024-01-19 22:38:30 +00:00
Florian Müllner 3cd964e60d system-monitor: Fix POTFILES entry
The gsettings schema is in a subdirectory, whoops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/297>
2024-01-13 18:45:55 +01:00
Florian Müllner fa8866d627 ci: Check for missing entries in POTFILES
It is a common mistake to add new translatable strings without
adding the corresponding file to POTFILES. At least for JS sources,
we have a tool we can use to catch these errors during CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner bf3cb76766 ci: Update default image
We are using a fairly outdated image by now, update to the latest
image that gnome-shell produces.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner 25d02d17d2 system-monitor: Add missing files to POTFILES
The files contain translatable strings, but were not added to
POTFILES, whoops.

Spotted by Piotr (of course).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner ffcbf03c9c Bump version to 46.alpha
Update NEWS.
2024-01-06 22:16:52 +01:00
Jeremy Bícha fc5611719d releasing package gnome-shell-extensions version 45.2-2 2023-12-05 12:07:54 -05:00
Jeremy Bícha ad69ee299f Restore required dh-sequence-gnome build dependency 2023-12-05 12:07:07 -05:00
Jeremy Bícha b912f8cd0b releasing package gnome-shell-extensions version 45.2-1 2023-12-05 10:05:36 -05:00
Jeremy Bícha e5f43e9a90 Update standards version to 4.6.2, no changes needed.
Changes-By: lintian-brush
Fixes: lintian: out-of-date-standards-version
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html
2023-12-05 10:05:15 -05:00
Jeremy Bícha 2b7bb1798a Set upstream metadata fields: Bug-Database, Bug-Submit.
Changes-By: lintian-brush
2023-12-05 10:05:15 -05:00
Jeremy Bícha 8250b82869 Stop using debian/control.in and dh-sequence-gnome 2023-12-05 10:04:41 -05:00
Jeremy Bícha e4183488d9 New upstream version 45.2 2023-12-05 10:03:40 -05:00
Jeremy Bícha 101ca9c738 New upstream release 2023-12-05 10:03:40 -05:00
Jeremy Bícha 7ecee1c9e6 Update upstream source from tag 'upstream/45.2'
Update to upstream version '45.2'
with Debian dir 427736dd01
2023-12-05 10:03:40 -05:00
Florian Müllner 1d7f37f420 system-monitor: Add new extension
A long time ago, we used to include a system monitor extension,
that added CPU/memory graphs to the (long gone) message tray.

However demand for this type of extensions hasn't died down, to the
point where RHEL includes a revived version of the old extension.

Account for that demand by adding a newly written system-monitor
extension that has been properly designed, and hopefully does not
bring back the CPU/memory issues of the previous one (unlikely
without the graphs) …

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/277>
2023-12-04 13:20:13 +01: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
Florian Müllner 30a15387b5 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>
2023-12-01 19:14:26 +01:00
Florian Müllner b5b841dd38 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>
2023-12-01 19:13:42 +01:00
Florian Müllner 5f2b199627 Revert "workspace-indicator: Only initialize preview visibility on map"
It is not possible to unmap an actor from within the map vfunc,
so the fix broke the initial visibility again.

This reverts commit 25a75e1b0e.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:11:42 +01:00
Florian Müllner 071584621e 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>
2023-12-01 19:10:08 +01:00
Florian Müllner 5c57f44838 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>
2023-12-01 19:09:30 +01:00
Florian Müllner 93741e9e1c Revert "window-list: Only initialize preview visibility on map"
It is not possible to unmap an actor from within the map vfunc,
so the fix broke the initial visibility again.

This reverts commit 8b7cfff558.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:09:30 +01:00
Florian Müllner 836f81f2e2 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 12:34:20 +00:00
Florian Müllner 574638328e 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 12:34:20 +00:00
Jonas Ådahl e0750db1bd Mark session file as X-GDM-CanRunHeadless=true
This will make it possible to launch the session headlessly for
remote-only access.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/289>
2023-11-30 20:41:58 +00:00
Florian Müllner 5652182fb3 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>
2023-11-23 21:20:56 +01:00
Florian Müllner c3cbef19ac 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>
2023-11-23 21:15:51 +01:00
Florian Müllner 8c8f990a28 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>
2023-11-23 21:13:30 +01:00
Florian Müllner f6a6bdda99 apps-menu: Adjust to events API changes
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
2023-11-23 14:25:57 +01:00
Florian Müllner 0d5d06fdd7 apps-menu: Adjust to ClutterContainer removal
The `actor-added` signal got renamed to `child-added` when
moving it to ClutterActor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/288>
2023-11-14 16:26:06 +00:00
Florian Müllner d10b98c4fc extensions: Stop using ClutterContainer API
The methods have long been deprecated in favor of the equivalent
ClutterActor methods, so use the latter instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/288>
2023-11-14 16:26:06 +00:00
Florian Müllner 8b7cfff558 window-list: Only initialize preview visibility on map
The check whether the window overlaps with the monitor the actor
is on requires the actor to be added to the stage first, so delay
the initial visibility update that was added in commit f576f1b1b6.

Fixes: f576f1b1 ("window-list: Initialize preview visibility")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/286>
2023-11-08 16:36:59 +00:00
Florian Müllner 25a75e1b0e workspace-indicator: Only initialize preview visibility on map
The check whether the window overlaps with the monitor the actor
is on requires the actor to be added to the stage first, so delay
the initial visibility update that was added in commit b9d2a445b2.

Fixes: b9d2a445 ("workspace-indicator: Initialize preview visibility")
Closes:
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/469

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/286>
2023-11-08 16:36:59 +00:00
Florian Müllner 91a1b8245b window-list: Remove window picker
Now that the overview is available again in the classic session,
the window picker that used to replace it is unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/287>
2023-11-07 17:43:18 +01:00
Florian Müllner 4abde90e82 classic: Reenable overview
Since we disabled the overview in the classic session, gnome-shell
switched to a horizontal workspace layout and replaced the activities
button with an indicator.

Those are big enough changes to reevaluate the decision, so remove
the delta with the regular session and turn it back on.

This reverts commit 82d2011061.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/287>
2023-11-07 16:38:37 +01:00
Jeremy Bícha abf3365cc2 releasing package gnome-shell-extensions version 45.1-1 2023-11-04 12:31:37 +02:00
Jeremy Bícha 1e254c1723 New upstream release 2023-11-04 12:30:48 +02:00
Jeremy Bícha 0676c02419 Update upstream source from tag 'upstream/45.1'
Update to upstream version '45.1'
with Debian dir 81d7461a20
2023-11-04 12:30:48 +02: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
Florian Müllner dd8ee2931a 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>
2023-10-24 21:15:06 +02:00
Florian Müllner f530acbf9e 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>
2023-10-24 21:15:06 +02:00
Brage Fuglseth 7d296d2fd2 Update Norwegian Bokmål translation 2023-10-12 20:28:03 +00:00
Florian Müllner fb858ed0e4 window-list: Complete move to connectObject()
Commit 3bfaf6f88a removed the explicit disconnect, but forgot
to use connectObject() to connect the handler.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/459
Fixes: 3bfaf6f8 ("js: Use connectObject()")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/281>
2023-10-09 15:36:39 +02:00
Florian Müllner f576f1b1b6 window-list: Initialize preview visibility
Otherwise we can end up showing window previews in the workspace
thumbnail that shouldn't be visible, if none of the properties we
track for updates changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/280>
2023-09-29 21:35:33 +02:00
Florian Müllner b9d2a445b2 workspace-indicator: Initialize preview visibility
Otherwise we can end up showing windows that shouldn't be visible
if none of the properties we track for updates changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/280>
2023-09-29 21:33:04 +02:00
Florian Müllner 092b268823 drive-menu: Remove left-over signal connection
The handler itself was removed in commit 3bfaf6f88a, so the
code now fails.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/455
Fixes: 3bfaf6f8 ("js: Use connectObject()")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/278>
2023-09-29 12:33:13 +00:00
Kristjan SCHMIDT b64cb0f195 Update Esperanto translation 2023-09-27 20:47:58 +00:00
Florian Müllner 2510bb3625 extensions: Stop using run_dispose()
It is considered bad practice, and mainly a lazy way of disconnecting
signal handlers without tracking individual handler IDs.

We can do better by using connectObject(), which provides the same
level of convenience without the dodginess of getting behind the
garbage collector's back.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/275>
2023-09-26 15:21:41 +00:00
Florian Müllner 4fbd878208 lint: Sync with gnome-shell
gnome-shell itself no longer requires parameter descriptions in
doc comments (just type annotations). The requirement makes even
less sense for extensions, so sync up the configuration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/276>
2023-09-26 14:30:27 +02:00
Florian Müllner e8840da00c doap: Actually remove defunct mailing list
Fixes: e405d09c ("DOAP: Remove defunct mailing list; add Discourse")
2023-09-20 13:30:42 +02:00
Jeremy Bícha 153e100e7e releasing package gnome-shell-extensions version 45.0-1 2023-09-18 08:50:31 -04:00
Jeremy Bícha 3ea3d1a405 releasing package gnome-shell-extensions version 45.0-1 2023-09-18 08:45:49 -04:00
Jeremy Bícha 37de3bfba3 New upstream release 2023-09-18 08:45:38 -04:00
Jeremy Bícha db24e0c6c3 Update upstream source from tag 'upstream/45.0'
Update to upstream version '45.0'
with Debian dir 74306402cf
2023-09-18 08:45:38 -04:00
Jeremy Bícha 4d741a1ece debian/watch: Watch for beta and rc releases too 2023-09-06 10:00:16 -04:00
Amin Bandali 6ce713f305 Change debian-branch from debian/master to debian/latest 2023-09-04 10:18:31 -04:00
Jeremy Bícha db248b3ce6 releasing package gnome-shell-extensions version 45~beta-1 2023-08-21 10:17:30 -04:00
Jeremy Bícha 2e2651ea4c New upstream release 2023-08-21 10:17:06 -04:00
Jeremy Bícha 696225fdc9 Update upstream source from tag 'upstream/45_beta'
Update to upstream version '45~beta'
with Debian dir fd31c81873
2023-08-21 10:16:23 -04:00
Simon McVittie fd31c81873 d/control: Regenerate 2023-08-21 00:37:44 +01:00
Simon McVittie 981f094061 Upload to unstable (part of transition: #1043144) 2023-08-20 23:04:54 +01:00
Jeremy Bicha b9067eed79 releasing package gnome-shell-extensions version 44.0-1 2023-03-27 08:50:38 -04:00
Jeremy Bicha 68c7beabab debian/control.in: Build-Depend on libglib2.0-bin 2023-03-27 08:49:19 -04:00
Jeremy Bicha 3ba184bfe2 debian/control.in: Bump minimum meson to 0.58.0 2023-03-27 08:47:54 -04:00
Jeremy Bicha 24fa8a6e04 New upstream release 2023-03-27 08:47:19 -04:00
Jeremy Bicha 923f204478 Update upstream source from tag 'upstream/44.0'
Update to upstream version '44.0'
with Debian dir 2e07466bb9
2023-03-27 08:47:19 -04:00
Jeremy Bicha a69d37f2ee releasing package gnome-shell-extensions version 44~rc-1 2023-03-07 12:20:07 -05:00
Jeremy Bicha 2e715149db New upstream release 2023-03-07 12:19:37 -05:00
Jeremy Bicha 26d067d301 Update upstream source from tag 'upstream/44_rc'
Update to upstream version '44~rc'
with Debian dir 0ecf357214
2023-03-07 12:19:36 -05:00
Jeremy Bicha c1df8cedb8 releasing package gnome-shell-extensions version 44~beta-1 2023-02-15 11:01:42 -05:00
Jeremy Bicha 2189f8cc58 New upstream release 2023-02-15 10:59:27 -05:00
Jeremy Bicha 6cd74c86ae Update upstream source from tag 'upstream/44_beta'
Update to upstream version '44~beta'
with Debian dir bd191be89d
2023-02-15 10:59:27 -05:00
Jeremy Bicha 88657c2def Update debian/changelog 2022-11-29 16:04:18 -05:00
Debian Janitor 68b7915bc6 Remove constraints unnecessary since buster (oldstable)
* gnome-shell-extensions: Drop versioned constraint on gnome-shell-common in Replaces.
* gnome-shell-extensions: Drop versioned constraint on gnome-shell-common in Breaks.

Changes-By: deb-scrub-obsolete
2022-11-29 10:14:04 +00:00
Jeremy Bicha f6e66faf8f releasing package gnome-shell-extensions version 43.1-1 2022-11-22 14:15:06 -05:00
Jeremy Bicha ee0bb2c636 New upstream release 2022-11-22 14:13:09 -05:00
Jeremy Bicha 1edb245e85 Update upstream source from tag 'upstream/43.1'
Update to upstream version '43.1'
with Debian dir 8c75b5968c
2022-11-22 14:13:08 -05:00
Jeremy Bicha 7a010d5a72 releasing package gnome-shell-extensions version 43.0-2 2022-09-27 19:14:00 -04:00
Jeremy Bicha 9e4b7488b3 releasing package gnome-shell-extensions version 43.0-1 2022-09-19 10:57:47 -04:00
Jeremy Bicha 18cf40a521 New upstream release 2022-09-19 10:57:27 -04:00
Jeremy Bicha ed6d806617 Update upstream source from tag 'upstream/43.0'
Update to upstream version '43.0'
with Debian dir d0bf484be0
2022-09-19 10:57:27 -04:00
Jeremy Bicha 4f5e421539 releasing package gnome-shell-extensions version 43~rc-1 2022-09-06 14:39:08 -04:00
Jeremy Bicha 72868ac7c5 New upstream release 2022-09-06 14:38:17 -04:00
Jeremy Bicha 5dea503cbd Update upstream source from tag 'upstream/43_rc'
Update to upstream version '43~rc'
with Debian dir eda3854675
2022-09-06 14:38:17 -04:00
Jeremy Bicha 8f8292afb3 releasing package gnome-shell-extensions version 43~beta-1 2022-08-21 10:59:29 -04:00
Jeremy Bicha d505f75c9b New upstream release 2022-08-21 10:59:17 -04:00
Jeremy Bicha a8a2729531 Update upstream source from tag 'upstream/43_beta'
Update to upstream version '43~beta'
with Debian dir 54ab7f9898
2022-08-21 10:59:17 -04:00
Jeremy Bicha 9306ee7a5d releasing package gnome-shell-extensions version 42.3-1 2022-07-13 17:49:11 +02:00
Jeremy Bicha e8c8c7d940 New upstream release 2022-07-13 17:48:52 +02:00
Jeremy Bicha 871c9c39dc Update upstream source from tag 'upstream/42.3'
Update to upstream version '42.3'
with Debian dir 1a2f6557b5
2022-07-13 17:46:11 +02:00
Jeremy Bicha ecc955b4cd releasing package gnome-shell-extensions version 42.2-1 2022-06-03 09:23:35 -04:00
Jeremy Bicha 7e5f7eb0aa New upstream release 2022-06-03 09:19:26 -04:00
Jeremy Bicha 1c3407c05f Update upstream source from tag 'upstream/42.2'
Update to upstream version '42.2'
with Debian dir a5ea5896c1
2022-06-03 09:19:25 -04:00
Jeremy Bicha 26fb856ffc releasing package gnome-shell-extensions version 42.1-1 2022-05-09 08:09:41 -04:00
Jeremy Bicha 9d2b15ba26 New upstream release 2022-05-09 08:08:22 -04:00
Jeremy Bicha 28cdc1df1a Update upstream source from tag 'upstream/42.1'
Update to upstream version '42.1'
with Debian dir f8b48c4000
2022-05-09 08:02:14 -04:00
Jeremy Bicha 0c501f84b9 Update debian/watch
Gbp-Dch: Ignore
2022-04-27 13:01:36 -04:00
Jeremy Bicha c6d5ea5934 releasing package gnome-shell-extensions version 42.0-2 2022-03-28 11:18:24 -04:00
Jeremy Bicha 047f939b63 releasing package gnome-shell-extensions version 42.0-1 2022-03-14 11:30:41 -04:00
Jeremy Bicha 3d693372ad New upstream release 2022-03-14 11:29:57 -04:00
Jeremy Bicha a33802d3e5 Update upstream source from tag 'upstream/42.0'
Update to upstream version '42.0'
with Debian dir 534fb27166
2022-03-14 11:29:57 -04:00
Jeremy Bicha d483244ecb releasing package gnome-shell-extensions version 42~rc-1 2022-03-08 17:55:04 -05:00
Jeremy Bicha 8e39e0d363 Revert "debian/control: Support pre-release versions of gnome-shell"
This reverts commit e2369147b1.

Fixed in gnome-pkg-tools instead
2022-03-08 09:55:43 -05:00
Jeremy Bicha 2762830b10 Revert "debian/watch: Look for any released version"
This reverts commit a2c271d677.

Now that the 42 devel series is basically done, let's
return to looking for stable releases.

Yes, I know there is some disagreement about our watch files,
but this matches what nearly all the Debian GNOME packages do.
2022-03-08 09:32:45 -05:00
Jeremy Bicha df1df4b8e1 New upstream release 2022-03-08 09:32:30 -05:00
Jeremy Bicha 210e86641b Update upstream source from tag 'upstream/42_rc'
Update to upstream version '42~rc'
with Debian dir 7835943993
2022-03-08 09:32:30 -05:00
Marco Trevisan (Treviño) a8a49e3c65 Upload to experimental 2022-02-23 07:35:20 +01:00
Marco Trevisan (Treviño) bfe26eaf84 Update changelog 2022-02-23 03:12:07 +01:00
Marco Trevisan (Treviño) 60a08debff debian/patches: Drop applied upstream 2022-02-23 03:12:07 +01:00
Marco Trevisan (Treviño) 132bd9259e debian/control: Depend on libadwaita and gtk-4 (instead of gtk-3) 2022-02-23 03:03:05 +01:00
Marco Trevisan (Treviño) 5eb4dcf6bf New upstream release 2022-02-23 02:57:10 +01:00
Marco Trevisan (Treviño) 295fb67225 Update upstream source from tag 'upstream/42_beta'
Update to upstream version '42~beta'
with Debian dir 7f35debfa0
2022-02-23 02:57:09 +01:00
Marco Trevisan (Treviño) a2c271d677 debian/watch: Look for any released version 2022-02-23 02:56:48 +01:00
Simon McVittie 6901f6187d Backport patch from upstream to fix FBTFS with Meson 0.61
Closes: #1005534
2022-02-15 11:18:42 +00:00
Jeremy Bicha e2ee6bacd0 releasing package gnome-shell-extensions version 41.1-1 2021-12-12 20:30:29 -05:00
Jeremy Bicha bc6c24fc4e New upstream release 2021-12-12 20:29:02 -05:00
Jeremy Bicha 58f72a073d Update upstream source from tag 'upstream/41.1'
Update to upstream version '41.1'
with Debian dir c5965b647a
2021-12-12 20:29:01 -05:00
Simon McVittie c83a75766c Release to unstable 2021-10-16 20:06:11 +01:00
Jeremy Bicha c016fb531c releasing package gnome-shell-extensions version 41.0-1 2021-10-10 17:05:00 -04:00
Jeremy Bicha 1615745a1f Bump Standards-Version to 4.6.0 2021-10-09 06:35:40 -04:00
Jeremy Bicha dc50382d22 debian/control.in: Bump minimum meson to 0.53.0 2021-10-03 20:43:18 -04:00
Jeremy Bicha a5b84379f4 New upstream release 2021-10-03 20:42:41 -04:00
Jeremy Bicha d168261fa5 Update upstream source from tag 'upstream/41.0'
Update to upstream version '41.0'
with Debian dir e15005271d
2021-10-03 20:42:41 -04:00
Jeremy Bicha e83760388f Update debian/gbp.conf & debian/watch for team style 2021-10-03 20:41:29 -04:00
Simon McVittie 82d19a5433 Release to unstable 2021-09-11 21:53:21 +01:00
Jeremy Bicha e3e39728ce releasing package gnome-shell-extensions version 40.4-2 2021-08-29 10:46:41 -04:00
Jeremy Bicha 76dfb8ef31 releasing package gnome-shell-extensions version 40.4-1 2021-08-29 09:17:31 -04:00
Jeremy Bicha 544cf566b5 Revert "debian/control: Don't build depend on sassc"
This reverts commit 3e87fa8aa5.
2021-08-29 08:51:47 -04:00
Jeremy Bicha da88313488 New upstream release 2021-08-29 08:50:45 -04:00
Jeremy Bicha 2aa0720e93 Update upstream source from tag 'upstream/40.4'
Update to upstream version '40.4'
with Debian dir e6eaad7d17
2021-08-29 08:50:45 -04:00
Jeremy Bicha be536ee32e Update debian/changelog 2021-08-29 08:49:07 -04:00
Jeremy Bicha 339e06634f debian/copyright: Add gnome-classic.css to Files-Excluded
to ensure we build it from source
2021-08-29 08:47:48 -04:00
Jeremy Bicha ff9527ea52 debian/watch: Watch for stable releases 2021-08-29 08:36:43 -04:00
Marco Trevisan (Treviño) e2369147b1 debian/control: Support pre-release versions of gnome-shell
Gnome version will now point to the stable version and not to the
development version, so we need to adjust the dependency to support
alpha, beta and rc releases.
2021-05-30 20:18:03 +02:00
Marco Trevisan (Treviño) 5e559c4444 Upload to experimental 2021-05-30 20:05:13 +02:00
Marco Trevisan (Treviño) e30762ea43 Update changelog 2021-05-30 20:04:52 +02:00
Marco Trevisan (Treviño) 1fa4a078d8 debian/control: Build-depend on dh-sequence-gnome 0.22
It's the first version that supports new GNOME versioning schema.
2021-05-30 19:36:26 +02:00
Marco Trevisan (Treviño) 3e87fa8aa5 debian/control: Don't build depend on sassc
Since we compile from tarball, this is not needed anymore given that
compiled css are provided already.
2021-05-30 18:09:10 +02:00
Marco Trevisan (Treviño) e52ca120c4 debian/control: Update runtime dependencies to match code
Found grepping code via:

  grep "imports\.gi" --include "*.js" -rh -B2 . \
     | grep -o "\b[A-Z][A-Za-z]\+\b" | sed "s/,\?\s*$//g" | sort -u
2021-05-30 18:04:19 +02:00
Marco Trevisan (Treviño) 3eadbba8a1 New upstream release 2021-05-30 17:53:16 +02:00
Marco Trevisan (Treviño) 41f9451070 Update upstream source from tag 'upstream/40.1'
Update to upstream version '40.1'
with Debian dir 0cbf40a23d
2021-05-30 17:53:16 +02:00
Marco Trevisan (Treviño) d2f5bfdbfd debian/watch: Update for new gnome versioning schema 2021-05-30 17:52:23 +02:00
Marco Trevisan (Treviño) b4a1953372 debian/gbp.conf: Use upstream/latest branch 2021-05-30 17:50:41 +02:00
Simon McVittie db1342e5ff Release to unstable 2020-12-03 10:18:08 +00:00
Simon McVittie 86c5057d62 d/gbp.conf: Use upstream/3.38.x branch
Version 40~alpha was already released upstream.
2020-12-03 10:17:52 +00:00
Simon McVittie 779dea8408 Standards-Version: 4.5.1 (no changes required) 2020-12-03 10:12:34 +00:00
Simon McVittie 544f374e44 New upstream release 2020-12-03 10:11:15 +00:00
Simon McVittie b55d783cc2 Update upstream source from tag 'upstream/3.38.2'
Update to upstream version '3.38.2'
with Debian dir 30b73fdd03
2020-12-03 10:11:15 +00:00
Jeremy Bicha 4e948b2b48 releasing package gnome-shell-extensions version 3.38.1-1 2020-10-06 17:44:35 -04:00
Jeremy Bicha b6bce374ad Recommend gnome-shell-extension-prefs instead of gnome-tweaks 2020-10-06 17:38:18 -04:00
Jeremy Bicha 6cbd8abdca New upstream release 2020-10-06 17:36:39 -04:00
Jeremy Bicha 5947f38421 Update upstream source from tag 'upstream/3.38.1'
Update to upstream version '3.38.1'
with Debian dir e97ed2a443
2020-10-06 17:36:39 -04:00
Simon McVittie 29b24e391a Release to unstable 2020-09-25 23:01:23 +01:00
Simon McVittie 0cdb80a9e0 Revert "debian/watch: Watch for unstable releases"
This reverts commit a289bbfb93.
2020-09-25 23:00:48 +01:00
Simon McVittie a8907d6fb1 Release to experimental 2020-09-22 11:49:57 +01:00
Simon McVittie 4851a66c57 Fix gnome-classic regression in 3.37.91-1
gnome-session no longer takes the `--session gnome-classic` argument
when running in classic mode.
2020-09-22 11:49:19 +01:00
Simon McVittie 1d5c2091cc Update standards version to 4.5.0, no changes needed.
Changes-By: lintian-brush
Fixes: lintian: out-of-date-standards-version
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html
2020-09-22 09:18:46 +01:00
Simon McVittie e5abcaf7c8 Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse.
Changes-By: lintian-brush
Fixes: lintian: upstream-metadata-file-is-missing
See-also: https://lintian.debian.org/tags/upstream-metadata-file-is-missing.html
Fixes: lintian: upstream-metadata-missing-bug-tracking
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-bug-tracking.html
Fixes: lintian: upstream-metadata-missing-repository
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-repository.html
2020-09-22 09:18:46 +01:00
Simon McVittie d5733eed90 New upstream release 2020-09-22 09:17:08 +01:00
Simon McVittie a22cc0dc4e Update upstream source from tag 'upstream/3.38.0'
Update to upstream version '3.38.0'
with Debian dir c70415b74c
2020-09-22 09:16:27 +01:00
Marco Trevisan (Treviño) 276f6a1c6f Upload to experimental 2020-08-27 17:39:42 +02:00
Marco Trevisan (Treviño) e161e32b63 Update changelog 2020-08-27 17:11:21 +02:00
Marco Trevisan (Treviño) e31a351c56 debian/control: Remove useless dependency on clutter gir
While the extensions do depend on clutter, they depend on the one that
is provided by the shell via the internal mutter fork, so no need to
pull the standalone library here.
2020-08-27 08:35:23 +02:00
Marco Trevisan (Treviño) f728c0172b debian/rules: Don't override dh_missing equal default behavior
As per dh 13, --fail-missing is the default
2020-08-27 08:28:33 +02:00
Marco Trevisan (Treviño) 136644d45e debian/control: B-D on debhelper 13 2020-08-27 08:28:12 +02:00
Marco Trevisan (Treviño) 24308612fd debian/patches: Refresh 2020-08-27 08:26:46 +02:00
Marco Trevisan (Treviño) 1ae3e89b57 New upstream release 2020-08-27 08:18:08 +02:00
Marco Trevisan (Treviño) c1bb6ca349 Update upstream source from tag 'upstream/3.37.91'
Update to upstream version '3.37.91'
with Debian dir 024b4338a7
2020-08-27 08:18:07 +02:00
Laurent Bigonville b03d1b9cc7 Release to unstable 2020-05-03 10:02:23 +02:00
Laurent Bigonville 3ce0485742 New upstream release 2020-05-03 10:01:15 +02:00
Laurent Bigonville 100651a74c Update upstream source from tag 'upstream/3.36.2'
Update to upstream version '3.36.2'
with Debian dir 76e64ae93a
2020-05-03 10:01:15 +02:00
Simon McVittie 5138e30a2a Release to unstable 2020-04-10 15:13:18 +01:00
Simon McVittie a69fa591da New upstream release 2020-04-02 10:14:08 +01:00
Simon McVittie 7f2a3eb2ca Update upstream source from tag 'upstream/3.36.1'
Update to upstream version '3.36.1'
with Debian dir 10076e8e1e
2020-04-02 10:14:08 +01:00
Iain Lane e45cc8cdc0 Finalise changelog 2020-03-16 12:39:05 +00:00
Iain Lane 3c8edd7b3a New upstream release 2020-03-16 12:38:45 +00:00
Iain Lane 855832d08b Update upstream source from tag 'upstream/3.36.0'
Update to upstream version '3.36.0'
with Debian dir d3a51685f5
2020-03-16 12:13:26 +00:00
Iain Lane 9f07981fe5 Finalise changelog 2020-02-24 18:29:30 +00:00
Marco Trevisan (Treviño) a27d6d3c7e New upstream release 2020-02-24 14:53:49 +01:00
Marco Trevisan (Treviño) 2a4da355f1 Update upstream source from tag 'upstream/3.35.91'
Update to upstream version '3.35.91'
with Debian dir 10862f27f4
2020-02-24 14:48:46 +01:00
Laurent Bigonville ca47fbc16b Release to unstable 2019-12-30 00:51:17 +01:00
Laurent Bigonville 5a3c3de1a4 debian/control.in: Bump Standards-Version to 4.4.1 (no further changes) 2019-12-30 00:51:08 +01:00
Laurent Bigonville ff9062ac17 New upstream release 2019-12-30 00:41:33 +01:00
Laurent Bigonville 9486fc3f98 Update upstream source from tag 'upstream/3.34.2'
Update to upstream version '3.34.2'
with Debian dir 38d5f5c015
2019-12-30 00:41:32 +01:00
Jeremy Bicha 28e873b5e0 releasing package gnome-shell-extensions version 3.34.1-2 2019-10-08 22:50:33 -04:00
Jeremy Bicha 39d532ca3f releasing package gnome-shell-extensions version 3.34.1-1 2019-10-08 22:49:50 -04:00
Jeremy Bicha 07a602e404 Drop unnecessary Build-Depend on gnome-pkg-tools
provided by dh-sequence-gnome

Gbp-Dch: Ignore
2019-10-08 22:46:37 -04:00
Jeremy Bicha a448e48cdb New upstream release 2019-10-08 22:45:47 -04:00
Jeremy Bicha 092a3ee21a Update upstream source from tag 'upstream/3.34.1'
Update to upstream version '3.34.1'
with Debian dir 0812829987
2019-10-08 22:45:47 -04:00
Andreas Henriksson 88cfcdbd2e Upload to unstable 2019-09-30 17:27:45 +02:00
Iain Lane f3378c7b6f Finalise changelog 2019-09-10 10:59:33 +01:00
Iain Lane 50545c1486 New upstream release 2019-09-10 10:53:19 +01:00
Iain Lane ff678d06ea Update upstream source from tag 'upstream/3.34.0'
Update to upstream version '3.34.0'
with Debian dir 31efb81a24
2019-09-10 10:53:04 +01:00
Iain Lane 6345449d50 Finalise changelog 2019-09-05 18:22:15 +01:00
Iain Lane 8951266183 Update changelog 2019-09-05 18:21:38 +01:00
Iain Lane 6911624d4d New upstream release 2019-09-05 18:21:23 +01:00
Iain Lane da6efff220 Update upstream source from tag 'upstream/3.33.92'
Update to upstream version '3.33.92'
with Debian dir e0dd3abd73
2019-09-05 18:21:22 +01:00
Iain Lane cc99aff03b Finalise changelog 2019-08-13 11:59:25 +01:00
Iain Lane cdc5210c25 Update changelog 2019-08-13 11:39:41 +01:00
Iain Lane 4838833d72 compat, control, rules: Move to compat 12 and specifying via build-deps 2019-08-13 11:30:21 +01:00
Iain Lane 0fad184fda rules: Build with --fail-missing 2019-08-13 11:27:58 +01:00
Iain Lane 6d8c96d665 rules: Build all extensions via the upstream build system
We don't need to hardcode the list to build, as the build system
provides a way to build 'all' extensions.
2019-08-13 11:26:54 +01:00
Marco Trevisan (Treviño) e6c1a3b052 New upstream release 2019-08-13 04:33:12 +02:00
Marco Trevisan (Treviño) 71add2e391 Update upstream source from tag 'upstream/3.33.90'
Update to upstream version '3.33.90'
with Debian dir 0efb035d04
2019-08-13 04:25:54 +02:00
Iain Lane 61abd2a48f Finalise changelog 2019-03-12 16:34:19 +00:00
Iain Lane 6ba2f49866 New upstream release 2019-03-12 16:33:31 +00:00
Iain Lane 2fd2cf9074 Update upstream source from tag 'upstream/3.32.0'
Update to upstream version '3.32.0'
with Debian dir 4724138f6f
2019-03-12 16:33:31 +00:00
Iain Lane d0d40f248d Update control 2019-03-12 16:33:01 +00:00
Iain Lane cc2a2ca153 Finalise changelog 2019-03-06 15:45:15 +00:00
Iain Lane 2307b639dd New upstream release 2019-03-06 15:41:51 +00:00
Iain Lane 1e0ea36a81 Update upstream source from tag 'upstream/3.31.92'
Update to upstream version '3.31.92'
with Debian dir d20ac803ed
2019-03-06 15:39:48 +00:00
Iain Lane 4e1250a6ba Finalise changelog 2019-02-21 10:33:13 +00:00
Iain Lane 56d2852004 Update changelog 2019-02-21 10:15:11 +00:00
Iain Lane 3fa8edcb1a rules: alternate-tab is dropped; stop trying to enable it 2019-02-21 10:15:11 +00:00
Iain Lane edb14ea03c New upstream release 2019-02-21 10:08:47 +00:00
Iain Lane a2f554bc1e Update upstream source from tag 'upstream/3.31.90'
Update to upstream version '3.31.90'
with Debian dir f0ccfd59b6
2019-02-21 10:08:47 +00:00
Iain Lane a289bbfb93 debian/watch: Watch for unstable releases 2019-02-21 10:08:08 +00:00
Simon McVittie 5486c2040d 3.30.1-1 2018-11-02 09:27:05 +00:00
Simon McVittie 84c95be03f d/p/gnome-session-classic-wrapper-script.patch: Re-word to avoid a Lintian warning 2018-11-02 09:26:42 +00:00
Simon McVittie d9e6c6c4c5 Bump Standards-Version to 4.2.1 2018-11-02 09:23:06 +00:00
Simon McVittie 25559e758c New upstream release 2018-11-02 09:22:10 +00:00
Simon McVittie 89ce4aee4a Update upstream source from tag 'upstream/3.30.1'
Update to upstream version '3.30.1'
with Debian dir 0588a7440a
2018-11-02 09:22:10 +00:00
Jeremy Bicha ba9d2e7919 releasing package gnome-shell-extensions version 3.30.0-1 2018-09-05 12:35:10 -04:00
Jeremy Bicha 9d0c742f34 Update debian/gbp.conf 2018-09-05 12:33:05 -04:00
Jeremy Bicha 1e69961bc7 New upstream release 2018-09-05 12:32:55 -04:00
Jeremy Bicha e4ddc4c14e Update upstream source from tag 'upstream/3.30.0'
Update to upstream version '3.30.0'
with Debian dir d0677ad034
2018-09-05 12:32:29 -04:00
Jeremy Bicha be149bab3d Revert "d/watch: Watch for development versions"
This reverts commit e37782c2ce.
2018-09-05 12:31:44 -04:00
Simon McVittie 1b4bbe19e3 3.29.91-1 2018-08-20 20:28:07 +01:00
Simon McVittie 2e6b602a04 d/p/series: Remove commented-out line 2018-08-20 20:00:42 +01:00
Simon McVittie 5b9012152c d/copyright: Remove unnecessary sentence fragment 2018-08-20 20:00:08 +01:00
Simon McVittie efd20bb4f7 Sort dependency lists (wrap-and-sort -a) 2018-08-20 19:58:52 +01:00
Simon McVittie 7d595e4774 Bump Standards-Version to 4.2.0 2018-08-20 19:58:00 +01:00
Simon McVittie 7b4c3085c0 New upstream development release 2018-08-20 19:56:46 +01:00
Simon McVittie 7045a5dcea Update upstream source from tag 'upstream/3.29.91'
Update to upstream version '3.29.91'
with Debian dir 7aa6de354f
2018-08-20 19:55:42 +01:00
Simon McVittie 777bae87b5 3.29.90-1 2018-08-02 10:46:54 +01:00
Simon McVittie 06ae867c2f New upstream development release 2018-08-02 10:33:59 +01:00
Simon McVittie 77ebd3d202 Update upstream source from tag 'upstream/3.29.90'
Update to upstream version '3.29.90'
with Debian dir 556645e633
2018-08-02 10:32:11 +01:00
Simon McVittie 227f999001 3.29.3+really3.29.3-1 2018-07-27 23:58:30 +01:00
Simon McVittie e37782c2ce d/watch: Watch for development versions 2018-07-27 10:49:37 +01:00
Simon McVittie f210be5ab4 3.29.3-1 2018-07-27 09:37:49 +01:00
Simon McVittie 12b1a0639e Set Rules-Requires-Root to no 2018-07-27 09:18:19 +01:00
Simon McVittie 34098b871b Merge branch 'upstream/latest' into debian/master 2018-07-27 09:15:18 +01:00
Simon McVittie cc2ebff0e3 Bump Standards-Version to 4.1.5 2018-07-27 08:49:34 +01:00
Simon McVittie 7c21766dd5 New upstream release 2018-07-27 08:48:10 +01:00
Simon McVittie 965dfd2d39 Update upstream source from tag 'upstream/3.29.3'
Update to upstream version '3.29.3'
with Debian dir db66300472
2018-07-27 08:43:27 +01:00
Jeremy Bicha 49e598b4b7 releasing package gnome-shell-extensions version 3.28.1-1 2018-05-14 21:54:28 -04:00
Jeremy Bicha 40f13f3afa Bump Standards-Version to 4.1.4 2018-05-14 21:51:38 -04:00
Jeremy Bicha 356e2054fa New upstream release 2018-05-14 21:50:59 -04:00
Jeremy Bicha dab22e927b Update upstream source from tag 'upstream/3.28.1'
Update to upstream version '3.28.1'
with Debian dir a3ec8283f8
2018-05-14 21:50:46 -04:00
Jeremy Bicha a1f60be674 releasing package gnome-shell-extensions version 3.28.0-2 2018-03-19 18:21:11 -04:00
Jeremy Bicha e0ec59d30b Fix missing auto-move-windows, native-window-placement, & user-theme extns 2018-03-19 18:20:51 -04:00
Jeremy Bicha abc1c9ef7e releasing package gnome-shell-extensions version 3.28.0-1 2018-03-18 20:17:31 -04:00
Jeremy Bicha 3e4a778978 New upstream release 2018-03-15 21:28:56 -04:00
Jeremy Bicha ca85495a1c Update upstream source from tag 'upstream/3.28.0'
Update to upstream version '3.28.0'
with Debian dir f3988d1137
2018-03-15 21:28:24 -04:00
Jeremy Bicha 41dc03222c releasing package gnome-shell-extensions version 3.27.92-2 2018-03-10 19:38:07 -05:00
Jeremy Bicha 3cf56d8270 releasing package gnome-shell-extensions version 3.27.92-1 2018-03-05 21:02:11 -05:00
Jeremy Bicha 9436564a76 Drop explicit dependency on mutter's gir since gnome-shell already depends on it
It's a headache to remember to update the dependency every 6 months
and wonder why gnome-shell is stuck in Ubuntu -proposed.
2018-03-05 21:01:51 -05:00
Jeremy Bicha 142065d58b Revert "debian/watch: Watch for unstable releases"
This reverts commit 7cbf2533fe.
2018-03-05 20:56:44 -05:00
Jeremy Bicha 2ffd3d95bb New upstream release candidate 2018-03-05 20:56:32 -05:00
Jeremy Bicha 6b9f87dbea Update upstream source from tag 'upstream/3.27.92'
Update to upstream version '3.27.92'
with Debian dir a05b57e9d4
2018-03-05 20:55:44 -05:00
Jeremy Bicha 3b2aee92fb Depend on gir1.2-mutter-2 instead of gir1.2-mutter-1 2018-03-04 07:31:42 -05:00
Simon McVittie 12dac8ee62 Recommend gnome-tweaks instead of transitional gnome-tweak-tool 2018-02-24 11:30:32 +00:00
Jeremy Bicha f8df77051b releasing package gnome-shell-extensions version 3.27.91-1 2018-02-23 19:52:07 -05:00
Jeremy Bicha fd9c0f6be4 Bump debhelper compat to 11 2018-02-23 19:51:43 -05:00
Jeremy Bicha cf05510b0d Build-Depend on sassc 2018-02-23 19:49:25 -05:00
Jeremy Bicha 207923a1b6 Build with meson 2018-02-23 19:49:25 -05:00
Jeremy Bicha fbbcb058fa Drop patches applied in new release 2018-02-23 19:49:25 -05:00
Jeremy Bicha cef1736de2 New upstream development release 2018-02-23 19:30:40 -05:00
Jeremy Bicha da10cfc062 Update upstream source from tag 'upstream/3.27.91'
Update to upstream version '3.27.91'
with Debian dir 1d6bdda2db
2018-02-23 19:30:15 -05:00
Jeremy Bicha 7cbf2533fe debian/watch: Watch for unstable releases 2018-02-23 19:29:45 -05:00
Simon McVittie 1a9d1c235c Team upload 2018-01-30 09:16:33 +00:00
Simon McVittie 5c8a19f54f Avoid frequent tracebacks from the Places menu with gjs >= 1.50.2-3
Closes: #888608
2018-01-30 09:11:30 +00:00
Simon McVittie 44fe593f8a d/patches: Re-export with gbp pq export 2018-01-30 09:09:02 +00:00
Jeremy Bicha b8d1af4e50 Update Vcs fields for migration to https://salsa.debian.org/ 2018-01-19 20:44:11 -05:00
Jeremy Bicha 18f189b887 releasing package gnome-shell-extensions version 3.26.2-2 2017-12-15 15:19:34 -05:00
Jeremy Bicha c9776c97de Bump Standards-Version to 4.1.2 2017-12-15 15:19:06 -05:00
Jeremy Bicha 57a4241749 Fix file permissions after git conversion 2017-12-15 15:17:53 -05:00
Jeremy Bicha 163ff997b1 Drop old files left over from git conversion 2017-12-15 15:17:40 -05:00
Jeremy Bicha 449e9879ce Update upstream source from tag 'upstream/3.26.2'
Update to upstream version '3.26.2'
with Debian dir 6437420a17
2017-12-15 15:11:44 -05:00
Jeremy Bicha 84350c3776 Update Vcs fields for conversion to git 2017-12-15 15:11:26 -05:00
Jeremy Bicha 91027ae9a4 Add default gbp.conf 2017-12-15 15:11:26 -05:00
Michael Biebl 9db80785a5 Release version 3.26.2-1 to unstable 2017-11-05 19:17:20 +00:00
Michael Biebl a876817127 New upstream release 2017-11-05 19:16:18 +00:00
Jeremy Bicha 3a0c70aef7 Release to unstable 2017-10-13 20:50:07 +00:00
Jeremy Bicha bbb6a73af1 Bump Standards-Version to 4.1.1 2017-10-13 20:49:25 +00:00
Jeremy Bicha 51119ec213 unbranch gnome-shell-extensions from experimental 2017-10-13 20:45:48 +00:00
Simon McVittie 2690ee46f2 Team upload 2017-10-06 10:53:43 +00:00
Simon McVittie bc2e456a6a New upstream stable release 2017-10-06 09:42:26 +00:00
Simon McVittie b27c3719f0 Team upload 2017-09-13 11:41:47 +00:00
Simon McVittie 147482d5e8 New upstream stable release 2017-09-13 08:38:35 +00:00
Simon McVittie 514403e1ba Team upload 2017-09-05 20:49:03 +00:00
Simon McVittie 109d3aad6a New upstream release, for GNOME Shell 3.25.91
- d/p/adapt-to-gsd324.patch: Drop, applied upstream
- Switch dependency to gir1.2-mutter-1
2017-09-01 08:35:51 +00:00
Simon McVittie 15779e204d Branch to experimental 2017-09-01 07:45:39 +00:00
Jordi Mallach 49e403f822 Release to unstable. 2017-08-06 21:39:20 +00:00
Jeremy Bicha ffb5b76f4e Depend on gnome-session-bin instead of gnome-session (LP: #1702832) 2017-07-28 19:57:38 +00:00
Jeremy Bicha b21932ffd9 Bump Standards-Version to 4.0.0 2017-07-27 22:19:58 +00:00
Jeremy Bicha 46d8f1c8d9 Drop version from gnome-tweak-tool recommends 2017-07-27 22:19:03 +00:00
Jeremy Bicha 8caffac3d7 Explicitly depend on gnome-settings-daemon >= 3.24 2017-07-27 22:18:10 +00:00
Jeremy Bicha 40da5360a4 Add adapt-to-gsd324.patch (Closes: #869948) 2017-07-27 22:16:39 +00:00
Michael Biebl 5b9f91991f Release version 3.22.2-1 to unstable 2016-11-10 18:37:05 +00:00
Michael Biebl a565f2d984 New upstream release. 2016-11-10 18:36:21 +00:00
Michael Biebl 0b7269a4b8 Release version 3.22.1-1 to unstable 2016-10-11 15:58:49 +00:00
Michael Biebl c7805b4b40 New upstream release. 2016-10-11 15:56:36 +00:00
Michael Biebl e6b65be75a Release version 3.22.0-1 to unstable 2016-09-20 00:01:00 +00:00
Michael Biebl 7043fe592c New upstream release. 2016-09-19 23:57:06 +00:00
Michael Biebl f7d35c41ae Release version 3.21.92-1 to unstable 2016-09-13 20:14:18 +00:00
Michael Biebl afb4942a72 * New upstream development release.
* Replace Build-Depends gnome-common with pkg-config and gettext.
2016-09-13 20:13:14 +00:00
Jeremy Bicha 4f7bd0918b B-D on debhelper 10 instead of debhelper 9.20160403~ to satisfy lintian 2016-09-11 14:01:13 +00:00
Andreas Henriksson fb8d34254a New upstream beta release. 2016-08-30 18:00:46 +00:00
Andreas Henriksson 2a390c4c25 Release to experimental 2016-08-21 03:45:50 +00:00
Jeremy Bicha 040fbf72e9 minor: alphabetize extensions list 2016-08-20 18:49:13 +00:00
Jeremy Bicha 395e9aea3c Convert from cdbs to dh and bump dh compat to 10 2016-08-20 18:36:00 +00:00
Jeremy Bicha bb3508327f Refresh patches 2016-08-20 18:12:14 +00:00
Jeremy Bicha 068ae45f6c Update Vcs fields 2016-08-20 18:01:41 +00:00
Andreas Henriksson 02ff0f658b * New upstream beta release.
* Update build-dependencies according to configure.ac changes:
  - drop intltool, now gettext is used instead.
2016-08-20 16:43:11 +00:00
Andreas Henriksson 3c14d9b524 * New upstream development release.
* Stop hard-coding Victor Seva in the Uploaders field
2016-08-12 14:34:58 +00:00
Andreas Henriksson 8de00babad Branch gnome-shell-extensions to experimental 2016-08-12 14:26:35 +00:00
Jeremy Bicha 59768f0514 restore trailing newlines to d/copyright and /watch 2016-05-26 21:42:36 +00:00
Jeremy Bicha e185fe30f8 Use https for copyright headers 2016-05-25 03:18:37 +00:00
Jeremy Bicha 0d20be43d4 Use https in d/watch and use new "special strings" to help standardize format 2016-05-23 02:15:25 +00:00
Michael Biebl 356632063c Release version 3.20.1-1 to unstable 2016-05-11 13:22:07 +00:00
Michael Biebl 3a592ddb59 Bump Standards-Version to 3.9.8. 2016-05-11 13:14:23 +00:00
Michael Biebl 652ade33b5 New upstream release. 2016-05-11 13:12:20 +00:00
Michael Biebl 05e6188921 Release version 3.20.0-2 to unstable 2016-04-16 22:26:10 +00:00
Michael Biebl b222ebed80 Upload to unstable. 2016-04-16 22:25:22 +00:00
Michael Biebl 179d9b9ae1 Move experimental branch of gnome-shell-extensions to unstable 2016-04-16 22:23:15 +00:00
Andreas Henriksson ab7f50d2c8 New upstream release. 2016-03-25 09:50:27 +00:00
Andreas Henriksson 51cc3c7cd1 * New upstream release.
* Update dont-require-nautilus-classic.patch to apply.
2016-03-17 11:59:57 +00:00
Andreas Henriksson d51f14529a Branch gnome-shell-extensions to experimental 2016-03-17 11:50:36 +00:00
Michael Biebl 563dfc3d4d Release version 3.18.4-1 to unstable 2016-03-06 21:39:12 +00:00
Michael Biebl 3ad72a04af Bump Standards-Version to 3.9.7. 2016-03-06 21:38:55 +00:00
Michael Biebl d43130f779 New upstream release. 2016-03-06 21:36:49 +00:00
Andreas Henriksson ce997ff4fd * Add Breaks/Replaces gnome-shell-common (<< 3.18) (Closes: #808906)
- Helps upgrades from Jessie by allowing overwriting
    /usr/share/gnome-shell/theme/calendar-today.svg et.al.
    which was previously shipped in gnome-shell-common.
2016-02-10 00:33:18 +00:00
Michael Biebl 7a5d530358 Release version 3.18.3-1 to unstable 2016-01-14 21:49:38 +00:00
Michael Biebl dd0520f334 New upstream release. 2016-01-14 21:39:21 +00:00
Michael Biebl aab9143c13 Release version 3.18.2-1 to unstable 2015-11-12 23:04:26 +00:00
Michael Biebl b689ec2ef4 New upstream release. 2015-11-12 23:01:24 +00:00
Michael Biebl c9c2da444b Release version 3.18.1-1 to unstable 2015-10-16 20:09:34 +00:00
Michael Biebl 9c931c175c New upstream release. 2015-10-16 20:07:21 +00:00
Laurent Bigonville 39db8f1768 New upstream release and upload to unstable 2015-10-11 14:30:04 +00:00
Michael Biebl f7ed9ff131 Use https:// for Vcs-Browser
[[Split portion of a mixed commit.]]
2015-10-08 13:38:05 +00:00
Michael Biebl 4423126272 Use https:// for Vcs-Browser
[[Split portion of a mixed commit.]]
2015-10-08 13:38:05 +00:00
Andreas Henriksson 5294bc510b New upstream release candidate. 2015-09-18 15:30:14 +00:00
Andreas Henriksson 1b599315a2 Branch g-s-e to experimental 2015-09-18 15:25:52 +00:00
Michael Biebl b561655503 Release version 3.16.2-1 to unstable 2015-07-02 17:13:48 +00:00
Michael Biebl 64923382b4 Add bug ref to changelog for #782747 2015-07-02 17:13:24 +00:00
Michael Biebl 5ef6525be7 Bump debhelper compatibility level to 9. 2015-07-02 17:08:31 +00:00
Michael Biebl 6dc066f7dd Update Homepage. 2015-07-02 17:06:24 +00:00
Michael Biebl 380cf61811 New upstream release. 2015-07-02 17:06:14 +00:00
Emilio Pozuelo Monfort 4624ca952e * debian/gnome-shell-extensions.gsettings-override:
+ Dropped, no longer needed as the enabled extension no longer exists.
    Thanks Artur Rona for noticing.
2015-06-29 08:40:05 +00:00
Emilio Pozuelo Monfort 6f1475e944 release to unstable 2015-06-14 13:24:17 +00:00
Emilio Pozuelo Monfort 22256eec46 fix changelog 2015-06-14 12:30:51 +00:00
Emilio Pozuelo Monfort 31a5de2577 * debian/patches/apps-center-labels.patch,
debian/patches/dont-require-nautilus-classic.patch,
  debian/patches/menu-arrows-icons.patch:
  + Dropped, merged upstream.
2015-06-14 12:29:29 +00:00
Emilio Pozuelo Monfort 269e008541 * debian/control.in,
debian/rules:
  + The system monitor extension was removed. Drop the libgtop
    build and runtime dependencies and stop enabling it.
2015-06-14 12:22:40 +00:00
Emilio Pozuelo Monfort 79d866e9b5 New upstream release. 2015-06-14 12:18:06 +00:00
Josselin Mouette 6d4341f8a4 * New upstream bugfix release.
* menu-arrows-icons: new patch. Make arrows consistent with the rest 
  of the shell.
* apps-center-labels.patch: patch from upstream git. Center labels 
  vertically in the applications menu.
* window-list-pointerInNotification.patch: patch from upstream git. 
  Update window-list extension for an older shell API change.
2014-11-30 15:07:11 +00:00
Laurent Bigonville 61dd96a29e Release to unstable 2014-10-19 19:18:06 +00:00
Laurent Bigonville 9e2a8e0fb2 * New upstream release.
* debian/control.in: Bump Standards-Version to 3.9.6 (no further changes)
* Add missing dependencies against gir packages, including gir1.2-gmenu-3.0,
  this should fix the apps-menu extension for some people (Closes: #765460).
2014-10-19 19:17:54 +00:00
Michael Biebl 82ff7afe2b Release version 3.14.0-2 to unstable 2014-09-23 23:16:17 +00:00
Michael Biebl 0017eaebfc * Drop xrandr from EXTENSIONS_DISABLED, this extension was removed
upstream.
* Add new screenshot-window-sizer extension to EXTENSIONS_ENABLED.
2014-09-23 23:14:55 +00:00
Andreas Henriksson fa729854b8 Move experimental branch to unstable 2014-09-23 13:48:11 +00:00
Andreas Henriksson 5644aebac7 * New upstream release.
* Upload to unstable.
2014-09-23 13:48:01 +00:00
Andreas Henriksson 941f5e43b4 debian/watch: only scan for stable releases. 2014-09-07 01:16:05 +00:00
Andreas Henriksson a595407d39 New upstream development release. 2014-09-06 18:18:14 +00:00
Andreas Henriksson 60417b361e Branch gnome-shell-extensions to experimental 2014-09-06 18:14:53 +00:00
Andreas Henriksson c3adf1724c Move experimental branch to unstable 2014-07-15 06:22:51 +00:00
Andreas Henriksson 435bbff3b0 * New upstream release.
* Bump Standards-Version to 3.9.5
* Upload to unstable.
2014-07-15 06:22:30 +00:00
Andreas Henriksson 706ea0dd7e * New upstream release (3.10.1)
* New upstream release (3.12.0)
* debian/local/gnome-session-classic,
  debian/patches/gnome-session-classic-wrapper-script.patch:
  - update script to include new GNOME_SHELL_SESSION_MODE env variable
    and update patch to apply again.
2014-04-04 19:56:02 +00:00
Jean Schurger e7c37a9d54 * New upstream release
* debian/rules: remove one of the 'windowsNavigator' extension listed twice
  and the 'alternative-system-menu' extension (does not exists anymore)
* debian/copyright: Update 'Format:' line
2013-12-05 17:50:32 +00:00
Emilio Pozuelo Monfort a7f66d648e Upload to unstable. 2013-10-13 16:13:05 +00:00
Emilio Pozuelo Monfort 013dc818e3 move gnome-shell-extensions exp branch to unstable 2013-10-12 21:09:23 +00:00
Michael Biebl 9430670019 Release version 3.8.4-1 to experimental 2013-10-11 16:56:11 +00:00
Michael Biebl 67c795b610 Add a wrapper script to start the GNOME Classic session as currently
Xsession doesn't allow to run gnome-session with custom arguments due to
#653327.
2013-10-11 16:52:46 +00:00
Michael Biebl 42158401ac Actually drop the patches 2013-10-11 14:41:56 +00:00
Jeremy Bicha 06a9891d77 * New upstream release
* Dropped patches applied in new version:
  - fix-hibernate.patch
  - fix-applications-menu-resolution-change.patch
  - look-in-data-home-for-themes.patch
2013-09-11 20:43:21 +00:00
Andreas Henriksson c53e5325c3 Upload to experimental 2013-08-16 18:34:09 +00:00
Jeremy Bicha 6161d531fc use canonical Vcs-* fields 2013-07-28 04:21:50 +00:00
Jeremy Bicha ad52e75e97 * debian/patches/fix-applications-menu-resolution-change.patch:
- Backport commit to not break applications menu when screen resolution
    changes
* debian/patches/fix-hibernate.patch:
  - Backport patch to fix checking whether hibernate is allowed
* debian/patches/look-in-data-home-for-themes.patch:
  - Backport commit to also look in XDG_DATA_HOME (usually ~/.local/share/)
    for user themes
2013-07-21 21:01:44 +00:00
Jeremy Bicha 2db7b6756d * debian/patches/dont-require-nautilus-classic.patch:
- Don't require nautilus-classic since it forces desktop icons
2013-06-29 02:25:53 +00:00
Jeremy Bicha 2f70c6c8a7 update homepages 2013-06-29 02:18:49 +00:00
Jeremy Bicha 8fd8943460 new release, drop git patch 2013-06-17 20:14:26 +00:00
Jeremy Bicha 695b533be1 - Run autoreconf
* debian/patches/git-drop-IsRunnableHelper.patch:
  - Don't run IsRunnableHelper since it's ignored anyway
2013-06-09 00:34:35 +00:00
Jeremy Bicha 491e9fb3e9 * debian/rules:
- Specify the location of gnome-session-check-accelerated
2013-06-09 00:17:39 +00:00
Jeremy Bicha 4d8bccc861 * New upstream release
- default-min-max and static-workspaces extensions have been dropped.
    Use Classic Mode or tweak org.gnome.shell.overrides in dconf-editor
* debian/control.in:
  - Depend on gnome-session and nautilus 3.8, needed for the new
    Classic mode.
2013-06-08 23:57:29 +00:00
Simon McVittie 88b5fea2f9 release to experimental 2013-05-23 08:10:54 +00:00
Simon McVittie 91e886c564 New upstream release 3.8.2
* Install the "classic mode"
* Enable windowNavigator extension (this means we have everything except
  example and xrandr, the same as in the Ubuntu gnome3-team's PPA)
2013-05-23 08:07:17 +00:00
Jean Schurger 1e8ff58d82 * debian/control.in
- Added runtime dependency to 'gvfs' (>= 1.16.0).
    The 'Places' extension rely on a 'gvfs' linked to 'udisks2'.
2013-04-04 14:04:41 +00:00
Jean Schurger 0b84052458 * debian/patches
- fix-places-volume-without-class.diff (fix 'places', #697266)
2013-04-04 13:35:51 +00:00
Jean Schurger 4abc92ef44 New upstream release. 2013-03-27 15:19:34 +00:00
Jean Schurger d12833afc4 New upstreap release. 2013-03-27 15:19:05 +00:00
Andreas Henriksson 8de34e23a3 fix typo in changelog 2013-03-21 20:39:21 +00:00
Jean Schurger 3158caa1be * New Upstream release.
* Enabled new extensions.
* Dropped 'dock' and 'gajim'.
* Use ./configure instead of autoreconf.
* Bunped Standards-Version to 3.9.4.
* Updated Vcs-Svn.
2013-03-21 17:32:15 +00:00
Victor Seva Lopez 8a6d13c416 Added gnome-tweak-tool as recommends 2012-07-27 07:35:38 +00:00
Michael Biebl 90fe2cfb36 Release version 3.4.0-2 to unstable 2012-05-30 11:23:16 +00:00
Michael Biebl c91d5ebec1 Upload to unstable. 2012-05-25 05:53:18 +00:00
Michael Biebl 5a00d5e117 Move experimental branch of gnome-shell-extensions to unstable 2012-05-25 05:52:36 +00:00
Michael Biebl 1b938d9d5b Release version 3.4.0-1 to experimental 2012-05-20 22:25:15 +00:00
Michael Biebl 62cbbef068 Bump Standards-Version to 3.9.3 2012-05-20 22:24:52 +00:00
Michael Biebl 684547a66d * Remove 01_status-menu_disable_accounts.patch: The alternative-status-menu
extension no longer recreates the complete user menu but reuses the one
  from gnome-shell, so we can't easily get rid of the "Online Accounts" menu
  entry. We will patch gnome-shell directly instead.
* Remove 02-Revert-all-remove-all-GSettings-usage.patch and
  03-Revert-Remove-all-references-to-localedir-from-metad.patch, no longer
  required.
2012-05-20 22:23:40 +00:00
Michael Biebl 261569c9fd New upstream release. 2012-05-20 20:49:10 +00:00
Michael Biebl e8d3ad369a Branch gnome-shell-extensions to experimental 2012-05-20 20:43:18 +00:00
Michael Biebl f81ae009f9 Release version 3.2.3-1 to unstable 2012-02-11 22:29:11 +00:00
Michael Biebl 8b954a2937 Add 03-Revert-Remove-all-references-to-localedir-from-metad.patch: Use
locales from system-wide location.
2012-02-11 22:26:30 +00:00
Michael Biebl 1e58f48f1d Use dh-autoreconf to generate the build system. 2012-02-11 22:08:34 +00:00
Michael Biebl 1a0e9905fb Update enable_extensions to alternative-status-menu@gnome-shell-extensions.gcampax.github.com
See http://git.gnome.org/browse/gnome-shell-extensions/commit/?id=d76abc79c77953de1be4322d96c14e0b8cccf047
2012-02-11 21:58:17 +00:00
Michael Biebl 8a04a843f6 Add debian/patches/02-Revert-all-remove-all-GSettings-usage.patch: Use
GSettings since we install the extensions system-wide.
2012-02-11 21:55:11 +00:00
Michael Biebl 814e57fbd0 Refresh debian/patches/01_status-menu_disable_accounts.patch. 2012-02-11 21:53:25 +00:00
Michael Biebl f69389a76b * Drop patches which have been merged upstream:
- debian/patches/upstream/*
  - debian/patches/fix-*
2012-02-11 21:50:52 +00:00
Michael Biebl 3f9b1357ff New upstream release. 2012-02-11 21:43:10 +00:00
Michael Biebl e0cb098823 Remove useless comment from package synopsis
We don't have a package split
2012-02-11 21:28:23 +00:00
Josselin Mouette bc470533bf 01_status-menu_disable_accounts.patch: new patch. Drop the unusable
advertisement for Google. It is already available in the control 
center anyway.
2011-12-29 09:54:02 +00:00
Michael Biebl 84d4e7efe3 Upload to unstable. 2011-12-13 21:44:11 +00:00
Josselin Mouette 39b900243e Use ${gnome:Version} to generate strict dependencies, it’s very
unlikely that extensions remain compatible after a major upgrade.
2011-12-03 21:10:49 +00:00
Josselin Mouette 017aedadd2 gnome-shell-extensions.gsettings-override: enable the alternative
status menu by default. Closes: #648112.
2011-11-17 00:37:49 +00:00
Michael Biebl 7c06399818 Release version 3.2.0-1 to experimental 2011-11-12 17:32:53 +00:00
Victor Seva Lopez 26646997b0 Add alternate-tab_gnome-shell_version patch. 2011-11-12 16:24:11 +00:00
Victor Seva Lopez 1b3f651c7e Add patch to fix alternate-tab from 661281 bug report. 2011-11-12 16:23:56 +00:00
Victor Seva Lopez 23b002adaa Add gir1.2-gtop-2.0 Depends for systemMonitor extension 2011-11-12 13:03:47 +00:00
Victor Seva Lopez d9118a8653 Enable systemMonitor.
Add patch to get dock loaded.
2011-11-12 12:41:23 +00:00
Victor Seva Lopez 245714aa0c Added upstream patches
enabled/disabled extensions
2011-11-12 11:39:10 +00:00
Victor Seva Lopez 2618620d04 Use GPL-2.0+ Licence for debian/* 2011-11-07 17:28:11 +00:00
Michael Biebl 1d3d0585a2 * debian/rules:
- Include gnome-get-source.mk.
2011-11-07 17:05:16 +00:00
Michael Biebl 2e263b1cdc Add Vcs-Svn and Vcs-Browser field. 2011-11-07 17:04:20 +00:00
Michael Biebl f4aece9488 Wrap (Build-)Depends. 2011-11-07 17:02:22 +00:00
Michael Biebl c1928689da Remove duplicate line in long description 2011-11-07 17:01:12 +00:00
Michael Biebl 6972b3458d * debian/control.in:
- Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer and add
    Victor Seva <linuxmaniac@torreviejawireless.org> to Uploaders.
2011-11-07 17:00:45 +00:00
Michael Biebl bb6634bbb0 debian/watch: Track .xz tarballs. 2011-11-07 16:59:27 +00:00
Michael Biebl 1b2a6bdc72 Merge changelog entries 2011-11-07 16:57:37 +00:00
Michael Biebl 901c12671e Import debian/ directory from https://github.com/linuxmaniac/pkg_gnome-shell-extensions/tree/master/debian 2011-11-07 16:41:45 +00:00
Bilal Akhtar 3c564fd613 Create directory for gnome-shell-extensions 2011-06-11 08:05:17 +00:00
138 changed files with 12577 additions and 6108 deletions
+17
View File
@@ -0,0 +1,17 @@
# SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
# SPDX-License-Identifier: CC0-1.0
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
trim_trailing_whitespace = true
[*.js]
indent_size = 4
[meson.build]
indent_size = 2
+12
View File
@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
# SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: CC0-1.0
po/gnome-shell-extensions.pot
zip-files/
*~
*.patch
*.sw?
.buildconfig
.vscode
+36 -36
View File
@@ -3,8 +3,13 @@
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
include: include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml' - remote: 'https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml" - remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/bc70242ffb8402243e934659ecc1a2d1c89eca2b/templates/ci-fairy.yml"
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
inputs:
job-stage: deploy
dist-job-name: fedora-dist-tarball
tarball-artifact-path: "$TARBALL_ARTIFACT_PATH"
stages: stages:
- pre_review - pre_review
@@ -14,7 +19,7 @@ stages:
- deploy - deploy
default: default:
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0 image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/41:2024-10-18.0
# Cancel jobs if newer commits are pushed to the branch # Cancel jobs if newer commits are pushed to the branch
interruptible: true interruptible: true
# Auto-retry jobs in case of infra failures # Auto-retry jobs in case of infra failures
@@ -28,10 +33,13 @@ default:
variables: variables:
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
LINT_LOG: "eslint-report.xml" MESON_BUILD_DIR: build
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
workflow: workflow:
rules: rules:
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"'
when: never
- if: '$CI_MERGE_REQUEST_IID' - if: '$CI_MERGE_REQUEST_IID'
- if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH' - if: '$CI_COMMIT_BRANCH'
@@ -44,13 +52,6 @@ workflow:
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/' - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual' - when: 'manual'
.gnome-shell-extensions.fedora:34:
variables:
FDO_DISTRIBUTION_VERSION: 34
FDO_DISTRIBUTION_TAG: '2021-08-31.0'
FDO_DISTRIBUTION_PACKAGES: >
meson git gettext sassc
.prereview_req: &prereview_req .prereview_req: &prereview_req
needs: needs:
- check_commit_log - check_commit_log
@@ -102,13 +103,6 @@ check-reuse:
script: script:
- reuse lint - reuse lint
build-fedora-container:
extends:
- .fdo.container-build@fedora@x86_64
- .gnome-shell-extensions.fedora:34
stage: prepare
<<: *prereview_req
js_check: js_check:
stage: review stage: review
<<: *prereview_req <<: *prereview_req
@@ -118,14 +112,25 @@ js_check:
eslint: eslint:
stage: review stage: review
<<: *prereview_req <<: *prereview_req
variables:
LINT_LOG: "eslint-report.xml"
script: script:
- export NODE_PATH=$(npm root -g) - export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout - ./.gitlab-ci/run-eslint --output-file "$LINT_LOG" --format junit --stdout
artifacts: artifacts:
paths: paths:
- ${LINT_LOG} - "$LINT_LOG"
reports: reports:
junit: ${LINT_LOG} junit: "$LINT_LOG"
potfile_js_check:
stage: review
<<: *prereview_req
script:
- gjs-check-potfiles
artifacts:
reports:
junit: gjs-check-potfiles.junit.xml
build-bundles: build-bundles:
stage: build stage: build
@@ -139,32 +144,25 @@ build-bundles:
- zip-files/ - zip-files/
fedora-build: fedora-build:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: build stage: build
needs: <<: *prereview_req
- build-fedora-container
script: script:
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true - meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C build - meson compile -C "$MESON_BUILD_DIR"
- meson test -C build - meson test -C "$MESON_BUILD_DIR"
- meson install -C build - meson install -C "$MESON_BUILD_DIR"
artifacts: artifacts:
paths: paths:
- build - "$MESON_BUILD_DIR"
fedora-dist: fedora-dist:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: deploy stage: deploy
needs: needs:
- fedora-build - fedora-build
variables: variables:
GIT_SUBMODULE_STRATEGY: normal GIT_SUBMODULE_STRATEGY: normal
script: script:
- meson dist -C build - meson dist -C "$MESON_BUILD_DIR"
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes: changes:
@@ -175,7 +173,9 @@ fedora-dist-tarball:
extends: fedora-dist extends: fedora-dist
artifacts: artifacts:
expose_as: 'Get tarball here' expose_as: 'Get tarball here'
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
paths: paths:
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz - "$TARBALL_ARTIFACT_PATH"
rules: rules:
- if: '$CI_COMMIT_TAG' - if: '$CI_COMMIT_TAG'
-3
View File
@@ -20,9 +20,6 @@ need in gnome-shell.
Generally, we follow [GJS coding style][coding-style], which in short is: Generally, we follow [GJS coding style][coding-style], which in short is:
indent 4 spaces, no tabs, space after comma, no space after function call. indent 4 spaces, no tabs, space after comma, no space after function call.
The Emacs mode line for this
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
Imports should be at the top, in two groups, one for standard Imports should be at the top, in two groups, one for standard
imports (like imports.lang or imports.dbus) and introspection, imports (like imports.lang or imports.dbus) and introspection,
the other for Shell API. Within the same group, put everything the other for Shell API. Within the same group, put everything
+161
View File
@@ -1,3 +1,164 @@
47.3
====
* places-menu: Fix opening drives with mount operations [Florian; !361]
* window-list: Fix hiding when entering overview with gestures [Florian; !364]
* workspace-indicator: Only show previews of regular windows [Florian; !363]
* Misc. bug fixes and cleanups [Florian, Bartłomiej; !362, !365, !367,
!368, !370]
Contributors:
Florian Müllner, Bartłomiej Piotrowski
Translators:
Yi-Jyun Pan [zh_TW]
47.2
====
* places-menu: Fix a11y labelling [Florian; #542]
* screenshot-window-sizer: Mention shortcut in description [Florian; !358]
* Misc. bug fixes and cleanups [Florian; !353, !354]
Contributors:
Florian Müllner
Translators:
Fabio Tomat [fur], Nathan Follens [nl], Марко Костић [sr]
47.1
====
* classic: Add missing top-bar indicators [Florian; !339]
* window-list: Fix window state styling [Florian; !342]
* window-list: Fix "ignore-workspace" setting getting reset [Florian; !341]
* Misc. bug fixes and cleanups [Florian; !337, !338, !345, !347, !349]
Contributors:
Florian Müllner
47.0
====
Translators:
twlvnn kraftwerk [bg], Alexander Shopov [bg], Fran Dieguez [gl],
Aurimas Černius [lt], Daniel [es], Andika Triwidada [id],
Andi Chandler [en_GB], Ask Hjorth Larsen [da], Aefgh Threenine [th],
Dušan Kazik [sk], Rūdolfs Mazurs [lv], Irénée THIRION [fr]
47.rc
=====
* Misc. bug fixes and cleanups [Sophie; !333]
Contributors:
Sophie Herold
Translators:
Daniel Șerbănescu [ro], Giannis Antypas [el], Ekaterine Papava [ka],
Jordi Mas i Hernandez [ca], Yuri Chornoivan [uk], Jiri Grönroos [fi],
Daniel Rusek [cs], Vasil Pupkin [be], Luming Zh [zh_CN], Brage Fuglseth [nb],
Asier Sarasua Garmendia [eu], Danial Behzadi [fa], Rafael Fontenelle [pt_BR],
Quentin PAGÈS [oc], Anders Jonsson [sv], Jürgen Benvenuti [de],
Changwoo Ryu [ko], Hugo Carvalho [pt], Piotr Drąg [pl], Sabri Ünal [tr]
47.beta
=======
* window-list: Modernize styling [Jakub; !330]
* Include "status-icons" extension [Florian; !194]
* Misc. bug fixes and cleanups [Florian; !328, !331, !327]
Contributors:
Florian Müllner, Jakub Steiner
Translators:
Sabri Ünal [tr], Chao-Hsiung Liao [zh_TW]
47.alpha
========
* Improve workspace previews in window-list and workspace-indicator
[Florian; !307, !316]
* apps-menu: Fix a11y of category labels [Florian; !319]
* window-list: Fix long-press support [Florian; !320]
* window-list: Animate transitions [Florian; !325]
* Misc. bug fixes and cleanups [Florian; !315, !321, !324]
Contributors:
Florian Müllner
Translators:
Jordi Mas i Hernandez [ca], Martin [sl], Hugo Carvalho [pt], Jose Riha [sk],
Scrambled 777 [hi], Artur S0 [ru], Милош Поповић [sr], Yosef Or Boczko [he],
Balázs Úr [hu]
46.1
====
* screenshot-window-sizer: Add flathub-recommended size [Florian; !317]
Contributors:
Florian Müllner
Translators:
Rachida SACI [kab], Matheus Polkorny [pt_BR], Fabio Tomat [fur]
46.0
====
* system-monitor: Fix net speed [Florian; !313]
* Misc. bug fixes and cleanups [Aral; !311]
Contributors:
Aral Balkan, Florian Müllner
Translators:
Anders Jonsson [sv], Piotr Drąg [pl], Balázs Úr [hu], Milo Casagrande [it],
Quentin PAGÈS [oc], Athmane MOKRAOUI [kab], Changwoo Ryu [ko],
Ask Hjorth Larsen [da]
46.rc
=====
* Fix window previews in workspace indicator [Florian; !304]
* Fix menu ornament in workspace indicator [Florian; !305]
* Misc. bug fixes and cleanups [Florian; !306, !309]
Contributors:
Florian Müllner
Translators:
Danial Behzadi [fa], Ekaterine Papava [ka], Sabri Ünal [tr], Artur S0 [ru],
Yuri Chornoivan [uk], Vasil Pupkin [be], Asier Sarasua Garmendia [eu],
Yaron Shahrabani [he], Brage Fuglseth [nb], Nathan Follens [nl],
Aurimas Černius [lt], Matej Urbančič [sl], Boyuan Yang [zh_CN],
Kukuh Syafaat [id], Fran Dieguez [gl], Andi Chandler [en_GB],
Baurzhan Muftakhidinov [kk], Rūdolfs Mazurs [lv], Guillaume Bernard [fr],
Daniel Mustieles [es], Jiri Grönroos [fi]
46.beta
=======
* apps-menu: Rename Applications to Apps [Allan; !299]
* Misc. bug fixes and cleanups [Florian; !296, !297, !300, !301, !302]
Contributors:
Allan Day, Florian Müllner
Translators:
Gabriel Brand [de], Daniel Rusek [cs], Fran Dieguez [gl],
Aefgh Threenine [th], Vasil Pupkin [be], Artur S0 [ru], Yosef Or Boczko [he],
Sabri Ünal [tr]
46.alpha
========
* workspace-indicator: Fix initial preview visibility [Florian; !280, !292]
* screenshot-window-sizer: Fix cycling between sizes backwards [Florian; !284]
* Add back overview in Classic session [Florian; !287]
* Allow running Classic session headless [Jonas; !289]
* window-list: Fix buttons not being clickable at the screen edge
[Florian; !291]
* Add system-monitor extension [Florian; !277]
* Fixed crash [Florian; !290]
* Misc. bug fixes and cleanups [Florian; !276, !275, !278, !281, !286, !288]
Contributors:
Jonas Ådahl, Florian Müllner
Translators:
Kristjan SCHMIDT [eo], Brage Fuglseth [nb]
45.0 45.0
==== ====
+1 -1
View File
@@ -51,7 +51,7 @@ GSettings key.
* screenshot-window-sizer * screenshot-window-sizer
Adds a shortcut for resizing the focus window to a size that is suitable for GNOME Software screenshots Adds a shortcut for resizing the focus window to a size that is suitable for GNOME Software screenshots. Ctrl + Alt + s cycles forwards through the available sizes and Ctrl + Alt + Shift + s cycles backwards.
* user-theme * user-theme
+2 -3
View File
@@ -1,11 +1,10 @@
{ {
"parentMode": "user", "parentMode": "user",
"colorScheme": "force-light", "colorScheme": "force-light",
"hasOverview": false,
"showWelcomeDialog": false, "showWelcomeDialog": false,
"enabledExtensions": [@CLASSIC_EXTENSIONS@], "enabledExtensions": [@CLASSIC_EXTENSIONS@],
"panel": { "left": [], "panel": { "left": ["activities"],
"center": [], "center": [],
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"] "right": ["screenRecording", "screenSharing", "dwellClick", "a11y", "keyboard", "dateMenu", "quickSettings"]
} }
} }
+1
View File
@@ -6,3 +6,4 @@ TryExec=gnome-session
Type=Application Type=Application
DesktopNames=GNOME-Classic;GNOME; DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true
+1
View File
@@ -6,3 +6,4 @@ TryExec=gnome-session
Type=Application Type=Application
DesktopNames=GNOME-Classic;GNOME; DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true
+24 -24
View File
@@ -10,33 +10,33 @@ session_desktops = [
session_desktop_base + '-wayland', session_desktop_base + '-wayland',
] ]
foreach name: session_desktops foreach name : session_desktops
session_desktop = name + '.desktop' session_desktop = name + '.desktop'
if name.endswith('-xorg') if name.endswith('-xorg')
session_instdir = xsessiondir session_instdir = xsessiondir
elif name.endswith('-wayland') elif name.endswith('-wayland')
session_instdir = wlsessiondir session_instdir = wlsessiondir
else else
# FIXME: The same target can not be copied into two directories. # FIXME: The same target can not be copied into two directories.
# There is a workaround in meson/session-post-install.py until proper # There is a workaround in meson/session-post-install.py until proper
# solution arises: # solution arises:
# https://github.com/mesonbuild/meson/issues/2416 # https://github.com/mesonbuild/meson/issues/2416
session_instdir = xsessiondir session_instdir = xsessiondir
#session_instdir = [ xesssiondir, wlsessiondir ] #session_instdir = [ xesssiondir, wlsessiondir ]
endif endif
i18n.merge_file( i18n.merge_file(
input: session_desktop + '.in', input: session_desktop + '.in',
output: session_desktop, output: session_desktop,
po_dir: '../po', po_dir: '../po',
install: true, install: true,
install_dir: session_instdir, install_dir: session_instdir,
type: 'desktop' type: 'desktop',
) )
endforeach endforeach
classic_uuids = [] classic_uuids = []
foreach e : classic_extensions foreach e : classic_extensions
classic_uuids += e + uuid_suffix classic_uuids += e + uuid_suffix
endforeach endforeach
mode_conf = configuration_data() mode_conf = configuration_data()
@@ -47,7 +47,7 @@ configure_file(
input: mode_file + '.in', input: mode_file + '.in',
output: mode_file, output: mode_file,
configuration: mode_conf, configuration: mode_conf,
install_dir: modedir install_dir: modedir,
) )
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override' classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
+1040
View File
File diff suppressed because it is too large Load Diff
+309
View File
@@ -0,0 +1,309 @@
Source: gnome-shell-extensions
Section: gnome
Priority: optional
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Uploaders: Iain Lane <laney@debian.org>, Jeremy Bícha <jbicha@ubuntu.com>, Laurent Bigonville <bigon@debian.org>, Marco Trevisan (Treviño) <marco@ubuntu.com>
Build-Depends: debhelper-compat (= 13),
dh-sequence-gnome,
dpkg-build-api (= 1),
libglib2.0-bin,
meson (>= 1.1.0),
sassc
Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git
Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions
Package: gnome-shell-extensions
Section: oldlibs
Architecture: all
Depends: gnome-shell-extension-apps-menu,
gnome-shell-extension-auto-move-windows,
gnome-shell-extension-drive-menu,
gnome-shell-extension-launch-new-instance,
gnome-shell-extension-light-style,
gnome-shell-extension-native-window-placement,
gnome-shell-extension-places-menu,
gnome-shell-extensions-common,
gnome-shell-extension-screenshot-window-sizer,
gnome-shell-extension-system-monitor,
gnome-shell-extension-user-theme,
gnome-shell-extension-window-list,
gnome-shell-extension-windows-navigator,
gnome-shell-extension-workspace-indicator,
${misc:Depends}
Recommends: gnome-classic
Description: Extensions to extend functionality of GNOME Shell
GNOME Shell is extensible using extensions. This package contains
all the official GNOME Shell extensions.
.
This is an empty transitional package and will likely be removed
in the future.
Package: gnome-classic
Architecture: all
Depends: fonts-cantarell,
gnome-session,
gnome-session-bin (>= 46),
gnome-session-common (>= 46),
gnome-shell-extension-apps-menu,
gnome-shell-extension-places-menu,
gnome-shell-extension-launch-new-instance,
gnome-shell-extension-window-list,
xdg-desktop-portal-gnome,
${misc:Depends}
Recommends: gnome-classic-xsession
Provides: x-session-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Classic version of the GNOME desktop
This package contains the required components for the GNOME Classic
session, based on the GNOME Shell. It can be started from a display
manager such as GDM, and requires 3D acceleration to work properly.
.
The GNOME Shell provides core interface functions like switching
windows, launching applications or see your notifications. It takes
advantage of the capabilities of modern graphics hardware and
introduces innovative user interface concepts to provide a
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME user experience.
.
GNOME Classic provides an alternative version of GNOME Shell that uses
more traditional design elements.
Package: gnome-classic-xsession
Architecture: all
Depends: gnome-classic,
${misc:Depends}
Provides: x-session-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Classic version of the GNOME desktop using Xorg
This package contains the required components for the GNOME Classic on Xorg
session, based on the GNOME Shell. It can be started from a display
manager such as GDM, and requires 3D acceleration to work properly.
.
The GNOME Shell provides core interface functions like switching
windows, launching applications or see your notifications. It takes
advantage of the capabilities of modern graphics hardware and
introduces innovative user interface concepts to provide a
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME user experience.
.
GNOME Classic provides an alternative version of GNOME Shell that uses
more traditional design elements.
Package: gnome-shell-extensions-common
Architecture: all
Depends: ${misc:Depends}
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: common files for official GNOME Shell extensions
GNOME Shell is extensible using extensions. This package contains
common data files such as translations for the official GNOME Shell
extensions.
Package: gnome-shell-extension-apps-menu
Architecture: all
Depends: gir1.2-gmenu-3.0,
gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Category based app menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a category based Apps menu
similar to what is found in classic desktops.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-auto-move-windows
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to move apps to specific workspaces
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to move apps to specific workspaces when
they create windows.
Package: gnome-shell-extension-drive-menu
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Removable drive status menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a status menu for accessing and
unmounting removable devices.
Package: gnome-shell-extension-launch-new-instance
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to launch new instances of apps
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to always launch a new instance of an
app when clicking in the Dash or the application view.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-light-style
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to switch the Shell to light style
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to switch GNOME Shell to use a light
style instead of the default.
Package: gnome-shell-extension-native-window-placement
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to arrange windows in a more compact way
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to arrange windows in the GNOME Shell
overview in a more compact way.
Package: gnome-shell-extension-places-menu
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Places menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a menu for quickly navigating to
places in the system, similar to the menu in GNOME 2.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-screenshot-window-sizer
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to resize windows for GNOME Software screenshots
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to resize windows to the recommended
size for creating screenshots for use in the GNOME Software app.
Package: gnome-shell-extension-status-icons
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Description: GNOME Shell extension to show some status icons in the top bar
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to show some status icons in the top bar.
Package: gnome-shell-extension-system-monitor
Architecture: all
Depends: gir1.2-gtop-2.0,
gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Display system information in GNOME Shell status bar
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to display system information such as
memory usage, cpu usage, network rates and more in the top bar.
Package: gnome-shell-extension-user-theme
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to load alternative GNOME Shell themes
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to allow switching to alternative
GNOME Shell themes.
Package: gnome-shell-extension-window-list
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to display a window list
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to display a window list at the bottom
of the screen.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-windows-navigator
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to allow keyboard selection in overlay mode
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to allow keyboard selections of windows
and workspaces in overlay mode. Ctrl+number selects a workspace and
Alt+number selects a window.
Package: gnome-shell-extension-workspace-indicator
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Workspace indicator for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add an indicator to the panel to
show what workspace you are using and allow you to switch to a different
workspace.
+169
View File
@@ -0,0 +1,169 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://download.gnome.org/sources/gnome-shell-extensions/
Files: *
Copyright: 2011-2013 Giovanni Campagna
2013-2024 Florian Müllner
2011 Iranian Free Software Users Group (IFSUG.org) translation team
2021-2022 Alexander Shopov
2011-2023 Red Hat, Inc
2013 Rosetta Contributors and Canonical Ltd
Free Software Foundation, Inc
Rūdofls Mazurs
Ville-Pekka Vainio
License: GPL-2+
Files: debian/*
Copyright: 2011 Victor Seva <linuxmaniac@torreviejawireless.org>
2011 Bilal Akhtar <bilalakhtar@ubuntu.com>
License: GPL-2+
Files: extensions/apps-menu/extension.js
Copyright: 2011 Giovanni Campagna
2011 Vamsi Krishna Brahmajosyula
2013 Debarshi Ray
2013 Florian Müllner
License: GPL-2+
Files: extensions/auto-move-windows/extension.js
Copyright: 2011 Alessandro Crismani
2011 Giovanni Campagna
2014 Florian Müllner
License: GPL-2+
Files: extensions/launch-new-instance/extension.js
Copyright: 2013 Florian Müllner
2013 Gabriel Rossetti
License: GPL-2+
Files: extensions/native-window-placement/extension.js
Copyright: 2011 Giovanni Campagna
2011 Stefano Facchini
2011 Wepmaschda
2015 Florian Müllner
License: GPL-2+
Files: extensions/places-menu/extension.js
Copyright: 2011 Giovanni Campagna
2011 Vamsi Krishna Brahmajosyula
2013 Florian Müllner
2016 Rémy Lefevre
License: GPL-2+
Files: extensions/places-menu/placeDisplay.js
Copyright: 2012 Giovanni Campagna
2013 Debarshi Ray
2015 Florian Müllner
2016 Rémy Lefevre
2017 Christian Kellner
License: GPL-2+
Files: extensions/screenshot-window-sizer/extension.js
Copyright: 2013 Owen Taylor
2013 Richard Hughes
2014 Florian Müllner
2016 Will Thompson
2017 Florian Müllner
2019 Adrien Plazas
2019 Willy Stadnick
License: GPL-2+
Files: extensions/status-icons/extension.js
Copyright: 2018 Adel Gadllah
2018 Florian Müllner
License: GPL-2+
Files: extensions/system-monitor/icons/*
Copyright: GNOME Design Team Icon Development Kit
License: CC0-1.0
Files: extensions/user-theme/extension.js
Copyright: 2011 Elad Alfassa
2011 Giovanni Campagna
2011 John Stowers
2014 Florian Müllner
License: GPL-2+
Files: extensions/window-list/prefs.js
Copyright: 2013 Florian Müllner
2014 Sylvain Pasche
License: GPL-2+
Files: extensions/window-list/stylesheet-light.css
extensions/workspace-indicator/stylesheet-light.css
Copyright: 2011-2013 Giovanni Campagna
2013-2024 Florian Müllner
License: GPL-2+
Files: extensions/windowsNavigator/extension.js
Copyright: 2011 Giovanni Campagna
2011, Maxim Ermilov
2017, Florian Müllner
2019, Marco Trevisan (Treviño)
2020, Thun Pin
License: GPL-2+
Files: extensions/windowsNavigator/stylesheet.css
Copyright: 2011 Maxim Ermilov
License: GPL-2+
Files: extensions/workspace-indicator/stylesheet-dark.css
Copyright: 2011 Erick Pérez Castellanos
2019 Florian Müllner
License: GPL-2+
Files: lint/eslintrc-gjs.yml
Copyright: 2018 Claudio André
License: Expat
Files: lint/eslintrc-shell.yml
Copyright: 2019 Florian Müllner
License: Expat
Files: meson/session-post-install.py
Copyright: 2021, Neal Gompa
License: GPL-2+
License: CC0-1.0
To the extent possible under law, the author(s) have dedicated all copyright
and related and neighboring rights to this software to the public domain
worldwide. This software is distributed without any warranty.
.
You should have received a copy of the CC0 Public Domain Dedication along with
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
.
On Debian systems, the complete text of the CC0 1.0 Universal license can be
found in "/usr/share/common-licenses/CC0-1.0".
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
Vendored
+2
View File
@@ -0,0 +1,2 @@
NEWS
README.md
+17
View File
@@ -0,0 +1,17 @@
[DEFAULT]
pristine-tar = True
debian-branch = debian/latest
upstream-branch = upstream/latest
[buildpackage]
sign-tags = True
[dch]
multimaint-merge = True
[import-orig]
postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
upstream-vcs-tag = %(version%~%.)s
[pq]
patch-numbers = False
+1
View File
@@ -0,0 +1 @@
usr/share/xsessions
+4
View File
@@ -0,0 +1,4 @@
debian/local/gnome-session-classic usr/bin
usr/share/glib-2.0/schemas/00_org.gnome.shell.extensions.classic.gschema.override
usr/share/gnome-shell/modes/classic.json
usr/share/wayland-sessions
+2
View File
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.apps-menu.gschema.xml
usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com
+1
View File
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com
+1
View File
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/light-style@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com
+1
View File
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
+1
View File
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/status-icons@gnome-shell-extensions.gcampax.github.com
+2
View File
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml
usr/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com
+2
View File
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com
+2
View File
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com
@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com
+1
View File
@@ -0,0 +1 @@
usr/share/locale
+2
View File
@@ -0,0 +1,2 @@
#! /bin/sh
env GNOME_SHELL_SESSION_MODE=classic gnome-session "$@"
View File
Vendored Executable
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- \
-Dextension_set=all \
-Dclassic_mode=true
override_dh_gnome_clean:
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+5
View File
@@ -0,0 +1,5 @@
---
Bug-Database: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues
Bug-Submit: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/new
Repository: https://gitlab.gnome.org/GNOME/gnome-shell-extensions.git
Repository-Browse: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
+4
View File
@@ -0,0 +1,4 @@
version=4
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
https://download.gnome.org/sources/@PACKAGE@/cache.json \
[\d.]+/@PACKAGE@-([\d.]+\.?(?:beta|rc)?[\d.]*)@ARCHIVE_EXT@
+9 -7
View File
@@ -8,16 +8,16 @@ srcdir=`dirname $0`
srcdir=`(cd $srcdir && pwd)` srcdir=`(cd $srcdir && pwd)`
builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1 builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1 destdir=`mktemp -p $srcdir -d _dest.XXXXXX` || exit 1
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir meson setup --prefix=/usr -Dextension_set=all $srcdir $builddir
meson install -C $builddir meson install --destdir $destdir -C $builddir
rm -rf $srcdir/zip-files rm -rf $srcdir/zip-files
mkdir $srcdir/zip-files mkdir $srcdir/zip-files
extensiondir=$installdir/share/gnome-shell/extensions extensiondir=$destdir/usr/share/gnome-shell/extensions
schemadir=$installdir/share/glib-2.0/schemas schemadir=$destdir/usr/share/glib-2.0/schemas
for f in $extensiondir/*; do for f in $extensiondir/*; do
name=`basename ${f%%@*}` name=`basename ${f%%@*}`
@@ -39,7 +39,9 @@ for f in $extensiondir/*; do
fi fi
cp $srcdir/NEWS $srcdir/COPYING $f cp $srcdir/NEWS $srcdir/COPYING $f
sources=(NEWS COPYING $(cd $f; ls *.js)) sources=(NEWS COPYING $(cd $f; ls *.js *.css 2>/dev/null))
[ -d $f/icons ] && sources+=(icons)
[ -f $schema ] || unset schema [ -f $schema ] || unset schema
@@ -48,4 +50,4 @@ for f in $extensiondir/*; do
done done
rm -rf $builddir rm -rf $builddir
rm -rf $installdir rm -rf $destdir
+35 -63
View File
@@ -5,7 +5,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
import Atk from 'gi://Atk'; import Atk from 'gi://Atk';
import Clutter from 'gi://Clutter'; import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
@@ -125,7 +124,10 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
else else
name = _('Favorites'); name = _('Favorites');
this.add_child(new St.Label({text: name})); const label = new St.Label({text: name});
this.add_child(label);
this.actor.label_actor = label;
this.connect('motion-event', this._onMotionEvent.bind(this)); this.connect('motion-event', this._onMotionEvent.bind(this));
this.connect('notify::active', this._onActiveChanged.bind(this)); this.connect('notify::active', this._onActiveChanged.bind(this));
} }
@@ -214,9 +216,9 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
this._grab?.dismiss(); this._grab?.dismiss();
delete this._grab; delete this._grab;
let source = event.get_source(); const targetActor = global.stage.get_event_actor(event);
if (source instanceof St.Widget) if (targetActor instanceof St.Widget)
source.sync_hover(); targetActor.sync_hover();
return false; return false;
} }
@@ -255,7 +257,7 @@ class DesktopTarget extends EventEmitter {
this._desktopDestroyedId = 0; this._desktopDestroyedId = 0;
this._windowAddedId = this._windowAddedId =
global.window_group.connect('actor-added', global.window_group.connect('child-added',
this._onWindowAdded.bind(this)); this._onWindowAdded.bind(this));
global.get_window_actors().forEach(a => { global.get_window_actors().forEach(a => {
@@ -363,6 +365,20 @@ class DesktopTarget extends EventEmitter {
} }
} }
class MainLayout extends Clutter.BoxLayout {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_height(container, forWidth) {
const [mainChild] = container;
const [minHeight, natHeight] =
mainChild.get_preferred_height(forWidth);
return [minHeight, natHeight + MENU_HEIGHT_OFFSET];
}
}
class ApplicationsButton extends PanelMenu.Button { class ApplicationsButton extends PanelMenu.Button {
static { static {
GObject.registerClass(this); GObject.registerClass(this);
@@ -380,12 +396,12 @@ class ApplicationsButton extends PanelMenu.Button {
this.accessible_role = Atk.Role.LABEL; this.accessible_role = Atk.Role.LABEL;
this._label = new St.Label({ this._label = new St.Label({
text: _('Applications'), text: _('Apps'),
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
}); });
this.add_actor(this._label); this.add_child(this._label);
this.name = 'panelApplications'; this.name = 'panelApplications';
this.label_actor = this._label; this.label_actor = this._label;
@@ -432,15 +448,6 @@ class ApplicationsButton extends PanelMenu.Button {
} }
} }
_createVertSeparator() {
let separator = new St.DrawingArea({
style_class: 'calendar-vertical-separator',
pseudo_class: 'highlighted',
});
separator.connect('repaint', this._onVertSepRepaint.bind(this));
return separator;
}
_onDestroy() { _onDestroy() {
super._onDestroy(); super._onDestroy();
@@ -462,21 +469,6 @@ class ApplicationsButton extends PanelMenu.Button {
return super._onMenuKeyPress(actor, event); return super._onMenuKeyPress(actor, event);
} }
_onVertSepRepaint(area) {
let cr = area.get_context();
let themeNode = area.get_theme_node();
let [width, height] = area.get_surface_size();
let stippleColor = themeNode.get_color('-stipple-color');
let stippleWidth = themeNode.get_length('-stipple-width');
let x = Math.floor(width / 2) + 0.5;
cr.moveTo(x, 0);
cr.lineTo(x, height);
Clutter.cairo_set_source_color(cr, stippleColor);
cr.setDash([1, 3], 1); // Hard-code for now
cr.setLineWidth(stippleWidth);
cr.stroke();
}
_onOpenStateChanged(menu, open) { _onOpenStateChanged(menu, open) {
if (open) { if (open) {
if (this.reloadFlag) { if (this.reloadFlag) {
@@ -522,7 +514,7 @@ class ApplicationsButton extends PanelMenu.Button {
} }
scrollToButton(button) { scrollToButton(button) {
let appsScrollBoxAdj = this.applicationsScrollBox.get_vscroll_bar().get_adjustment(); let appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment();
let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box(); let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box();
let currentScrollValue = appsScrollBoxAdj.get_value(); let currentScrollValue = appsScrollBoxAdj.get_value();
let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1; let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1;
@@ -537,7 +529,7 @@ class ApplicationsButton extends PanelMenu.Button {
} }
scrollToCatButton(button) { scrollToCatButton(button) {
let catsScrollBoxAdj = this.categoriesScrollBox.get_vscroll_bar().get_adjustment(); let catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment();
let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box(); let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box();
let currentScrollValue = catsScrollBoxAdj.get_value(); let currentScrollValue = catsScrollBoxAdj.get_value();
let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1; let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1;
@@ -554,43 +546,29 @@ class ApplicationsButton extends PanelMenu.Button {
_createLayout() { _createLayout() {
let section = new PopupMenu.PopupMenuSection(); let section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section); this.menu.addMenuItem(section);
this.mainBox = new St.BoxLayout({vertical: false}); this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()});
this.leftBox = new St.BoxLayout({vertical: true}); this.leftBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox = new St.ScrollView({ this.applicationsScrollBox = new St.ScrollView({
style_class: 'apps-menu vfade', style_class: 'apps-menu vfade',
x_expand: true, x_expand: true,
}); });
this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
let vscroll = this.applicationsScrollBox.get_vscroll_bar();
vscroll.connect('scroll-start', () => {
this.menu.passEvents = true;
});
vscroll.connect('scroll-stop', () => {
this.menu.passEvents = false;
});
this.categoriesScrollBox = new St.ScrollView({ this.categoriesScrollBox = new St.ScrollView({
style_class: 'vfade', style_class: 'vfade',
}); });
this.categoriesScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
vscroll = this.categoriesScrollBox.get_vscroll_bar();
vscroll.connect('scroll-start', () => (this.menu.passEvents = true));
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
this.leftBox.add_child(this.categoriesScrollBox); this.leftBox.add_child(this.categoriesScrollBox);
this.applicationsBox = new St.BoxLayout({vertical: true}); this.applicationsBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox.add_actor(this.applicationsBox); this.applicationsScrollBox.set_child(this.applicationsBox);
this.categoriesBox = new St.BoxLayout({vertical: true}); this.categoriesBox = new St.BoxLayout({vertical: true});
this.categoriesScrollBox.add_actor(this.categoriesBox); this.categoriesScrollBox.set_child(this.categoriesBox);
this.mainBox.add(this.leftBox); this.mainBox.add_child(this.leftBox);
this.mainBox.add_child(this._createVertSeparator());
this.mainBox.add_child(this.applicationsScrollBox); this.mainBox.add_child(this.applicationsScrollBox);
section.actor.add_actor(this.mainBox); section.actor.add_child(this.mainBox);
} }
_display() { _display() {
this._applicationsButtons.clear(); this._applicationsButtons.clear();
this.mainBox.style = 'width: 35em;';
this.mainBox.hide(); this.mainBox.hide();
// Load categories // Load categories
@@ -598,7 +576,7 @@ class ApplicationsButton extends PanelMenu.Button {
this._tree.load_sync(); this._tree.load_sync();
let root = this._tree.get_root_directory(); let root = this._tree.get_root_directory();
let categoryMenuItem = new CategoryMenuItem(this, null); let categoryMenuItem = new CategoryMenuItem(this, null);
this.categoriesBox.add_actor(categoryMenuItem); this.categoriesBox.add_child(categoryMenuItem);
let iter = root.iter(); let iter = root.iter();
let nextType; let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
@@ -614,18 +592,12 @@ class ApplicationsButton extends PanelMenu.Button {
this._loadCategory(categoryId, dir); this._loadCategory(categoryId, dir);
if (this.applicationsByCategory[categoryId].length > 0) { if (this.applicationsByCategory[categoryId].length > 0) {
categoryMenuItem = new CategoryMenuItem(this, dir); categoryMenuItem = new CategoryMenuItem(this, dir);
this.categoriesBox.add_actor(categoryMenuItem); this.categoriesBox.add_child(categoryMenuItem);
} }
} }
// Load applications // Load applications
this._displayButtons(this._listApplications(null)); this._displayButtons(this._listApplications(null));
let themeContext = St.ThemeContext.get_for_stage(global.stage);
let scaleFactor = themeContext.scale_factor;
let categoriesHeight = this.categoriesBox.height / scaleFactor;
let height = Math.round(categoriesHeight) + MENU_HEIGHT_OFFSET;
this.mainBox.style += `height: ${height}px`;
} }
selectCategory(dir) { selectCategory(dir) {
@@ -633,7 +605,7 @@ class ApplicationsButton extends PanelMenu.Button {
if (c._delegate instanceof PopupMenu.PopupSeparatorMenuItem) if (c._delegate instanceof PopupMenu.PopupSeparatorMenuItem)
c._delegate.destroy(); c._delegate.destroy();
else else
this.applicationsBox.remove_actor(c); this.applicationsBox.remove_child(c);
}); });
if (dir) if (dir)
@@ -656,7 +628,7 @@ class ApplicationsButton extends PanelMenu.Button {
this._applicationsButtons.set(app, item); this._applicationsButtons.set(app, item);
} }
if (!item.get_parent()) if (!item.get_parent())
this.applicationsBox.add_actor(item); this.applicationsBox.add_child(item);
} }
} }
+2 -2
View File
@@ -3,8 +3,8 @@
"uuid": "@uuid@", "uuid": "@uuid@",
"settings-schema": "@gschemaname@", "settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@", "gettext-domain": "@gettext_domain@",
"name": "Applications Menu", "name": "Apps Menu",
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "description": "Add a category-based menu for apps.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
"original-authors": [ "e2002@bk.ru", "debarshir@gnome.org" ], "original-authors": [ "e2002@bk.ru", "debarshir@gnome.org" ],
"shell-version": [ "@shell_current@" ], "shell-version": [ "@shell_current@" ],
"url": "@url@" "url": "@url@"
+2
View File
@@ -4,6 +4,8 @@
* SPDX-License-Identifier: GPL-2.0-or-later * SPDX-License-Identifier: GPL-2.0-or-later
*/ */
.apps-menu {width: 26em;}
.apps-menu:ltr { .apps-menu:ltr {
padding-right: 3px; padding-right: 3px;
} }
+4 -9
View File
@@ -4,9 +4,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Start apps on custom workspaces
import Shell from 'gi://Shell'; import Shell from 'gi://Shell';
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js'; import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
@@ -22,7 +19,8 @@ class WindowMover {
this._appSystem.connectObject('installed-changed', this._appSystem.connectObject('installed-changed',
() => this._updateAppData(), this); () => this._updateAppData(), this);
this._settings.connect('changed', this._updateAppConfigs.bind(this)); this._settings.connectObject('changed',
this._updateAppConfigs.bind(this), this);
this._updateAppConfigs(); this._updateAppConfigs();
} }
@@ -58,11 +56,8 @@ class WindowMover {
destroy() { destroy() {
this._appSystem.disconnectObject(this); this._appSystem.disconnectObject(this);
this._settings.disconnectObject(this);
if (this._settings) { this._settings = null;
this._settings.run_dispose();
this._settings = null;
}
this._appConfigs.clear(); this._appConfigs.clear();
this._updateAppData(); this._updateAppData();
+3 -6
View File
@@ -3,9 +3,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Start apps on custom workspaces
import Adw from 'gi://Adw'; import Adw from 'gi://Adw';
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import GLib from 'gi://GLib'; import GLib from 'gi://GLib';
@@ -45,11 +42,11 @@ class NewItemModel extends GObject.Object {
class Rule extends GObject.Object { class Rule extends GObject.Object {
static [GObject.properties] = { static [GObject.properties] = {
'app-info': GObject.ParamSpec.object( 'app-info': GObject.ParamSpec.object(
'app-info', 'app-info', 'app-info', 'app-info', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
Gio.DesktopAppInfo), Gio.DesktopAppInfo),
'workspace': GObject.ParamSpec.uint( 'workspace': GObject.ParamSpec.uint(
'workspace', 'workspace', 'workspace', 'workspace', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
1, WORKSPACE_MAX, 1), 1, WORKSPACE_MAX, 1),
}; };
@@ -196,7 +193,7 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
class WorkspaceSelector extends Gtk.Widget { class WorkspaceSelector extends Gtk.Widget {
static [GObject.properties] = { static [GObject.properties] = {
'number': GObject.ParamSpec.uint( 'number': GObject.ParamSpec.uint(
'number', 'number', 'number', 'number', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
1, WORKSPACE_MAX, 1), 1, WORKSPACE_MAX, 1),
}; };
+1 -3
View File
@@ -39,8 +39,6 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
this.mount = mount; this.mount = mount;
this.connect('destroy', this._onDestroy.bind(this));
let ejectIcon = new St.Icon({ let ejectIcon = new St.Icon({
icon_name: 'media-eject-symbolic', icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon', style_class: 'popup-menu-icon',
@@ -50,7 +48,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
style_class: 'button', style_class: 'button',
}); });
ejectButton.connect('clicked', this._eject.bind(this)); ejectButton.connect('clicked', this._eject.bind(this));
this.add(ejectButton); this.add_child(ejectButton);
this.hide(); this.hide();
+8 -6
View File
@@ -16,18 +16,20 @@ foreach e : enabled_extensions
metadata_conf.set('gschemaname', 'org.gnome.shell.extensions.' + e) metadata_conf.set('gschemaname', 'org.gnome.shell.extensions.' + e)
metadata_conf.set('gettext_domain', gettext_domain) metadata_conf.set('gettext_domain', gettext_domain)
metadata_conf.set('shell_current', shell_version) metadata_conf.set('shell_current', shell_version)
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions') metadata_conf.set(
'url',
'https://gitlab.gnome.org/GNOME/gnome-shell-extensions',
)
extension_sources = files(e + '/extension.js') extension_sources = files(e + '/extension.js')
extension_data = [] extension_data = []
subdir(e) subdir(e)
install_data (extension_sources + extension_data, install_data(
install_dir: join_paths(extensiondir, uuid) extension_sources + extension_data,
install_dir: join_paths(extensiondir, uuid),
) )
endforeach endforeach
install_data (extension_schemas, install_data(extension_schemas, install_dir: schemadir)
install_dir: schemadir
)
@@ -5,7 +5,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
import Clutter from 'gi://Clutter'; import Clutter from 'gi://Clutter';
import {Extension, InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js'; import {Extension, InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
+5 -21
View File
@@ -5,7 +5,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
import Clutter from 'gi://Clutter'; import Clutter from 'gi://Clutter';
import GObject from 'gi://GObject'; import GObject from 'gi://GObject';
import St from 'gi://St'; import St from 'gi://St';
@@ -20,32 +19,17 @@ import {PlacesManager} from './placeDisplay.js';
const N_ = x => x; const N_ = x => x;
const PLACE_ICON_SIZE = 16; class PlaceMenuItem extends PopupMenu.PopupImageMenuItem {
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
static { static {
GObject.registerClass(this); GObject.registerClass(this);
} }
constructor(info) { constructor(info) {
super({ super(info.name, info.icon, {
style_class: 'place-menu-item', style_class: 'place-menu-item',
}); });
this._info = info; this._info = info;
this._icon = new St.Icon({
gicon: info.icon,
icon_size: PLACE_ICON_SIZE,
});
this.add_child(this._icon);
this._label = new St.Label({
text: info.name,
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this._label);
if (info.isRemovable()) { if (info.isRemovable()) {
this._ejectIcon = new St.Icon({ this._ejectIcon = new St.Icon({
icon_name: 'media-eject-symbolic', icon_name: 'media-eject-symbolic',
@@ -70,8 +54,8 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
} }
_propertiesChanged(info) { _propertiesChanged(info) {
this._icon.gicon = info.icon; this.setIcon(info.icon);
this._label.text = info.name; this.label.text = info.name;
} }
} }
@@ -95,7 +79,7 @@ class PlacesMenu extends PanelMenu.Button {
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
}); });
this.add_actor(label); this.add_child(label);
this.placesManager = new PlacesManager(); this.placesManager = new PlacesManager();
+8 -11
View File
@@ -6,7 +6,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import GLib from 'gi://GLib'; import GLib from 'gi://GLib';
import Shell from 'gi://Shell'; import Shell from 'gi://Shell';
@@ -61,15 +60,15 @@ class PlaceInfo extends EventEmitter {
return; return;
} }
let source = { const source = {
get_icon: () => this.icon, get_drive: () => null,
}; };
let op = new ShellMountOperation.ShellMountOperation(source); let op = new ShellMountOperation.ShellMountOperation(source);
try { try {
await this.file.mount_enclosing_volume(0, op.mountOp, null); await this.file.mount_enclosing_volume(0, op.mountOp, null);
if (tryMount) if (tryMount)
this._ensureMountAndLaunch(context, false); this._ensureMountAndLaunch(context, false).catch(logError);
} catch (e) { } catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED)) if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message); Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message);
@@ -81,7 +80,7 @@ class PlaceInfo extends EventEmitter {
launch(timestamp) { launch(timestamp) {
let launchContext = global.create_app_launch_context(timestamp, -1); let launchContext = global.create_app_launch_context(timestamp, -1);
this._ensureMountAndLaunch(launchContext, true); this._ensureMountAndLaunch(launchContext, true).catch(logError);
} }
getIcon() { getIcon() {
@@ -141,8 +140,8 @@ class RootInfo extends PlaceInfo {
return; return;
this._proxy = obj; this._proxy = obj;
this._proxy.connect('g-properties-changed', this._proxy.connectObject('g-properties-changed',
this._propertiesChanged.bind(this)); this._propertiesChanged.bind(this), this);
this._propertiesChanged(obj); this._propertiesChanged(obj);
}); });
} }
@@ -161,10 +160,8 @@ class RootInfo extends PlaceInfo {
} }
destroy() { destroy() {
if (this._proxy) { this._proxy?.disconnectObject(this);
this._proxy.run_dispose(); this._proxy = null;
this._proxy = null;
}
super.destroy(); super.destroy();
} }
} }
@@ -24,6 +24,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
[624, 351], [624, 351],
[800, 450], [800, 450],
[1024, 576], [1024, 576],
[1000, 700],
[1200, 675], [1200, 675],
[1600, 900], [1600, 900],
[360, 654], // Phone portrait maximized [360, 654], // Phone portrait maximized
@@ -33,7 +34,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
_flashMessage(message) { _flashMessage(message) {
if (!this._text) { if (!this._text) {
this._text = new St.Label({style_class: 'screenshot-sizer-message'}); this._text = new St.Label({style_class: 'screenshot-sizer-message'});
Main.uiGroup.add_actor(this._text); Main.uiGroup.add_child(this._text);
} }
this._text.remove_all_transitions(); this._text.remove_all_transitions();
@@ -65,10 +66,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
* @param {Meta.KeyBinding} binding - the key binding * @param {Meta.KeyBinding} binding - the key binding
*/ */
_cycleScreenshotSizes(display, window, binding) { _cycleScreenshotSizes(display, window, binding) {
// Probably this isn't useful with 5 sizes, but you can decrease instead const backwards = binding.is_reversed();
// of increase by holding down shift.
let modifiers = binding.get_modifiers();
let backwards = (modifiers & Meta.VirtualModifier.SHIFT_MASK) !== 0;
// Unmaximize first // Unmaximize first
if (window.get_maximized() !== 0) if (window.get_maximized() !== 0)
@@ -99,7 +97,7 @@ export default class ScreenshotWindowSizerExtension extends Extension {
// get the next size up or down from ideal // get the next size up or down from ideal
let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length; let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
let [newWidth, newHeight] = scaledSizes[newIndex]; let [newWidth, newHeight] = scaledSizes.at(newIndex);
// Push the window onscreen if it would be resized offscreen // Push the window onscreen if it would be resized offscreen
let newX = outerRect.x; let newX = outerRect.x;
@@ -4,7 +4,7 @@
"settings-schema": "@gschemaname@", "settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@", "gettext-domain": "@gettext_domain@",
"name": "Screenshot Window Sizer", "name": "Screenshot Window Sizer",
"description": "Resize windows for GNOME Software screenshots", "description": "Resize windows for GNOME Software screenshots with Ctrl+Alt+s shortcut",
"shell-version": [ "@shell_current@" ], "shell-version": [ "@shell_current@" ],
"url": "@url@" "url": "@url@"
} }
+91
View File
@@ -0,0 +1,91 @@
// SPDX-FileCopyrightText: 2018 Adel Gadllah <adel.gadllah@gmail.com>
// SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Clutter from 'gi://Clutter';
import Shell from 'gi://Shell';
import St from 'gi://St';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {Button as PanelButton} from 'resource:///org/gnome/shell/ui/panelMenu.js';
const PANEL_ICON_SIZE = 16;
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = [
'bluetooth-applet',
'gnome-sound-applet',
'nm-applet',
'gnome-power-manager',
'keyboard',
'a11y-keyboard',
'kbd-scrolllock',
'kbd-numlock',
'kbd-capslock',
'ibus-ui-gtk',
];
export default class SysTray {
constructor() {
this._icons = new Map();
this._tray = null;
}
_onTrayIconAdded(o, icon) {
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass))
return;
let button = new PanelButton(0.5, null, true);
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
let iconSize = PANEL_ICON_SIZE * scaleFactor;
icon.set({
width: iconSize,
height: iconSize,
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
});
let iconBin = new St.Widget({
layout_manager: new Clutter.BinLayout(),
style_class: 'system-status-icon',
});
iconBin.add_child(icon);
button.add_child(iconBin);
this._icons.set(icon, button);
button.connect('button-release-event',
(actor, event) => icon.click(event));
button.connect('key-press-event',
(actor, event) => icon.click(event));
const role = `${icon}`;
Main.panel.addToStatusArea(role, button);
}
_onTrayIconRemoved(o, icon) {
const button = this._icons.get(icon);
button?.destroy();
this._icons.delete(icon);
}
enable() {
this._tray = new Shell.TrayManager();
this._tray.connect('tray-icon-added',
this._onTrayIconAdded.bind(this));
this._tray.connect('tray-icon-removed',
this._onTrayIconRemoved.bind(this));
this._tray.manage_screen(Main.panel);
}
disable() {
this._icons.forEach(button => button.destroy());
this._icons.clear();
this._tray.unmanage_screen();
this._tray = null;
}
}
+9
View File
@@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: 2018 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,
configuration: metadata_conf
)
+10
View File
@@ -0,0 +1,10 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Status Icons",
"description": "Show status icons in the top bar",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}
+489
View File
@@ -0,0 +1,489 @@
/*
* SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import GTop from 'gi://GTop';
import Pango from 'gi://Pango';
import Shell from 'gi://Shell';
import St from 'gi://St';
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
const THRESHOLD_HIGH = 0.80;
// adapted from load-graph.cpp in gnome-system-monitor
/**
* @param {string} str
* @returns {number}
*/
function strHash(str) {
let hash = 0xcbf29ce484222325n;
for (const c of str)
hash = (hash * 0x00000100000001B3n) ^ BigInt(c.codePointAt(0));
return hash;
}
class StatSection extends St.BoxLayout {
static {
GObject.registerClass(this);
}
constructor(iconName, accessibleName) {
super({
style_class: 'system-monitor-stat-section',
accessibleName,
});
const ext = Extension.lookupByURL(import.meta.url);
const file =
ext.dir.resolve_relative_path(`icons/${iconName}.svg`);
this._icon = new St.Icon({
style_class: 'system-monitor-stat-section-icon',
gicon: new Gio.FileIcon({file}),
});
this.add_child(this._icon);
this.label = new St.Label({
style_class: 'system-monitor-stat-section-label',
y_align: Clutter.ActorAlign.CENTER,
});
this.label.clutter_text.set({
ellipsize: Pango.EllipsizeMode.NONE,
x_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this.label);
this.connect('destroy', () => this._clearTimeout());
this.connect('notify::visible', () => this._sync());
this._sync();
}
_ensureTimeout() {
if (this._updateId)
return;
this._updateId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 1,
() => {
this._update();
return GLib.SOURCE_CONTINUE;
});
}
_clearTimeout() {
if (this._updateId)
GLib.source_remove(this._updateId);
delete this._updateId;
}
_sync() {
if (this.visible)
this._ensureTimeout();
else
this._clearTimeout();
if (this.visible)
this._update();
}
_update() {
}
}
class LoadStatSection extends StatSection {
static {
GObject.registerClass(this);
}
#formatter = new Intl.NumberFormat(undefined, {
style: 'percent',
});
_getLoadValue() {
}
_update() {
const load = this._getLoadValue();
this.label.text = this.#formatter.format(load);
if (load >= THRESHOLD_HIGH)
this.add_style_class_name('high-usage');
else
this.remove_style_class_name('high-usage');
}
}
class CpuSection extends LoadStatSection {
static {
GObject.registerClass(this);
}
#prevCpu = new GTop.glibtop_cpu();
constructor() {
super('processor-symbolic', _('CPU stats'));
}
_getLoadValue() {
const cpu = new GTop.glibtop_cpu();
GTop.glibtop_get_cpu(cpu);
const total = cpu.total - this.#prevCpu.total;
const user = cpu.user - this.#prevCpu.user;
const sys = cpu.sys - this.#prevCpu.sys;
const nice = cpu.nice - this.#prevCpu.nice;
this.#prevCpu = cpu;
return (user + sys + nice) / Math.max(total, 1.0);
}
}
class MemSection extends LoadStatSection {
static {
GObject.registerClass(this);
}
constructor() {
super('memory-symbolic', _('Memory stats'));
}
_getLoadValue() {
const mem = new GTop.glibtop_mem();
GTop.glibtop_get_mem(mem);
const {user, total} = mem;
return user / Math.max(total, 1.0);
}
}
class SwapSection extends LoadStatSection {
static {
GObject.registerClass(this);
}
constructor() {
super('swap-symbolic', _('Swap stats'));
}
_getLoadValue() {
const swap = new GTop.glibtop_swap();
GTop.glibtop_get_swap(swap);
const {used, total} = swap;
return used / Math.max(total, 1.0);
}
}
class NetStatSection extends StatSection {
static {
GObject.registerClass(this);
}
#formats = [{
factor: 1000,
unitFactor: 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'kilobyte',
maximumFractionDigits: 1,
minimumFractionDigits: 1,
}),
}, {
factor: 1000 * 10,
unitFactor: 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'kilobyte',
maximumFractionDigits: 0,
}),
}, {
factor: 1000 * 1000,
unitFactor: 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'megabyte',
maximumFractionDigits: 1,
minimumFractionDigits: 1,
}),
}, {
factor: 1000 * 1000 * 10,
unitFactor: 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'megabyte',
maximumFractionDigits: 0,
}),
}, {
factor: 1000 * 1000 * 1000,
unitFactor: 1000 * 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'gigabyte',
maximumFractionDigits: 1,
minimumFractionDigits: 1,
}),
}, {
factor: 1000 * 1000 * 1000 * 10,
unitFactor: 1000 * 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'gigabyte',
maximumFractionDigits: 0,
}),
}, {
factor: 1000 * 1000 * 1000 * 1000,
unitFactor: 1000 * 1000 * 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'terabyte',
maximumFractionDigits: 1,
minimumFractionDigits: 1,
}),
}, {
factor: 1000 * 1000 * 1000 * 1000 * 10,
unitFactor: 1000 * 1000 * 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'terabyte',
maximumFractionDigits: 0,
}),
}, {
factor: 1000 * 1000 * 1000 * 1000 * 1000,
unitFactor: 1000 * 1000 * 1000 * 1000 * 1000,
formatter: new Intl.NumberFormat(undefined, {
style: 'unit',
unit: 'petabyte',
maximumFractionDigits: 1,
minimumFractionDigits: 1,
}),
}];
#lastBytes = 0;
#lastHash = 0;
#lastTime = 0;
_getBytes(_netload) {
}
_getFormat(bytes) {
for (let i = 1; i < this.#formats.length; i++) {
if (bytes < this.#formats.at(i).factor)
return this.#formats.at(i - 1);
}
return this.#formats.at(-1);
}
_update() {
const FLAG_LOOPBACK = 1 << 4; // GTop sucks
const netlist = new GTop.glibtop_netlist();
const ifnames = GTop.glibtop_get_netlist(netlist);
let bytes = 0;
let hash = 1n;
for (const ifname of ifnames) {
const netload = new GTop.glibtop_netload();
GTop.glibtop_get_netload(netload, ifname);
if (netload.if_flags & FLAG_LOOPBACK)
continue;
bytes += this._getBytes(netload);
hash += strHash(ifname);
}
const time = GLib.get_monotonic_time();
let dbytes = 0;
// Skip calculation if new data is less than old (interface
// removed, counters reset, ...) or if it is the first time
if (bytes >= this.#lastBytes &&
hash === this.#lastHash &&
this.#lastTime !== 0) {
const dtime = (time - this.#lastTime) / GLib.USEC_PER_SEC;
dbytes = (bytes - this.#lastBytes) / dtime;
}
this.#lastBytes = bytes;
this.#lastTime = time;
this.#lastHash = hash;
const {unitFactor, formatter} = this._getFormat(dbytes);
this.label.text = formatter.format(dbytes / unitFactor);
}
}
class UploadSection extends NetStatSection {
static {
GObject.registerClass(this);
}
constructor() {
super('upload-symbolic', _('Upload stats'));
}
_getBytes(netload) {
return netload.bytes_out;
}
}
class DownloadSection extends NetStatSection {
static {
GObject.registerClass(this);
}
constructor() {
super('download-symbolic', _('Download stats'));
}
_getBytes(netload) {
return netload.bytes_in;
}
}
class Indicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
}
constructor(settings) {
super(0.5, _('System stats'));
this._settings = settings;
this.connect('destroy',
() => (this._settings = null));
const box = new St.BoxLayout({
styleClass: 'system-monitor-stat-sections',
});
this.add_child(box);
this._placeholder = new St.Icon({
styleClass: 'system-status-icon system-monitor-placeholder',
});
box.add_child(this._placeholder);
this._cpuSection = new CpuSection();
this._settings.bind('show-cpu',
this._cpuSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._cpuSection);
this._memSection = new MemSection();
this._settings.bind('show-memory',
this._memSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._memSection);
this._swapSection = new SwapSection();
this._settings.bind('show-swap',
this._swapSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._swapSection);
this._ulSection = new UploadSection();
this._settings.bind('show-upload',
this._ulSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._ulSection);
this._dlSection = new DownloadSection();
this._settings.bind('show-download',
this._dlSection, 'visible',
Gio.SettingsBindFlags.GET);
box.add_child(this._dlSection);
this.menu.addMenuItem(
new PopupMenu.PopupSeparatorMenuItem(_('Show')));
this._cpuItem = this.menu.addAction(_('CPU'),
() => this._toggleSettings('show-cpu'));
this._memItem = this.menu.addAction(_('Memory'),
() => this._toggleSettings('show-memory'));
this._swapItem = this.menu.addAction(_('Swap'),
() => this._toggleSettings('show-swap'));
this._ulItem = this.menu.addAction(_('Upload'),
() => this._toggleSettings('show-upload'));
this._dlItem = this.menu.addAction(_('Download'),
() => this._toggleSettings('show-download'));
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this._appMenuItem = this.menu.addAction(_('Open System Monitor'),
() => this._openSystemMonitor());
const appSystem = Shell.AppSystem.get_default();
appSystem.connectObject('installed-changed',
() => this._updateSystemMonitorApp(), this);
this._updateSystemMonitorApp();
this._settings.connectObject('changed',
() => this._sync(), this);
this._sync();
}
_updateSystemMonitorApp() {
const appSystem = Shell.AppSystem.get_default();
this._systemMonitorApp =
appSystem.lookup_app('org.gnome.SystemMonitor.desktop');
this._placeholder.gicon = this._systemMonitorApp?.icon ?? null;
this.visible = this._systemMonitorApp != null;
}
_openSystemMonitor() {
this._systemMonitorApp.activate();
Main.overview.hide();
}
_toggleSettings(key) {
this._settings.set_boolean(key, !this._settings.get_boolean(key));
}
_sync() {
this._cpuItem.setOrnament(this._settings.get_boolean('show-cpu')
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
this._memItem.setOrnament(this._settings.get_boolean('show-memory')
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
this._swapItem.setOrnament(this._settings.get_boolean('show-swap')
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
this._ulItem.setOrnament(this._settings.get_boolean('show-upload')
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
this._dlItem.setOrnament(this._settings.get_boolean('show-download')
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
this._placeholder.visible =
this._settings.list_keys().every(key => !this._settings.get_boolean(key));
}
}
export default class SystemMonitorExtension extends Extension {
enable() {
this._indicator = new Indicator(this.getSettings());
Main.panel.addToStatusArea(this.uuid, this._indicator);
}
disable() {
this._indicator.destroy();
this._indicator = null;
}
}
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<filter id="a" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="b">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.5"/>
</g>
</mask>
<clipPath id="c">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<mask id="d">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.7"/>
</g>
</mask>
<clipPath id="e">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<mask id="f">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.35"/>
</g>
</mask>
<clipPath id="g">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<g mask="url(#b)">
<g clip-path="url(#c)" transform="matrix(1 0 0 1 -920 -120)">
<path d="m 550 182 c -0.351562 0.003906 -0.695312 0.101562 -1 0.28125 v 3.4375 c 0.304688 0.179688 0.648438 0.277344 1 0.28125 c 1.105469 0 2 -0.894531 2 -2 s -0.894531 -2 -2 -2 z m 0 5 c -0.339844 0 -0.679688 0.058594 -1 0.175781 v 6.824219 h 4 v -4 c 0 -1.65625 -1.34375 -3 -3 -3 z m 0 0"/>
</g>
</g>
<g mask="url(#d)">
<g clip-path="url(#e)" transform="matrix(1 0 0 1 -920 -120)">
<path d="m 569 182 v 4 c 1.105469 0 2 -0.894531 2 -2 s -0.894531 -2 -2 -2 z m 0 5 v 7 h 3 v -4 c 0 -1.65625 -1.34375 -3 -3 -3 z m 0 0"/>
</g>
</g>
<g mask="url(#f)">
<g clip-path="url(#g)" transform="matrix(1 0 0 1 -920 -120)">
<path d="m 573 182.269531 v 3.449219 c 0.613281 -0.355469 0.996094 -1.007812 1 -1.71875 c 0 -0.714844 -0.382812 -1.375 -1 -1.730469 z m 0 4.90625 v 6.824219 h 2 v -4 c 0 -1.269531 -0.800781 -2.402344 -2 -2.824219 z m 0 0"/>
</g>
</g>
<path d="m 7.984375 1 c -0.550781 0 -1 0.449219 -1 1 v 8.585938 l -2.292969 -2.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4 4 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -2.292969 2.292969 v -8.585938 c 0 -0.550781 -0.445313 -1 -1 -1 z m 0 0"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: Icon Development Kit
SPDX-License-Identifier: CC0-1.0
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 3 2 c -1.660156 0 -3 1.339844 -3 3 v 4 c 0 1.660156 1.339844 3 3 3 h 10 c 1.660156 0 3 -1.339844 3 -3 v -4 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 2 h 10 c 0.554688 0 1 0.445312 1 1 v 4 c 0 0.554688 -0.445312 1 -1 1 h -10 c -0.554688 0 -1 -0.445312 -1 -1 v -4 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0"/><path d="m 2 10 h 12 v 4 h -12 z m 0 0"/><g fill-opacity="0.501961"><path d="m 4 5 h 2 v 4 h -2 z m 0 0"/><path d="m 7 5 h 2 v 4 h -2 z m 0 0"/><path d="m 10 5 h 2 v 4 h -2 z m 0 0"/></g></svg>

After

Width:  |  Height:  |  Size: 631 B

@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: Icon Development Kit
SPDX-License-Identifier: CC0-1.0
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5 5 h 6 v 6 h -6 z m 0 0"/><path d="m 13 5 h 3 v 1 h -3 z m 0 0"/><path d="m 13 7 h 3 v 1 h -3 z m 0 0"/><path d="m 13 9 h 3 v 1 h -3 z m 0 0"/><path d="m 0 6 h 3 v 1 h -3 z m 0 0"/><path d="m 0 8 h 3 v 1 h -3 z m 0 0"/><path d="m 0 10 h 3 v 1 h -3 z m 0 0"/><path d="m 5 0 h 1 v 3 h -1 z m 0 0"/><path d="m 7 0 h 1 v 3 h -1 z m 0 0"/><path d="m 9 0 h 1 v 3 h -1 z m 0 0"/><path d="m 10 13 h 1 v 3 h -1 z m 0 0"/><path d="m 8 13 h 1 v 3 h -1 z m 0 0"/><path d="m 6 13 h 1 v 3 h -1 z m 0 0"/><path d="m 5 2 c -1.644531 0 -3 1.355469 -3 3 v 6 c 0 1.644531 1.355469 3 3 3 h 6 c 1.644531 0 3 -1.355469 3 -3 v -6 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 6 c 0.570312 0 1 0.429688 1 1 v 6 c 0 0.570312 -0.429688 1 -1 1 h -6 c -0.570312 0 -1 -0.429688 -1 -1 v -6 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0"/></svg>

After

Width:  |  Height:  |  Size: 943 B

@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: Icon Development Kit
SPDX-License-Identifier: CC0-1.0
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 5 7 c -0.308594 0 -0.613281 0.089844 -0.8125 0.28125 l -3.59375 3.71875 l 3.65625 3.71875 c 0.199219 0.191406 0.441406 0.28125 0.75 0.28125 h 1 v -1 c 0 -0.257812 -0.128906 -0.527344 -0.3125 -0.71875 l -1.28125 -1.28125 h 4.59375 c 0.527344 0.007812 1 -0.472656 1 -1 s -0.472656 -1.007812 -1 -1 h -4.625 l 1.21875 -1.28125 c 0.183594 -0.191406 0.40625 -0.460938 0.40625 -0.71875 v -1 z m 0 0"/><path d="m 11 9 c 0.308594 0 0.613281 -0.089844 0.8125 -0.28125 l 3.59375 -3.71875 l -3.65625 -3.71875 c -0.199219 -0.191406 -0.441406 -0.28125 -0.75 -0.28125 h -1 v 1 c 0 0.257812 0.128906 0.527344 0.3125 0.71875 l 1.28125 1.28125 h -4.59375 c -0.527344 -0.007812 -1 0.472656 -1 1 s 0.472656 1.007812 1 1 h 4.625 l -1.21875 1.28125 c -0.183594 0.191406 -0.40625 0.460938 -0.40625 0.71875 v 1 z m 0 0"/></svg>

After

Width:  |  Height:  |  Size: 941 B

@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: Icon Development Kit
SPDX-License-Identifier: CC0-1.0
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<filter id="a" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="b">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.5"/>
</g>
</mask>
<clipPath id="c">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<mask id="d">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.7"/>
</g>
</mask>
<clipPath id="e">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<mask id="f">
<g filter="url(#a)">
<path d="m -1.6 -1.6 h 19.2 v 19.2 h -19.2 z" fill-opacity="0.35"/>
</g>
</mask>
<clipPath id="g">
<path d="m 0 0 h 1600 v 1200 h -1600 z"/>
</clipPath>
<g mask="url(#b)">
<g clip-path="url(#c)" transform="matrix(1 0 0 1 -900 -120)">
<path d="m 550 182 c -0.351562 0.003906 -0.695312 0.101562 -1 0.28125 v 3.4375 c 0.304688 0.179688 0.648438 0.277344 1 0.28125 c 1.105469 0 2 -0.894531 2 -2 s -0.894531 -2 -2 -2 z m 0 5 c -0.339844 0 -0.679688 0.058594 -1 0.175781 v 6.824219 h 4 v -4 c 0 -1.65625 -1.34375 -3 -3 -3 z m 0 0"/>
</g>
</g>
<g mask="url(#d)">
<g clip-path="url(#e)" transform="matrix(1 0 0 1 -900 -120)">
<path d="m 569 182 v 4 c 1.105469 0 2 -0.894531 2 -2 s -0.894531 -2 -2 -2 z m 0 5 v 7 h 3 v -4 c 0 -1.65625 -1.34375 -3 -3 -3 z m 0 0"/>
</g>
</g>
<g mask="url(#f)">
<g clip-path="url(#g)" transform="matrix(1 0 0 1 -900 -120)">
<path d="m 573 182.269531 v 3.449219 c 0.613281 -0.355469 0.996094 -1.007812 1 -1.71875 c 0 -0.714844 -0.382812 -1.375 -1 -1.730469 z m 0 4.90625 v 6.824219 h 2 v -4 c 0 -1.269531 -0.800781 -2.402344 -2 -2.824219 z m 0 0"/>
</g>
</g>
<path d="m 8.015625 15 c 0.550781 0 1 -0.449219 1 -1 v -8.585938 l 2.292969 2.292969 c 0.1875 0.1875 0.441406 0.292969 0.707031 0.292969 s 0.519531 -0.105469 0.707031 -0.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 l -4 -4 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414062 0 l -4 4 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 s 1.023437 0.390625 1.414062 0 l 2.292969 -2.292969 v 8.585938 c 0 0.550781 0.445313 1 1 1 z m 0 0"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: Icon Development Kit
SPDX-License-Identifier: CC0-1.0
+14
View File
@@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,
configuration: metadata_conf
)
extension_data += files('stylesheet.css')
extension_schemas += files('schemas/' + metadata_conf.get('gschemaname') + '.gschema.xml')
install_subdir('icons', install_dir: join_paths(extensiondir, uuid))
@@ -0,0 +1,10 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "System Monitor",
"description": "Monitor system from the top bar",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}
@@ -0,0 +1,31 @@
<!--
SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.system-monitor"
path="/org/gnome/shell/extensions/system-monitor/">
<key name="show-cpu" type="b">
<default>true</default>
<summary>Show CPU usage</summary>
</key>
<key name="show-memory" type="b">
<default>true</default>
<summary>Show memory usage</summary>
</key>
<key name="show-swap" type="b">
<default>true</default>
<summary>Show swap usage</summary>
</key>
<key name="show-upload" type="b">
<default>true</default>
<summary>Show upload</summary>
</key>
<key name="show-download" type="b">
<default>true</default>
<summary>Show download</summary>
</key>
</schema>
</schemalist>
+18
View File
@@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.system-monitor-stat-section {
padding: 0 6px;
}
.system-monitor-stat-section-icon {icon-size: 1.08em;}
.system-monitor-stat-section-label {
min-width: 3.0em;
font-size: 0.9em;
}
.system-monitor-placeholder {-st-icon-style: symbolic;}
.panel-button .high-usage {color: #ff7800;}
+3 -5
View File
@@ -5,9 +5,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Load shell theme from ~/.local/share/themes/name/gnome-shell
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js'; import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
@@ -21,12 +18,13 @@ const SETTINGS_KEY = 'name';
export default class ThemeManager extends Extension { export default class ThemeManager extends Extension {
enable() { enable() {
this._settings = this.getSettings(); this._settings = this.getSettings();
this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this)); this._settings.connectObject(`changed::${SETTINGS_KEY}`,
this._changeTheme.bind(this), this);
this._changeTheme(); this._changeTheme();
} }
disable() { disable() {
this._settings?.run_dispose(); this._settings?.disconnectObject();
this._settings = null; this._settings = null;
Main.setThemeStylesheet(null); Main.setThemeStylesheet(null);
+1 -3
View File
@@ -2,8 +2,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// we use async/await here to not block the mainloop, not to parallelize // we use async/await here to not block the mainloop, not to parallelize
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
@@ -36,7 +34,7 @@ class UserThemePrefsWidget extends Adw.PreferencesGroup {
this._actionGroup.add_action( this._actionGroup.add_action(
this._settings.create_action('name')); this._settings.create_action('name'));
this.connect('destroy', () => this._settings.run_dispose()); this.connect('destroy', () => (this._settings = null));
this._rows = new Map(); this._rows = new Map();
this._addTheme(''); // default this._addTheme(''); // default
+122 -181
View File
@@ -10,6 +10,7 @@ import GLib from 'gi://GLib';
import GObject from 'gi://GObject'; import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk'; import Gtk from 'gi://Gtk';
import Meta from 'gi://Meta'; import Meta from 'gi://Meta';
import Mtk from 'gi://Mtk';
import Shell from 'gi://Shell'; import Shell from 'gi://Shell';
import St from 'gi://St'; import St from 'gi://St';
@@ -17,18 +18,14 @@ import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/ex
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js'; import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as Overview from 'resource:///org/gnome/shell/ui/overview.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'; import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import {DashItemContainer} from 'resource:///org/gnome/shell/ui/dash.js';
import {WindowPicker, WindowPickerToggle} from './windowPicker.js';
import {WorkspaceIndicator} from './workspaceIndicator.js'; import {WorkspaceIndicator} from './workspaceIndicator.js';
const ICON_TEXTURE_SIZE = 24; const ICON_TEXTURE_SIZE = 24;
const DND_ACTIVATE_TIMEOUT = 500; const DND_ACTIVATE_TIMEOUT = 500;
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const GroupingMode = { const GroupingMode = {
NEVER: 0, NEVER: 0,
AUTO: 1, AUTO: 1,
@@ -80,7 +77,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
'notify::minimized', this._updateMinimizeItem.bind(this), 'notify::minimized', this._updateMinimizeItem.bind(this),
'notify::maximized-horizontally', this._updateMaximizeItem.bind(this), 'notify::maximized-horizontally', this._updateMaximizeItem.bind(this),
'notify::maximized-vertically', this._updateMaximizeItem.bind(this), 'notify::maximized-vertically', this._updateMaximizeItem.bind(this),
this); this.actor);
this._updateMinimizeItem(); this._updateMinimizeItem();
this._updateMaximizeItem(); this._updateMaximizeItem();
@@ -123,14 +120,10 @@ class WindowTitle extends St.BoxLayout {
this._metaWindow = metaWindow; this._metaWindow = metaWindow;
this._icon = new St.Bin({style_class: 'window-button-icon'}); this._icon = new St.Bin({style_class: 'window-button-icon'});
this.add(this._icon); this.add_child(this._icon);
this.label_actor = new St.Label({y_align: Clutter.ActorAlign.CENTER}); this.label_actor = new St.Label({y_align: Clutter.ActorAlign.CENTER});
this.label_actor.clutter_text.single_line_mode = true; this.label_actor.clutter_text.single_line_mode = true;
this.add(this.label_actor); this.add_child(this.label_actor);
this._textureCache = St.TextureCache.get_default();
this._textureCache.connectObject('icon-theme-changed',
() => this._updateIcon(), this);
this._metaWindow.connectObject( this._metaWindow.connectObject(
'notify::wm-class', 'notify::wm-class',
@@ -166,20 +159,20 @@ class WindowTitle extends St.BoxLayout {
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE); this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
} else { } else {
this._icon.child = new St.Icon({ this._icon.child = new St.Icon({
icon_name: 'icon-missing', icon_name: 'application-x-executable',
icon_size: ICON_TEXTURE_SIZE, icon_size: ICON_TEXTURE_SIZE,
}); });
} }
} }
} }
class BaseButton extends St.Button { class BaseButton extends DashItemContainer {
static { static {
GObject.registerClass({ GObject.registerClass({
GTypeFlags: GObject.TypeFlags.ABSTRACT, GTypeFlags: GObject.TypeFlags.ABSTRACT,
Properties: { Properties: {
'ignore-workspace': GObject.ParamSpec.boolean( 'ignore-workspace': GObject.ParamSpec.boolean(
'ignore-workspace', 'ignore-workspace', 'ignore-workspace', 'ignore-workspace', null, null,
GObject.ParamFlags.READWRITE, GObject.ParamFlags.READWRITE,
false), false),
}, },
@@ -187,12 +180,22 @@ class BaseButton extends St.Button {
} }
constructor(perMonitor, monitorIndex) { constructor(perMonitor, monitorIndex) {
super({ super();
this._button = new St.Button({
style_class: 'window-button', style_class: 'window-button',
can_focus: true, can_focus: true,
x_expand: true, x_expand: true,
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE, button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
}); });
this.setChild(this._button);
this._button.connect('notify::hover', () => {
if (this._button.hover)
this.showLabel();
else
this.hideLabel();
});
this._perMonitor = perMonitor; this._perMonitor = perMonitor;
this._monitorIndex = monitorIndex; this._monitorIndex = monitorIndex;
@@ -200,7 +203,7 @@ class BaseButton extends St.Button {
this.connect('notify::allocation', this.connect('notify::allocation',
this._updateIconGeometry.bind(this)); this._updateIconGeometry.bind(this));
this.connect('clicked', this._onClicked.bind(this)); this._button.connect('clicked', this._onClicked.bind(this));
this.connect('destroy', this._onDestroy.bind(this)); this.connect('destroy', this._onDestroy.bind(this));
this.connect('popup-menu', this._onPopupMenu.bind(this)); this.connect('popup-menu', this._onPopupMenu.bind(this));
@@ -217,16 +220,10 @@ class BaseButton extends St.Button {
this._windowEnteredOrLeftMonitor.bind(this), this._windowEnteredOrLeftMonitor.bind(this),
this); this);
} }
this._tooltip = new Tooltip(this, {
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
} }
get active() { get active() {
return this.has_style_class_name('focused'); return this._button.has_style_class_name('focused');
} }
// eslint-disable-next-line camelcase // eslint-disable-next-line camelcase
@@ -245,6 +242,18 @@ class BaseButton extends St.Button {
this._updateVisibility(); this._updateVisibility();
} }
showLabel() {
const [, , preferredTitleWidth] = this.label_actor.get_preferred_size();
const maxTitleWidth = this.label_actor.allocation.get_width();
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
const labelText = isTitleFullyShown
? '' : this.label_actor.text;
this.setLabelText(labelText);
super.showLabel();
}
_setLongPressTimeout() { _setLongPressTimeout() {
if (this._longPressTimeoutId) if (this._longPressTimeoutId)
return; return;
@@ -267,24 +276,24 @@ class BaseButton extends St.Button {
delete this._longPressTimeoutId; delete this._longPressTimeoutId;
} }
vfunc_button_press_event(buttonEvent) { vfunc_button_press_event(event) {
if (buttonEvent.button === 1) if (event.get_button() === 1)
this._setLongPressTimeout(); this._setLongPressTimeout();
return super.vfunc_button_press_event(buttonEvent); return super.vfunc_button_press_event(event);
} }
vfunc_button_release_event(buttonEvent) { vfunc_button_release_event(event) {
this._removeLongPressTimeout(); this._removeLongPressTimeout();
return super.vfunc_button_release_event(buttonEvent); return super.vfunc_button_release_event(event);
} }
vfunc_touch_event(touchEvent) { vfunc_touch_event(event) {
if (touchEvent.type === Clutter.EventType.TOUCH_BEGIN) if (event.type() === Clutter.EventType.TOUCH_BEGIN)
this._setLongPressTimeout(); this._setLongPressTimeout();
else if (touchEvent.type === Clutter.EventType.TOUCH_END) else if (event.type() === Clutter.EventType.TOUCH_END)
this._removeLongPressTimeout(); this._removeLongPressTimeout();
return super.vfunc_touch_event(touchEvent); return super.vfunc_touch_event(event);
} }
activate() { activate() {
@@ -345,9 +354,9 @@ class BaseButton extends St.Button {
_updateStyle() { _updateStyle() {
if (this._isFocused()) if (this._isFocused())
this.add_style_class_name('focused'); this._button.add_style_class_name('focused');
else else
this.remove_style_class_name('focused'); this._button.remove_style_class_name('focused');
} }
_windowEnteredOrLeftMonitor(_metaDisplay, _monitorIndex, _metaWindow) { _windowEnteredOrLeftMonitor(_metaDisplay, _monitorIndex, _metaWindow) {
@@ -369,7 +378,7 @@ class BaseButton extends St.Button {
} }
_getIconGeometry() { _getIconGeometry() {
let rect = new Meta.Rectangle(); const rect = new Mtk.Rectangle();
[rect.x, rect.y] = this.get_transformed_position(); [rect.x, rect.y] = this.get_transformed_position();
[rect.width, rect.height] = this.get_transformed_size(); [rect.width, rect.height] = this.get_transformed_size();
@@ -383,7 +392,6 @@ class BaseButton extends St.Button {
} }
_onDestroy() { _onDestroy() {
this._tooltip.destroy();
} }
} }
@@ -396,15 +404,17 @@ class WindowButton extends BaseButton {
super(perMonitor, monitorIndex); super(perMonitor, monitorIndex);
this.metaWindow = metaWindow; this.metaWindow = metaWindow;
this._unmanaging = false;
metaWindow.connectObject( metaWindow.connectObject(
'notify::skip-taskbar', () => this._updateVisibility(), 'notify::skip-taskbar', () => this._updateVisibility(),
'workspace-changed', () => this._updateVisibility(), 'workspace-changed', () => this._updateVisibility(),
'unmanaging', () => (this._unmanaging = true),
this); this);
this._updateVisibility(); this._updateVisibility();
this._windowTitle = new WindowTitle(this.metaWindow); this._windowTitle = new WindowTitle(this.metaWindow);
this.set_child(this._windowTitle); this._button.set_child(this._windowTitle);
this.label_actor = this._windowTitle.label_actor; this.label_actor = this._windowTitle.label_actor;
this._contextMenu = new WindowContextMenu(this, this.metaWindow); this._contextMenu = new WindowContextMenu(this, this.metaWindow);
@@ -412,7 +422,7 @@ class WindowButton extends BaseButton {
this._onMenuStateChanged.bind(this)); this._onMenuStateChanged.bind(this));
this._contextMenu.actor.hide(); this._contextMenu.actor.hide();
this._contextMenuManager.addMenu(this._contextMenu); this._contextMenuManager.addMenu(this._contextMenu);
Main.uiGroup.add_actor(this._contextMenu.actor); Main.uiGroup.add_child(this._contextMenu.actor);
global.display.connectObject('notify::focus-window', global.display.connectObject('notify::focus-window',
() => this._updateStyle(), this); () => this._updateStyle(), this);
@@ -439,9 +449,9 @@ class WindowButton extends BaseButton {
super._updateStyle(); super._updateStyle();
if (this.metaWindow.minimized) if (this.metaWindow.minimized)
this.add_style_class_name('minimized'); this._button.add_style_class_name('minimized');
else else
this.remove_style_class_name('minimized'); this._button.remove_style_class_name('minimized');
} }
_windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) { _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
@@ -450,6 +460,9 @@ class WindowButton extends BaseButton {
} }
_updateVisibility() { _updateVisibility() {
if (this._unmanaging)
return;
this.visible = this._isWindowVisible(this.metaWindow); this.visible = this._isWindowVisible(this.metaWindow);
} }
@@ -533,30 +546,30 @@ class AppButton extends BaseButton {
this._updateVisibility(); this._updateVisibility();
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()}); let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
this.set_child(stack); this._button.set_child(stack);
this._singleWindowTitle = new St.Bin({ this._singleWindowTitle = new St.Bin({
x_expand: true, x_expand: true,
}); });
stack.add_actor(this._singleWindowTitle); stack.add_child(this._singleWindowTitle);
this._multiWindowTitle = new St.BoxLayout({ this._multiWindowTitle = new St.BoxLayout({
style_class: 'window-button-box', style_class: 'window-button-box',
x_expand: true, x_expand: true,
}); });
stack.add_actor(this._multiWindowTitle); stack.add_child(this._multiWindowTitle);
this._icon = new St.Bin({ this._icon = new St.Bin({
style_class: 'window-button-icon', style_class: 'window-button-icon',
child: app.create_icon_texture(ICON_TEXTURE_SIZE), child: app.create_icon_texture(ICON_TEXTURE_SIZE),
}); });
this._multiWindowTitle.add(this._icon); this._multiWindowTitle.add_child(this._icon);
let label = new St.Label({ let label = new St.Label({
text: app.get_name(), text: app.get_name(),
y_align: Clutter.ActorAlign.CENTER, y_align: Clutter.ActorAlign.CENTER,
}); });
this._multiWindowTitle.add(label); this._multiWindowTitle.add_child(label);
this._multiWindowTitle.label_actor = label; this._multiWindowTitle.label_actor = label;
this._menuManager = new PopupMenu.PopupMenuManager(this); this._menuManager = new PopupMenu.PopupMenuManager(this);
@@ -566,18 +579,13 @@ class AppButton extends BaseButton {
this._menu.actor.hide(); this._menu.actor.hide();
this._menu.connect('activate', this._onMenuActivate.bind(this)); this._menu.connect('activate', this._onMenuActivate.bind(this));
this._menuManager.addMenu(this._menu); this._menuManager.addMenu(this._menu);
Main.uiGroup.add_actor(this._menu.actor); Main.uiGroup.add_child(this._menu.actor);
this._appContextMenu = new AppContextMenu(this); this._appContextMenu = new AppContextMenu(this);
this._appContextMenu.connect('open-state-changed', this._appContextMenu.connect('open-state-changed',
this._onMenuStateChanged.bind(this)); this._onMenuStateChanged.bind(this));
this._appContextMenu.actor.hide(); this._appContextMenu.actor.hide();
Main.uiGroup.add_actor(this._appContextMenu.actor); Main.uiGroup.add_child(this._appContextMenu.actor);
this._textureCache = St.TextureCache.get_default();
this._textureCache.connectObject('icon-theme-changed', () => {
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
}, this);
this.app.connectObject('windows-changed', this.app.connectObject('windows-changed',
() => this._windowsChanged(), this); () => this._windowsChanged(), this);
@@ -637,7 +645,7 @@ class AppButton extends BaseButton {
this._windowContextMenu = new WindowContextMenu(this, this.metaWindow); this._windowContextMenu = new WindowContextMenu(this, this.metaWindow);
this._windowContextMenu.connect( this._windowContextMenu.connect(
'open-state-changed', this._onMenuStateChanged.bind(this)); 'open-state-changed', this._onMenuStateChanged.bind(this));
Main.uiGroup.add_actor(this._windowContextMenu.actor); Main.uiGroup.add_child(this._windowContextMenu.actor);
this._windowContextMenu.actor.hide(); this._windowContextMenu.actor.hide();
this._contextMenuManager.addMenu(this._windowContextMenu); this._contextMenuManager.addMenu(this._windowContextMenu);
} }
@@ -682,7 +690,7 @@ class AppButton extends BaseButton {
for (let i = 0; i < windows.length; i++) { for (let i = 0; i < windows.length; i++) {
let windowTitle = new WindowTitle(windows[i]); let windowTitle = new WindowTitle(windows[i]);
let item = new PopupMenu.PopupBaseMenuItem(); let item = new PopupMenu.PopupBaseMenuItem();
item.add_actor(windowTitle); item.add_child(windowTitle);
item._window = windows[i]; item._window = windows[i];
this._menu.addMenuItem(item); this._menu.addMenuItem(item);
} }
@@ -728,36 +736,26 @@ class WindowList extends St.Widget {
this._monitor = monitor; this._monitor = monitor;
let box = new St.BoxLayout({x_expand: true, y_expand: true}); let box = new St.BoxLayout({x_expand: true, y_expand: true});
this.add_actor(box); this.add_child(box);
let toggle = new WindowPickerToggle(); this._windowList = new St.BoxLayout({
box.add_actor(toggle);
toggle.connect('notify::checked',
this._updateWindowListVisibility.bind(this));
let layout = new Clutter.BoxLayout({homogeneous: true});
this._windowList = new St.Widget({
style_class: 'window-list', style_class: 'window-list',
reactive: true, reactive: true,
layout_manager: layout,
x_align: Clutter.ActorAlign.START, x_align: Clutter.ActorAlign.START,
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
}); });
box.add_child(this._windowList); box.add_child(this._windowList);
this._windowList.connect('style-changed', () => {
let node = this._windowList.get_theme_node();
let spacing = node.get_length('spacing');
this._windowList.layout_manager.spacing = spacing;
});
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this)); this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END}); let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
box.add(indicatorsBox); box.add_child(indicatorsBox);
this._workspaceIndicator = new WorkspaceIndicator(); this._workspaceIndicator = new BottomWorkspaceIndicator({
baseStyleClass: 'window-list-workspace-indicator',
settings,
});
indicatorsBox.add_child(this._workspaceIndicator.container); indicatorsBox.add_child(this._workspaceIndicator.container);
this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'}); this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
@@ -770,12 +768,15 @@ class WindowList extends St.Widget {
this._updateWorkspaceIndicatorVisibility(); this._updateWorkspaceIndicatorVisibility();
this._menuManager = new PopupMenu.PopupMenuManager(this); this._menuManager = new PopupMenu.PopupMenuManager(this);
this._menuManager.addMenu(this._workspaceIndicator.menu); this._workspaceIndicator.connectObject('menu-set',
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
Main.layoutManager.addChrome(this, { const chromeOptions = {
affectsStruts: true, affectsStruts: true,
trackFullscreen: true, trackFullscreen: true,
}); };
Main.layoutManager.addChrome(this, chromeOptions);
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox); Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic'); Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
@@ -812,10 +813,12 @@ class WindowList extends St.Widget {
Main.overview.connectObject( Main.overview.connectObject(
'showing', () => { 'showing', () => {
Main.layoutManager.untrackChrome(this);
this.hide(); this.hide();
this._updateKeyboardAnchor(); this._updateKeyboardAnchor();
}, },
'hidden', () => { 'hidden', () => {
Main.layoutManager.trackChrome(this);
this.visible = !this._monitor.inFullscreen; this.visible = !this._monitor.inFullscreen;
this._updateKeyboardAnchor(); this._updateKeyboardAnchor();
}, this); }, this);
@@ -828,8 +831,8 @@ class WindowList extends St.Widget {
}, this); }, this);
this._windowSignals = new Map(); this._windowSignals = new Map();
this._windowCreatedId = global.display.connect( global.display.connectObject(
'window-created', (dsp, win) => this._addWindow(win)); 'window-created', (dsp, win) => this._addWindow(win, true), this);
Main.xdndHandler.connectObject( Main.xdndHandler.connectObject(
'drag-begin', () => this._monitorDrag(), 'drag-begin', () => this._monitorDrag(),
@@ -844,8 +847,8 @@ class WindowList extends St.Widget {
this._dndWindow = null; this._dndWindow = null;
this._settings = settings; this._settings = settings;
this._settings.connect('changed::grouping-mode', this._settings.connectObject('changed::grouping-mode',
() => this._groupingModeChanged()); () => this._groupingModeChanged(), this);
this._grouped = undefined; this._grouped = undefined;
this._groupingModeChanged(); this._groupingModeChanged();
} }
@@ -867,6 +870,11 @@ class WindowList extends St.Widget {
children[newActive].activate(); children[newActive].activate();
} }
_onWorkspaceMenuSet() {
if (this._workspaceIndicator.menu)
this._menuManager.addMenu(this._workspaceIndicator.menu);
}
_updatePosition() { _updatePosition() {
this.set_position( this.set_position(
this._monitor.x, this._monitor.x,
@@ -883,20 +891,6 @@ class WindowList extends St.Widget {
this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor; this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor;
} }
_updateWindowListVisibility() {
const {windowPicker} = Extension.lookupByURL(import.meta.url);
const visible = !windowPicker.visible;
this._windowList.ease({
opacity: visible ? 255 : 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
duration: Overview.ANIMATION_TIME,
});
this._windowList.reactive = visible;
this._windowList.get_children().forEach(c => (c.reactive = visible));
}
_getPreferredUngroupedWindowListWidth() { _getPreferredUngroupedWindowListWidth() {
if (this._windowList.get_n_children() === 0) if (this._windowList.get_n_children() === 0)
return this._windowList.get_preferred_width(-1)[1]; return this._windowList.get_preferred_width(-1)[1];
@@ -955,14 +949,14 @@ class WindowList extends St.Widget {
w2.metaWindow.get_stable_sequence(); w2.metaWindow.get_stable_sequence();
}); });
for (let i = 0; i < windows.length; i++) for (let i = 0; i < windows.length; i++)
this._addWindow(windows[i].metaWindow); this._addWindow(windows[i].metaWindow, false);
} else { } else {
let apps = this._appSystem.get_running().sort((a1, a2) => { let apps = this._appSystem.get_running().sort((a1, a2) => {
return _getAppStableSequence(a1) - return _getAppStableSequence(a1) -
_getAppStableSequence(a2); _getAppStableSequence(a2);
}); });
for (let i = 0; i < apps.length; i++) for (let i = 0; i < apps.length; i++)
this._addApp(apps[i]); this._addApp(apps[i], false);
} }
} }
@@ -976,26 +970,26 @@ class WindowList extends St.Widget {
return; return;
if (app.state === Shell.AppState.RUNNING) if (app.state === Shell.AppState.RUNNING)
this._addApp(app); this._addApp(app, true);
else if (app.state === Shell.AppState.STOPPED) else if (app.state === Shell.AppState.STOPPED)
this._removeApp(app); this._removeApp(app);
} }
_addApp(app) { _addApp(app, animate) {
let button = new AppButton(app, this._perMonitor, this._monitor.index); let button = new AppButton(app, this._perMonitor, this._monitor.index);
this._settings.bind('display-all-workspaces', this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET); button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.add_child(button); this._windowList.add_child(button);
button.show(animate);
} }
_removeApp(app) { _removeApp(app) {
let children = this._windowList.get_children(); let children = this._windowList.get_children();
let child = children.find(c => c.app === app); let child = children.find(c => c.app === app);
if (child) child?.animateOutAndDestroy();
child.destroy();
} }
_addWindow(win) { _addWindow(win, animate) {
if (!this._grouped) if (!this._grouped)
this._checkGrouping(); this._checkGrouping();
@@ -1013,6 +1007,7 @@ class WindowList extends St.Widget {
this._settings.bind('display-all-workspaces', this._settings.bind('display-all-workspaces',
button, 'ignore-workspace', Gio.SettingsBindFlags.GET); button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
this._windowList.add_child(button); this._windowList.add_child(button);
button.show(animate);
} }
_removeWindow(win) { _removeWindow(win) {
@@ -1029,8 +1024,7 @@ class WindowList extends St.Widget {
let children = this._windowList.get_children(); let children = this._windowList.get_children();
let child = children.find(c => c.metaWindow === win); let child = children.find(c => c.metaWindow === win);
if (child) child?.animateOutAndDestroy();
child.destroy();
} }
_monitorDrag() { _monitorDrag() {
@@ -1092,7 +1086,8 @@ class WindowList extends St.Widget {
this._stopMonitoringDrag(); this._stopMonitoringDrag();
this._settings.run_dispose(); this._settings.disconnectObject();
this._settings = null;
let windows = global.get_window_actors(); let windows = global.get_window_actors();
for (let i = 0; i < windows.length; i++) for (let i = 0; i < windows.length; i++)
@@ -1100,12 +1095,33 @@ class WindowList extends St.Widget {
} }
} }
class BottomWorkspaceIndicator extends WorkspaceIndicator {
static {
GObject.registerClass(this);
}
constructor(params) {
super(params);
this.remove_style_class_name('panel-button');
}
setMenu(menu) {
super.setMenu(menu);
if (!menu)
return;
this.menu.actor.updateArrowSide(St.Side.BOTTOM);
this.menu.actor.remove_style_class_name('panel-menu');
}
}
export default class WindowListExtension extends Extension { export default class WindowListExtension extends Extension {
constructor(metadata) { constructor(metadata) {
super(metadata); super(metadata);
this._windowLists = null; this._windowLists = null;
this._hideOverviewOrig = Main.overview.hide;
} }
enable() { enable() {
@@ -1118,13 +1134,6 @@ export default class WindowListExtension extends Extension {
Main.layoutManager.connectObject('monitors-changed', Main.layoutManager.connectObject('monitors-changed',
() => this._buildWindowLists(), this); () => this._buildWindowLists(), this);
this.windowPicker = new WindowPicker();
Main.overview.hide = () => {
this.windowPicker.close();
this._hideOverviewOrig.call(Main.overview);
};
this._buildWindowLists(); this._buildWindowLists();
} }
@@ -1144,86 +1153,18 @@ export default class WindowListExtension extends Extension {
if (!this._windowLists) if (!this._windowLists)
return; return;
this._settings.disconnectObject(this);
Main.layoutManager.disconnectObject(this); Main.layoutManager.disconnectObject(this);
this._settings.disconnectObject(this);
this._settings = null;
this._windowLists.forEach(windowList => { this._windowLists.forEach(windowList => {
windowList.hide(); windowList.hide();
windowList.destroy(); windowList.destroy();
}); });
this._windowLists = null; this._windowLists = null;
this.windowPicker.destroy();
delete this.windowPicker;
Main.overview.hide = this._hideOverviewOrig;
} }
someWindowListContains(actor) { someWindowListContains(actor) {
return this._windowLists.some(list => list.contains(actor)); return this._windowLists.some(list => list.contains(actor));
} }
} }
class Tooltip extends St.Label {
static {
GObject.registerClass(this);
}
constructor(widget, params) {
super(params);
this._widget = widget;
this._widget.connect('notify::hover', () => {
if (this._widget.hover)
this.open();
else
this.close();
});
}
open() {
const buttonTitleWidget = this._widget.label_actor;
const [, , preferredTitleWidth] = buttonTitleWidget.get_preferred_size();
const maxTitleWidth = buttonTitleWidget.allocation.get_width();
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
if (isTitleFullyShown)
return;
this.set({
text: this._widget.label_actor.get_text(),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this._widget.get_transformed_position();
const thumbWidth = this._widget.allocation.get_width();
const tipWidth = this.width;
const tipHeight = this.height;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY - tipHeight - TOOLTIP_OFFSET;
this.set_position(x, y);
this.ease({
opacity: 255,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
close() {
this.ease({
opacity: 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
}
+28 -1
View File
@@ -12,5 +12,32 @@ extension_data += files(
'stylesheet-light.css' 'stylesheet-light.css'
) )
extension_sources += files('prefs.js', 'windowPicker.js', 'workspaceIndicator.js') transform_stylesheet = [
'sed', '-E',
'-e', 's:^\.(workspace-indicator):.window-list-\\1:',
'-e', '/^@import/d',
'@INPUT@',
]
workspaceIndicatorSources = [
configure_file(
input: '../workspace-indicator/workspaceIndicator.js',
output: '@PLAINNAME@',
copy: true,
),
configure_file(
input: '../workspace-indicator/stylesheet-dark.css',
output: 'stylesheet-workspace-switcher-dark.css',
command: transform_stylesheet,
capture: true,
),
configure_file(
input: '../workspace-indicator/stylesheet-light.css',
output: 'stylesheet-workspace-switcher-light.css',
command: transform_stylesheet,
capture: true,
),
]
extension_sources += files('prefs.js') + workspaceIndicatorSources
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml') extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
@@ -36,5 +36,9 @@ SPDX-License-Identifier: GPL-2.0-or-later
only on the primary one. only on the primary one.
</description> </description>
</key> </key>
<key name="embed-previews" type="b">
<default>true</default>
<summary>Show workspace previews in window list</summary>
</key>
</schema> </schema>
</schemalist> </schemalist>
+12 -17
View File
@@ -3,7 +3,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
import Adw from 'gi://Adw'; import Adw from 'gi://Adw';
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import GLib from 'gi://GLib'; import GLib from 'gi://GLib';
@@ -30,6 +29,8 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
this._settings.create_action('show-on-all-monitors')); this._settings.create_action('show-on-all-monitors'));
this._actionGroup.add_action( this._actionGroup.add_action(
this._settings.create_action('display-all-workspaces')); this._settings.create_action('display-all-workspaces'));
this._actionGroup.add_action(
this._settings.create_action('embed-previews'));
const groupingGroup = new Adw.PreferencesGroup({ const groupingGroup = new Adw.PreferencesGroup({
title: _('Window Grouping'), title: _('Window Grouping'),
@@ -58,28 +59,22 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
const miscGroup = new Adw.PreferencesGroup(); const miscGroup = new Adw.PreferencesGroup();
this.add(miscGroup); this.add(miscGroup);
let toggle = new Gtk.Switch({ let row = new Adw.SwitchRow({
action_name: 'window-list.show-on-all-monitors',
valign: Gtk.Align.CENTER,
});
let row = new Adw.ActionRow({
title: _('Show on all monitors'), title: _('Show on all monitors'),
activatable_widget: toggle, action_name: 'window-list.show-on-all-monitors',
}); });
row.add_suffix(toggle);
miscGroup.add(row); miscGroup.add(row);
toggle = new Gtk.Switch({ row = new Adw.SwitchRow({
action_name: 'window-list.display-all-workspaces',
valign: Gtk.Align.CENTER,
});
this._settings.bind('display-all-workspaces',
toggle, 'active', Gio.SettingsBindFlags.DEFAULT);
row = new Adw.ActionRow({
title: _('Show windows from all workspaces'), title: _('Show windows from all workspaces'),
activatable_widget: toggle, action_name: 'window-list.display-all-workspaces',
});
miscGroup.add(row);
row = new Adw.SwitchRow({
title: _('Show workspace previews'),
action_name: 'window-list.embed-previews',
}); });
row.add_suffix(toggle);
miscGroup.add(row); miscGroup.add(row);
} }
} }
+38 -75
View File
@@ -4,117 +4,80 @@
* *
* SPDX-License-Identifier: GPL-2.0-or-later * SPDX-License-Identifier: GPL-2.0-or-later
*/ */
@import url("stylesheet-workspace-switcher-dark.css");
.window-list { .window-list {
spacing: 2px; spacing: 2px;
font-size: 10pt; font-size: 10pt;
} }
.bottom-panel { .bottom-panel {
background-color: #000000; background-color: #000000;
border-top-width: 0px; border-top-width: 0px;
padding: 2px; height: 2.45em;
} }
.window-button { .window-button {
padding: 2px, 1px; padding: 4px, 3px;
} }
.window-button:first-child:ltr { .window-button:first-child:ltr {
padding-left: 2px; padding-left: 2px;
} }
.window-button:last-child:rtl { .window-button:last-child:rtl {
padding-right: 2px; padding-right: 2px;
} }
.window-button-box { .window-button-box {
spacing: 4px; spacing: 4px;
}
.window-button > StWidget,
.window-picker-toggle > StWidget {
color: #bbb;
background-color: #1d1d1d;
border-radius: 4px;
padding: 3px 6px 1px;
transition: 100ms ease;
} }
.window-button > StWidget { .window-button > StWidget {
-st-natural-width: 18.75em; color: #fff;
max-width: 18.75em; background-color: transparent;
border-radius: 4px;
padding: 3px 6px 1px;
transition: 100ms ease;
} }
.window-button:hover > StWidget, .window-button > StWidget {
.window-picker-toggle:hover > StWidget { -st-natural-width: 18.75em;
color: #fff; max-width: 18.75em;
background-color: #303030; }
.window-button:hover > StWidget {
background-color: #303030;
} }
.window-button:active > StWidget, .window-button:active > StWidget,
.window-button:focus > StWidget { .window-button:focus > StWidget {
color: #fff; background-color: st-lighten(#303030, 5%);
background-color: #3f3f3f;
} }
.window-button.focused > StWidget, .window-button.focused > StWidget {
.window-picker-toggle:checked > StWidget { background-color: #5b5b5b;
color: #fff;
background-color: #3f3f3f;
} }
.window-button.focused:active > StWidget, .window-button.focused:hover > StWidget {
.window-picker-toggle:checked:active > StWidget { background-color: st-lighten(#5b5b5b, 5%);
color: #fff; }
background-color: #3f3f3f;
} .window-button.focused:active > StWidget {
background-color: st-lighten(#5b5b5b, 10%);
}
.window-button.minimized > StWidget { .window-button.minimized > StWidget {
color: #666; color: #666;
background-color: #161616; background-color: #161616;
} }
.window-button.minimized:active > StWidget { .window-button.minimized:active > StWidget {
color: #666; color: #666;
background-color: #161616; background-color: #161616;
} }
.window-button-icon { .window-button-icon {
width: 24px; width: 24px;
height: 24px; height: 24px;
}
.window-list-workspace-indicator .status-label-bin {
background-color: rgba(200, 200, 200, 0.3);
padding: 0 3px;
margin: 3px;
}
.window-list-workspace-indicator .workspaces-box {
spacing: 3px;
padding: 3px;
}
.window-list-workspace-indicator .workspace {
width: 52px;
border-radius: 4px;
background-color: #1e1e1e;
}
.window-list-workspace-indicator .workspace.active {
background-color: #3f3f3f;
}
.window-list-window-preview {
background-color: #bebebe;
border-radius: 1px;
}
.window-list-window-preview.active {
background-color: #d4d4d4;
}
.notification {
font-weight: normal;
} }
+31 -48
View File
@@ -6,70 +6,53 @@
*/ */
@import url("stylesheet-dark.css"); @import url("stylesheet-dark.css");
@import url("stylesheet-workspace-switcher-light.css");
#panel.bottom-panel { #panel.bottom-panel {
border-top-width: 1px; border-top-width: 1px;
border-bottom-width: 0px; border-bottom-width: 0px;
height: 2.25em ; height: 2.5em;
padding: 2px;
} }
.bottom-panel .window-button > StWidget, .bottom-panel .window-button > StWidget {
.bottom-panel .window-picker-toggle > StWidget {
color: #2e3436;
background-color: #eee;
border-radius: 3px; border-radius: 3px;
padding: 3px 6px 1px; padding: 3px 6px 1px;
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
border: 1px solid rgba(0,0,0,0.2);
} }
.bottom-panel .window-button > StWidget { .window-button > StWidget {
-st-natural-width: 18.7em; color: #000;
max-width: 18.75em; background-color: transparent;
}
.bottom-panel .window-button:hover > StWidget,
.bottom-panel .window-picker-toggle:hover > StWidget {
background-color: #f9f9f9;
}
.bottom-panel .window-button:active > StWidget,
.bottom-panel .window-button:focus > StWidget {
box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}
.bottom-panel .window-button.focused > StWidget,
.bottom-panel .window-picker-toggle:checked > StWidget {
background-color: #ccc;
box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}
.bottom-panel .window-button.focused:hover > StWidget {
background-color: #e9e9e9;
}
.bottom-panel .window-button.minimized > StWidget {
color: #888;
box-shadow: none;
}
/* workspace switcher */
.window-list-workspace-indicator .workspace {
border: 2px solid #f6f5f4;
background-color: #ccc;
} }
.window-list-workspace-indicator .workspace.active { .window-button:hover > StWidget {
border-color: #888; background-color: st-darken(#eee,5%);
} }
.window-list-window-preview { .window-button:active > StWidget,
background-color: #ededed; .window-button:focus > StWidget {
border: 1px solid #ccc; background-color: st-darken(#eee, 10%);
} }
.window-list-window-preview.active { .window-button.focused > StWidget {
background-color: #f6f5f4; background-color: st-darken(#eee,15%);
}
.window-button.focused:hover > StWidget {
background-color: st-darken(#eee, 20%);
}
.window-button.focused:active > StWidget {
background-color: st-darken(#eee, 25%);
}
.window-button.minimized > StWidget {
color: #aaa;
background-color: #f9f9f9;
}
.window-button.minimized:active > StWidget {
color: #aaa;
background-color: #f9f9f9;
} }
-342
View File
@@ -1,342 +0,0 @@
// SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
// SPDX-FileCopyrightText: 2019 Marco Trevisan (Treviño) <mail@3v1n0.net>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Clutter from 'gi://Clutter';
import GObject from 'gi://GObject';
import Shell from 'gi://Shell';
import St from 'gi://St';
import {Extension, InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as Layout from 'resource:///org/gnome/shell/ui/layout.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {WorkspacesDisplay} from 'resource:///org/gnome/shell/ui/workspacesView.js';
import * as Workspace from 'resource:///org/gnome/shell/ui/workspace.js';
import {VIGNETTE_BRIGHTNESS} from 'resource:///org/gnome/shell/ui/lightbox.js';
import {
SIDE_CONTROLS_ANIMATION_TIME,
OverviewAdjustment,
ControlsState
} from 'resource:///org/gnome/shell/ui/overviewControls.js';
class MyWorkspacesDisplay extends WorkspacesDisplay {
static {
GObject.registerClass(this);
}
constructor(controls, overviewAdjustment) {
let workspaceManager = global.workspace_manager;
const workspaceAdjustment = new St.Adjustment({
value: workspaceManager.get_active_workspace_index(),
lower: 0,
page_increment: 1,
page_size: 1,
step_increment: 0,
upper: workspaceManager.n_workspaces,
});
super(controls, workspaceAdjustment, overviewAdjustment);
this._windowPicker = controls;
this._workspaceAdjustment = workspaceAdjustment;
this._workspaceAdjustment.actor = this;
workspaceManager.connectObject('notify::n-workspaces',
() => this._updateAdjustment(), this);
this.add_constraint(
new Layout.MonitorConstraint({
primary: true,
work_area: true,
}));
}
prepareToEnterOverview(...args) {
if (!this._scrollEventId) {
this._scrollEventId = this._windowPicker.connect('scroll-event',
this._onScrollEvent.bind(this));
}
super.prepareToEnterOverview(...args);
}
vfunc_hide(...args) {
if (this._scrollEventId > 0)
this._windowPicker.disconnect(this._scrollEventId);
this._scrollEventId = 0;
super.vfunc_hide(...args);
}
_updateAdjustment() {
let workspaceManager = global.workspace_manager;
this._workspaceAdjustment.set({
upper: workspaceManager.n_workspaces,
value: workspaceManager.get_active_workspace_index(),
});
}
}
export class WindowPicker extends Clutter.Actor {
static [GObject.signals] = {
'open-state-changed': {param_types: [GObject.TYPE_BOOLEAN]},
};
static {
GObject.registerClass(this);
}
constructor() {
super({reactive: true});
this._visible = false;
this._modal = false;
this._stageKeyPressId = 0;
this._adjustment = new OverviewAdjustment(this);
this._injectionManager = new InjectionManager();
this.connect('destroy', this._onDestroy.bind(this));
global.bind_property('screen-width',
this, 'width',
GObject.BindingFlags.SYNC_CREATE);
global.bind_property('screen-height',
this, 'height',
GObject.BindingFlags.SYNC_CREATE);
this._workspacesDisplay = new MyWorkspacesDisplay(this, this._adjustment);
this.add_child(this._workspacesDisplay);
Main.uiGroup.insert_child_below(this, global.window_group);
if (!Main.sessionMode.hasOverview) {
this._injectBackgroundShade();
global.display.connectObject('overlay-key', () => {
if (!this._visible)
this.open();
else
this.close();
}, this);
}
}
_injectBackgroundShade() {
const backgroundProto = Workspace.WorkspaceBackground.prototype;
this._injectionManager.overrideMethod(backgroundProto, '_updateBorderRadius',
() => {
return function () {};
});
this._injectionManager.overrideMethod(backgroundProto, 'vfunc_allocate',
() => {
/* eslint-disable no-invalid-this */
return function (box) {
this.set_allocation(box);
const themeNode = this.get_theme_node();
const contentBox = themeNode.get_content_box(box);
this._bin.allocate(contentBox);
const [contentWidth, contentHeight] = contentBox.get_size();
const monitor = Main.layoutManager.monitors[this._monitorIndex];
const xRatio = contentWidth / this._workarea.width;
const yRatio = contentHeight / this._workarea.height;
const right = area => area.x + area.width;
const bottom = area => area.y + area.height;
const offsets = {
left: xRatio * (this._workarea.x - monitor.x),
right: xRatio * (right(monitor) - right(this._workarea)),
top: yRatio * (this._workarea.y - monitor.y),
bottom: yRatio * (bottom(monitor) - bottom(this._workarea)),
};
contentBox.set_origin(-offsets.left, -offsets.top);
contentBox.set_size(
offsets.left + contentWidth + offsets.right,
offsets.top + contentHeight + offsets.bottom);
this._backgroundGroup.allocate(contentBox);
};
/* eslint-enable */
});
this._injectionManager.overrideMethod(backgroundProto, 'vfunc_parent_set',
() => {
/* eslint-disable no-invalid-this */
return function () {
setTimeout(() => {
const parent = this.get_parent();
if (!parent)
return;
parent._overviewAdjustment.connectObject('notify::value', () => {
const {value: progress} = parent._overviewAdjustment;
const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
for (const bg of this._backgroundGroup ?? []) {
bg.content.set({
vignette: true,
brightness,
});
}
}, this);
});
};
/* eslint-enable */
});
}
get visible() {
return this._visible;
}
open() {
if (this._visible)
return;
this._visible = true;
if (!this._syncGrab())
return;
this._fakeOverviewVisible(true);
this._workspacesDisplay.prepareToEnterOverview();
Main.overview._animationInProgress = true;
this._adjustment.value = ControlsState.HIDDEN;
this._adjustment.ease(ControlsState.WINDOW_PICKER, {
duration: SIDE_CONTROLS_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (Main.overview._animationInProgress = false),
});
this._stageKeyPressId = global.stage.connect('key-press-event',
(a, event) => {
let sym = event.get_key_symbol();
if (sym === Clutter.KEY_Escape) {
this.close();
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
});
this.emit('open-state-changed', this._visible);
}
close() {
if (!this._visible)
return;
this._visible = false;
if (!this._syncGrab())
return;
this._workspacesDisplay.prepareToLeaveOverview();
Main.overview._animationInProgress = true;
this._adjustment.ease(ControlsState.HIDDEN, {
duration: SIDE_CONTROLS_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => {
Main.overview._animationInProgress = false;
this._workspacesDisplay.hide();
this._fakeOverviewVisible(false);
},
});
global.stage.disconnect(this._stageKeyPressId);
this._stageKeyPressId = 0;
this.emit('open-state-changed', this._visible);
}
getWorkspacesBoxForState() {
return this.allocation;
}
_fakeOverviewVisible(visible) {
// Fake overview state for WorkspacesDisplay
Main.overview._visible = visible;
// Hide real windows
Main.layoutManager._inOverview = visible;
Main.layoutManager._updateVisibility();
}
_syncGrab() {
if (this._visible) {
if (this._modal)
return true;
const grab = Main.pushModal(global.stage, {
actionMode: Shell.ActionMode.OVERVIEW,
});
if (grab.get_seat_state() !== Clutter.GrabState.NONE) {
this._grab = grab;
this._modal = true;
} else {
Main.popModal(grab);
this.hide();
return false;
}
} else if (this._modal) {
Main.popModal(this._grab);
this._modal = false;
this._grab = null;
}
return true;
}
_onDestroy() {
this._injectionManager.clear();
if (this._stageKeyPressId)
global.stage.disconnect(this._stageKeyPressId);
this._stageKeyPressId = 0;
}
}
export class WindowPickerToggle extends St.Button {
static {
GObject.registerClass(this);
}
constructor() {
let iconBin = new St.Widget({
layout_manager: new Clutter.BinLayout(),
});
iconBin.add_child(new St.Icon({
icon_name: 'focus-windows-symbolic',
icon_size: 16,
x_expand: true,
y_expand: true,
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
}));
super({
style_class: 'window-picker-toggle',
child: iconBin,
visible: !Main.sessionMode.hasOverview,
toggle_mode: true,
});
const {windowPicker} = Extension.lookupByURL(import.meta.url);
this.connect('notify::checked', () => {
if (this.checked)
windowPicker.open();
else
windowPicker.close();
});
windowPicker.connect('open-state-changed', () => {
this.checked = windowPicker.visible;
});
}
}
@@ -1,424 +0,0 @@
// SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
import St from 'gi://St';
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const MAX_THUMBNAILS = 6;
class WindowPreview extends St.Button {
static {
GObject.registerClass(this);
}
constructor(window) {
super({
style_class: 'window-list-window-preview',
});
this._delegate = this;
DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window;
this._window.connectObject(
'size-changed', () => this.queue_relayout(),
'position-changed', () => {
this._updateVisible();
this.queue_relayout();
},
'notify::minimized', this._updateVisible.bind(this),
this);
global.display.connectObject('notify::focus-window',
this._onFocusChanged.bind(this), this);
this._onFocusChanged();
}
// needed for DND
get metaWindow() {
return this._window;
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');
else
this.remove_style_class_name('active');
}
_updateVisible() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
this.visible = this._window.get_frame_rect().overlap(workArea) &&
this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
}
}
class WorkspaceLayout extends Clutter.LayoutManager {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_width() {
return [0, 0];
}
vfunc_get_preferred_height() {
return [0, 0];
}
vfunc_allocate(container, box) {
const monitor = Main.layoutManager.findIndexForActor(container);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
const hscale = box.get_width() / workArea.width;
const vscale = box.get_height() / workArea.height;
for (const child of container) {
const childBox = new Clutter.ActorBox();
const frameRect = child.metaWindow.get_frame_rect();
childBox.set_size(
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
childBox.set_origin(
Math.round((frameRect.x - workArea.x) * hscale),
Math.round((frameRect.y - workArea.y) * vscale));
child.allocate(childBox);
}
}
}
class WorkspaceThumbnail extends St.Button {
static {
GObject.registerClass(this);
}
constructor(index) {
super({
style_class: 'workspace',
child: new Clutter.Actor({
layout_manager: new WorkspaceLayout(),
clip_to_allocation: true,
}),
});
this._tooltip = new St.Label({
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this));
this._index = index;
this._delegate = this; // needed for DND
this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.connectObject(
'window-added', (ws, window) => this._addWindow(window),
'window-removed', (ws, window) => this._removeWindow(window),
this);
global.display.connectObject('restacked',
this._onRestacked.bind(this), this);
this._workspace.list_windows().forEach(w => this._addWindow(w));
this._onRestacked();
}
acceptDrop(source) {
if (!source.metaWindow)
return false;
this._moveWindow(source.metaWindow);
return true;
}
handleDragOver(source) {
if (source.metaWindow)
return DND.DragMotionResult.MOVE_DROP;
else
return DND.DragMotionResult.CONTINUE;
}
_addWindow(window) {
if (this._windowPreviews.has(window))
return;
let preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview);
this.child.add_child(preview);
}
_removeWindow(window) {
let preview = this._windowPreviews.get(window);
if (!preview)
return;
this._windowPreviews.delete(window);
preview.destroy();
}
_onRestacked() {
let lastPreview = null;
let windows = global.get_window_actors().map(a => a.meta_window);
for (let i = 0; i < windows.length; i++) {
let preview = this._windowPreviews.get(windows[i]);
if (!preview)
continue;
this.child.set_child_above_sibling(preview, lastPreview);
lastPreview = preview;
}
}
_moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this);
if (monitorIndex !== window.get_monitor())
window.move_to_monitor(monitorIndex);
window.change_workspace_by_index(this._index, false);
}
on_clicked() {
let ws = global.workspace_manager.get_workspace_by_index(this._index);
if (ws)
ws.activate(global.get_current_time());
}
_syncTooltip() {
if (this.hover) {
this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this.get_transformed_position();
const thumbWidth = this.allocation.get_width();
const tipWidth = this._tooltip.width;
const tipHeight = this._tooltip.height;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY - tipHeight - TOOLTIP_OFFSET;
this._tooltip.set_position(x, y);
}
this._tooltip.ease({
opacity: this.hover ? 255 : 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this._tooltip.visible = this.hover),
});
}
_onDestroy() {
this._tooltip.destroy();
}
}
export class WorkspaceIndicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
}
constructor() {
super(0.5, _('Workspace Indicator'), true);
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
this.add_style_class_name('window-list-workspace-indicator');
this.remove_style_class_name('panel-button');
this.menu.actor.remove_style_class_name('panel-menu');
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
});
this.add_actor(container);
let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({text: this._getStatusText()});
this._statusBin = new St.Bin({
style_class: 'status-label-bin',
x_expand: true,
y_expand: true,
child: this._statusLabel,
});
container.add_actor(this._statusBin);
this._thumbnailsBox = new St.BoxLayout({
style_class: 'workspaces-box',
y_expand: true,
reactive: true,
});
this._thumbnailsBox.connect('scroll-event',
this._onScrollEvent.bind(this));
container.add_actor(this._thumbnailsBox);
this._workspacesItems = [];
workspaceManager.connectObject(
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
this);
this.connect('scroll-event', this._onScrollEvent.bind(this));
this._updateMenu();
this._updateThumbnails();
this._updateThumbnailVisibility();
this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
this._settings.connectObject('changed::workspace-names',
() => this._updateMenuLabels(), this);
}
_updateThumbnailVisibility() {
const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1;
const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
this.reactive = useMenu;
this._statusBin.visible = useMenu;
this._thumbnailsBox.visible = !useMenu;
}
_onWorkspaceSwitched() {
let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._updateMenuOrnament();
this._updateActiveThumbnail();
this._statusLabel.set_text(this._getStatusText());
}
_nWorkspacesChanged() {
this._updateMenu();
this._updateThumbnails();
this._updateThumbnailVisibility();
}
_updateMenuOrnament() {
for (let i = 0; i < this._workspacesItems.length; i++) {
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NONE);
}
}
_updateActiveThumbnail() {
let thumbs = this._thumbnailsBox.get_children();
for (let i = 0; i < thumbs.length; i++) {
if (i === this._currentWorkspace)
thumbs[i].add_style_class_name('active');
else
thumbs[i].remove_style_class_name('active');
}
}
_getStatusText() {
let workspaceManager = global.workspace_manager;
let current = workspaceManager.get_active_workspace_index();
let total = workspaceManager.n_workspaces;
return '%d / %d'.format(current + 1, total);
}
_updateMenuLabels() {
for (let i = 0; i < this._workspacesItems.length; i++) {
let item = this._workspacesItems[i];
let name = Meta.prefs_get_workspace_name(i);
item.label.text = name;
}
}
_updateMenu() {
let workspaceManager = global.workspace_manager;
this.menu.removeAll();
this._workspacesItems = [];
this._currentWorkspace = workspaceManager.get_active_workspace_index();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let name = Meta.prefs_get_workspace_name(i);
let item = new PopupMenu.PopupMenuItem(name);
item.workspaceId = i;
item.connect('activate', () => {
this._activate(item.workspaceId);
});
if (i === this._currentWorkspace)
item.setOrnament(PopupMenu.Ornament.DOT);
this.menu.addMenuItem(item);
this._workspacesItems[i] = item;
}
this._statusLabel.set_text(this._getStatusText());
}
_updateThumbnails() {
let workspaceManager = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let thumb = new WorkspaceThumbnail(i);
this._thumbnailsBox.add_actor(thumb);
}
this._updateActiveThumbnail();
}
_activate(index) {
let workspaceManager = global.workspace_manager;
if (index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time());
}
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN)
diff = 1;
else if (direction === Clutter.ScrollDirection.UP)
diff = -1;
else
return;
let newIndex = this._currentWorkspace + diff;
this._activate(newIndex);
}
}
+1 -2
View File
@@ -6,7 +6,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
import Clutter from 'gi://Clutter'; import Clutter from 'gi://Clutter';
import Graphene from 'gi://Graphene'; import Graphene from 'gi://Graphene';
import St from 'gi://St'; import St from 'gi://St';
@@ -86,7 +85,7 @@ export default class Extension {
style_class: 'extension-windowsNavigator-window-tooltip', style_class: 'extension-windowsNavigator-window-tooltip',
visible: false, visible: false,
}); });
this.add_actor(this._tip); this.add_child(this._tip);
this.connect('notify::scale-x', () => { this.connect('notify::scale-x', () => {
this._tip.set_scale(1 / this.scale_x, 1 / this.scale_x); this._tip.set_scale(1 / this.scale_x, 1 / this.scale_x);
+5 -425
View File
@@ -4,437 +4,17 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
import St from 'gi://St';
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences'; import {WorkspaceIndicator} from './workspaceIndicator.js';
const WORKSPACE_KEY = 'workspace-names';
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const MAX_THUMBNAILS = 6;
class WindowPreview extends St.Button {
static {
GObject.registerClass(this);
}
constructor(window) {
super({
style_class: 'workspace-indicator-window-preview',
});
this._delegate = this;
DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window;
this._window.connectObject(
'size-changed', () => this.queue_relayout(),
'position-changed', () => {
this._updateVisible();
this.queue_relayout();
},
'notify::minimized', this._updateVisible.bind(this),
this);
global.display.connectObject('notify::focus-window',
this._onFocusChanged.bind(this), this);
this._onFocusChanged();
}
// needed for DND
get metaWindow() {
return this._window;
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');
else
this.remove_style_class_name('active');
}
_updateVisible() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
this.visible = this._window.get_frame_rect().overlap(workArea) &&
this._window.window_type !== Meta.WindowType.DESKTOP &&
this._window.showing_on_its_workspace();
}
}
class WorkspaceLayout extends Clutter.LayoutManager {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_width() {
return [0, 0];
}
vfunc_get_preferred_height() {
return [0, 0];
}
vfunc_allocate(container, box) {
const monitor = Main.layoutManager.findIndexForActor(container);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
const hscale = box.get_width() / workArea.width;
const vscale = box.get_height() / workArea.height;
for (const child of container) {
const childBox = new Clutter.ActorBox();
const frameRect = child.metaWindow.get_frame_rect();
childBox.set_size(
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
childBox.set_origin(
Math.round((frameRect.x - workArea.x) * hscale),
Math.round((frameRect.y - workArea.y) * vscale));
child.allocate(childBox);
}
}
}
class WorkspaceThumbnail extends St.Button {
static {
GObject.registerClass(this);
}
constructor(index) {
super({
style_class: 'workspace',
child: new Clutter.Actor({
layout_manager: new WorkspaceLayout(),
clip_to_allocation: true,
}),
});
this._tooltip = new St.Label({
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this));
this._index = index;
this._delegate = this; // needed for DND
this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.connectObject(
'window-added', (ws, window) => this._addWindow(window),
'window-removed', (ws, window) => this._removeWindow(window),
this);
global.display.connectObject('restacked',
this._onRestacked.bind(this), this);
this._workspace.list_windows().forEach(w => this._addWindow(w));
this._onRestacked();
}
acceptDrop(source) {
if (!source.metaWindow)
return false;
this._moveWindow(source.metaWindow);
return true;
}
handleDragOver(source) {
if (source.metaWindow)
return DND.DragMotionResult.MOVE_DROP;
else
return DND.DragMotionResult.CONTINUE;
}
_addWindow(window) {
if (this._windowPreviews.has(window))
return;
let preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview);
this.child.add_child(preview);
}
_removeWindow(window) {
let preview = this._windowPreviews.get(window);
if (!preview)
return;
this._windowPreviews.delete(window);
preview.destroy();
}
_onRestacked() {
let lastPreview = null;
let windows = global.get_window_actors().map(a => a.meta_window);
for (let i = 0; i < windows.length; i++) {
let preview = this._windowPreviews.get(windows[i]);
if (!preview)
continue;
this.child.set_child_above_sibling(preview, lastPreview);
lastPreview = preview;
}
}
_moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this);
if (monitorIndex !== window.get_monitor())
window.move_to_monitor(monitorIndex);
window.change_workspace_by_index(this._index, false);
}
on_clicked() {
let ws = global.workspace_manager.get_workspace_by_index(this._index);
if (ws)
ws.activate(global.get_current_time());
}
_syncTooltip() {
if (this.hover) {
this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this.get_transformed_position();
const thumbWidth = this.allocation.get_width();
const thumbHeight = this.allocation.get_height();
const tipWidth = this._tooltip.width;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY + thumbHeight + TOOLTIP_OFFSET;
this._tooltip.set_position(x, y);
}
this._tooltip.ease({
opacity: this.hover ? 255 : 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this._tooltip.visible = this.hover),
});
}
_onDestroy() {
this._tooltip.destroy();
}
}
class WorkspaceIndicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
}
constructor() {
super(0.5, _('Workspace Indicator'));
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
});
this.add_actor(container);
let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({
style_class: 'panel-workspace-indicator',
y_align: Clutter.ActorAlign.CENTER,
text: this._labelText(),
});
container.add_actor(this._statusLabel);
this._thumbnailsBox = new St.BoxLayout({
style_class: 'panel-workspace-indicator-box',
y_expand: true,
reactive: true,
});
container.add_actor(this._thumbnailsBox);
this._workspacesItems = [];
this._workspaceSection = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(this._workspaceSection);
workspaceManager.connectObject(
'notify::n-workspaces', this._nWorkspacesChanged.bind(this), GObject.ConnectFlags.AFTER,
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
'notify::layout-rows', this._updateThumbnailVisibility.bind(this),
this);
this.connect('scroll-event', this._onScrollEvent.bind(this));
this._thumbnailsBox.connect('scroll-event', this._onScrollEvent.bind(this));
this._createWorkspacesSection();
this._updateThumbnails();
this._updateThumbnailVisibility();
this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
this._settings.connectObject(`changed::${WORKSPACE_KEY}`,
this._updateMenuLabels.bind(this), this);
}
_onDestroy() {
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
super._onDestroy();
}
_updateThumbnailVisibility() {
const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1;
const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
this.reactive = useMenu;
this._statusLabel.visible = useMenu;
this._thumbnailsBox.visible = !useMenu;
// Disable offscreen-redirect when showing the workspace switcher
// so that clip-to-allocation works
Main.panel.set_offscreen_redirect(useMenu
? Clutter.OffscreenRedirect.ALWAYS
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
}
_onWorkspaceSwitched() {
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
this._updateMenuOrnament();
this._updateActiveThumbnail();
this._statusLabel.set_text(this._labelText());
}
_nWorkspacesChanged() {
this._createWorkspacesSection();
this._updateThumbnails();
this._updateThumbnailVisibility();
}
_updateMenuOrnament() {
for (let i = 0; i < this._workspacesItems.length; i++) {
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
? PopupMenu.Ornament.DOT
: PopupMenu.Ornament.NONE);
}
}
_updateActiveThumbnail() {
let thumbs = this._thumbnailsBox.get_children();
for (let i = 0; i < thumbs.length; i++) {
if (i === this._currentWorkspace)
thumbs[i].add_style_class_name('active');
else
thumbs[i].remove_style_class_name('active');
}
}
_labelText(workspaceIndex) {
if (workspaceIndex === undefined) {
workspaceIndex = this._currentWorkspace;
return (workspaceIndex + 1).toString();
}
return Meta.prefs_get_workspace_name(workspaceIndex);
}
_updateMenuLabels() {
for (let i = 0; i < this._workspacesItems.length; i++)
this._workspacesItems[i].label.text = this._labelText(i);
}
_createWorkspacesSection() {
let workspaceManager = global.workspace_manager;
this._workspaceSection.removeAll();
this._workspacesItems = [];
this._currentWorkspace = workspaceManager.get_active_workspace_index();
let i = 0;
for (; i < workspaceManager.n_workspaces; i++) {
this._workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i));
this._workspaceSection.addMenuItem(this._workspacesItems[i]);
this._workspacesItems[i].workspaceId = i;
this._workspacesItems[i].label_actor = this._statusLabel;
this._workspacesItems[i].connect('activate', (actor, _event) => {
this._activate(actor.workspaceId);
});
if (i === this._currentWorkspace)
this._workspacesItems[i].setOrnament(PopupMenu.Ornament.DOT);
}
this._statusLabel.set_text(this._labelText());
}
_updateThumbnails() {
let workspaceManager = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < workspaceManager.n_workspaces; i++) {
let thumb = new WorkspaceThumbnail(i);
this._thumbnailsBox.add_actor(thumb);
}
this._updateActiveThumbnail();
}
_activate(index) {
let workspaceManager = global.workspace_manager;
if (index >= 0 && index < workspaceManager.n_workspaces) {
let metaWorkspace = workspaceManager.get_workspace_by_index(index);
metaWorkspace.activate(global.get_current_time());
}
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
let diff = 0;
if (direction === Clutter.ScrollDirection.DOWN)
diff = 1;
else if (direction === Clutter.ScrollDirection.UP)
diff = -1;
else
return;
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
this._activate(newIndex);
}
}
export default class WorkspaceIndicatorExtension extends Extension { export default class WorkspaceIndicatorExtension extends Extension {
enable() { enable() {
this._indicator = new WorkspaceIndicator(); this._indicator = new WorkspaceIndicator({
settings: this.getSettings(),
});
Main.panel.addToStatusArea('workspace-indicator', this._indicator); Main.panel.addToStatusArea('workspace-indicator', this._indicator);
} }
+6 -2
View File
@@ -7,6 +7,10 @@ extension_data += configure_file(
output: metadata_name, output: metadata_name,
configuration: metadata_conf configuration: metadata_conf
) )
extension_data += files('stylesheet.css') extension_data += files(
'stylesheet-dark.css',
'stylesheet-light.css',
)
extension_schemas += files('schemas/' + metadata_conf.get('gschemaname') + '.gschema.xml')
extension_sources += files('prefs.js') extension_sources += files('prefs.js', 'workspaceIndicator.js')
+24 -3
View File
@@ -3,7 +3,6 @@
// //
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
import Adw from 'gi://Adw'; import Adw from 'gi://Adw';
import Gio from 'gi://Gio'; import Gio from 'gi://Gio';
import GLib from 'gi://GLib'; import GLib from 'gi://GLib';
@@ -18,6 +17,25 @@ const N_ = e => e;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences'; const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names'; const WORKSPACE_KEY = 'workspace-names';
class GeneralGroup extends Adw.PreferencesGroup {
static {
GObject.registerClass(this);
}
constructor(settings) {
super();
const row = new Adw.SwitchRow({
title: _('Show Previews In Top Bar'),
});
this.add(row);
settings.bind('embed-previews',
row, 'active',
Gio.SettingsBindFlags.DEFAULT);
}
}
class NewItem extends GObject.Object {} class NewItem extends GObject.Object {}
GObject.registerClass(NewItem); GObject.registerClass(NewItem);
@@ -119,7 +137,7 @@ class WorkspacesList extends GObject.Object {
} }
} }
class WorkspaceSettingsWidget extends Adw.PreferencesGroup { class WorkspacesGroup extends Adw.PreferencesGroup {
static { static {
GObject.registerClass(this); GObject.registerClass(this);
@@ -265,6 +283,9 @@ class NewWorkspaceRow extends Adw.PreferencesRow {
export default class WorkspaceIndicatorPrefs extends ExtensionPreferences { export default class WorkspaceIndicatorPrefs extends ExtensionPreferences {
getPreferencesWidget() { getPreferencesWidget() {
return new WorkspaceSettingsWidget(); const page = new Adw.PreferencesPage();
page.add(new GeneralGroup(this.getSettings()));
page.add(new WorkspacesGroup());
return page;
} }
} }
@@ -0,0 +1,15 @@
<!--
SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.workspace-indicator"
path="/org/gnome/shell/extensions/workspace-indicator/">
<key name="embed-previews" type="b">
<default>true</default>
<summary>Show workspace previews in top bar</summary>
</key>
</schema>
</schemalist>
@@ -0,0 +1,76 @@
/*
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.workspace-indicator .status-label {
padding: 0 8px;
}
.workspace-indicator .workspaces-view.hfade {
-st-hfade-offset: 20px;
}
.workspace-indicator-menu .workspaces-view {
max-width: 480px;
}
.workspace-indicator .workspaces-box {
spacing: 3px;
}
.workspace-indicator-menu .workspaces-box {
padding: 5px;
spacing: 6px;
}
.workspace-indicator .workspace-box {
padding-top: 5px;
padding-bottom: 5px;
}
.workspace-indicator StButton:first-child:ltr > .workspace-box,
.workspace-indicator StButton:last-child:rtl > .workspace-box {
padding-left: 5px;
}
.workspace-indicator StButton:last-child:ltr > .workspace-box,
.workspace-indicator StButton:first-child:rtl > .workspace-box {
padding-right: 5px;
}
.workspace-indicator-menu .workspace-box {
spacing: 6px;
}
.workspace-indicator-menu .workspace,
.workspace-indicator .workspace {
border: 1px solid transparent;
border-radius: 4px;
background-color: #3f3f3f;
}
.workspace-indicator .workspace {
width: 52px;
}
.workspace-indicator-menu .workspace {
height: 80px;
width: 160px;
}
.workspace-indicator-menu .workspace.active,
.workspace-indicator .workspace.active {
border-color: #fff;
}
.workspace-indicator-window-preview {
background-color: #bebebe;
border: 1px solid #828282;
border-radius: 1px;
}
.workspace-indicator-window-preview.active {
background-color: #d4d4d4;
}
@@ -0,0 +1,25 @@
/*
* SPDX-FileCopyrightText: 2013 Florian Müllner <fmuellner@gnome.org>
* SPDX-FileCopyrightText: 2015 Jakub Steiner <jimmac@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
@import url("stylesheet-dark.css");
.workspace-indicator .workspace {
background-color: #ccc;
}
.workspace-indicator .workspace.active {
border-color: #888;
}
.workspace-indicator-window-preview {
background-color: #ededed;
border: 1px solid #ccc;
}
.workspace-indicator-window-preview.active {
background-color: #f6f5f4;
}
@@ -1,35 +0,0 @@
/*
* SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
* SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.panel-workspace-indicator {
padding: 0 8px;
}
.panel-workspace-indicator-box {
padding: 4px 0;
spacing: 4px;
}
.panel-workspace-indicator-box .workspace {
width: 40px;
border: 2px solid #000;
border-radius: 2px;
background-color: #595959;
}
.panel-workspace-indicator-box .workspace.active {
border-color: #fff;
}
.workspace-indicator-window-preview {
background-color: #bebebe;
border: 1px solid #828282;
}
.workspace-indicator-window-preview.active {
background-color: #d4d4d4;
}
@@ -0,0 +1,537 @@
// SPDX-FileCopyrightText: 2011 Erick Pérez Castellanos <erick.red@gmail.com>
// SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
// SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
import St from 'gi://St';
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const SCROLL_TIME = 100;
let baseStyleClassName = '';
class WindowPreview extends St.Button {
static {
GObject.registerClass(this);
}
constructor(window) {
super({
style_class: `${baseStyleClassName}-window-preview`,
});
this._delegate = this;
DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window;
this._window.connectObject(
'size-changed', () => this._checkRelayout(),
'position-changed', () => this._checkRelayout(),
'notify::minimized', this._updateVisible.bind(this),
'notify::skip-taskbar', this._updateVisible.bind(this),
this);
this._updateVisible();
global.display.connectObject('notify::focus-window',
this._onFocusChanged.bind(this), this);
this._onFocusChanged();
}
// needed for DND
get metaWindow() {
return this._window;
}
_onFocusChanged() {
if (global.display.focus_window === this._window)
this.add_style_class_name('active');
else
this.remove_style_class_name('active');
}
_checkRelayout() {
const monitor = Main.layoutManager.findIndexForActor(this);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
if (this._window.get_frame_rect().overlap(workArea))
this.queue_relayout();
}
_updateVisible() {
this.visible = !this._window.skip_taskbar &&
this._window.showing_on_its_workspace();
}
}
class WorkspaceLayout extends Clutter.LayoutManager {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_width() {
return [0, 0];
}
vfunc_get_preferred_height() {
return [0, 0];
}
vfunc_allocate(container, box) {
const monitor = Main.layoutManager.findIndexForActor(container);
const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor);
const hscale = box.get_width() / workArea.width;
const vscale = box.get_height() / workArea.height;
for (const child of container) {
const childBox = new Clutter.ActorBox();
const frameRect = child.metaWindow.get_frame_rect();
childBox.set_size(
Math.round(Math.min(frameRect.width, workArea.width) * hscale),
Math.round(Math.min(frameRect.height, workArea.height) * vscale));
childBox.set_origin(
Math.round((frameRect.x - workArea.x) * hscale),
Math.round((frameRect.y - workArea.y) * vscale));
child.allocate(childBox);
}
}
}
class WorkspaceThumbnail extends St.Button {
static [GObject.properties] = {
'active': GObject.ParamSpec.boolean(
'active', null, null,
GObject.ParamFlags.READWRITE,
false),
'show-label': GObject.ParamSpec.boolean(
'show-label', null, null,
GObject.ParamFlags.READWRITE,
false),
};
static {
GObject.registerClass(this);
}
constructor(index) {
super();
const box = new St.BoxLayout({
style_class: 'workspace-box',
y_expand: true,
vertical: true,
});
this.set_child(box);
this._preview = new St.Bin({
style_class: 'workspace',
child: new Clutter.Actor({
layout_manager: new WorkspaceLayout(),
clip_to_allocation: true,
x_expand: true,
y_expand: true,
}),
y_expand: true,
});
box.add_child(this._preview);
this._label = new St.Label({
x_align: Clutter.ActorAlign.CENTER,
text: Meta.prefs_get_workspace_name(index),
});
box.add_child(this._label);
this._tooltip = new St.Label({
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
this.bind_property('show-label',
this._label, 'visible',
GObject.BindingFlags.SYNC_CREATE);
this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this));
const desktopSettings =
new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
desktopSettings.connectObject('changed::workspace-names', () => {
this._label.text = Meta.prefs_get_workspace_name(index);
}, this);
this._index = index;
this._delegate = this; // needed for DND
this._windowPreviews = new Map();
let workspaceManager = global.workspace_manager;
this._workspace = workspaceManager.get_workspace_by_index(index);
this._workspace.bind_property('active',
this, 'active',
GObject.BindingFlags.SYNC_CREATE);
this._workspace.connectObject(
'window-added', (ws, window) => this._addWindow(window),
'window-removed', (ws, window) => this._removeWindow(window),
this);
global.display.connectObject('restacked',
this._onRestacked.bind(this), this);
this._workspace.list_windows().forEach(w => this._addWindow(w));
this._onRestacked();
}
get active() {
return this._preview.has_style_class_name('active');
}
set active(active) {
if (active)
this._preview.add_style_class_name('active');
else
this._preview.remove_style_class_name('active');
this.notify('active');
}
acceptDrop(source) {
if (!source.metaWindow)
return false;
this._moveWindow(source.metaWindow);
return true;
}
handleDragOver(source) {
if (source.metaWindow)
return DND.DragMotionResult.MOVE_DROP;
else
return DND.DragMotionResult.CONTINUE;
}
_addWindow(window) {
if (this._windowPreviews.has(window))
return;
let preview = new WindowPreview(window);
preview.connect('clicked', (a, btn) => this.emit('clicked', btn));
this._windowPreviews.set(window, preview);
this._preview.child.add_child(preview);
}
_removeWindow(window) {
let preview = this._windowPreviews.get(window);
if (!preview)
return;
this._windowPreviews.delete(window);
preview.destroy();
}
_onRestacked() {
let lastPreview = null;
let windows = global.get_window_actors().map(a => a.meta_window);
for (let i = 0; i < windows.length; i++) {
let preview = this._windowPreviews.get(windows[i]);
if (!preview)
continue;
this._preview.child.set_child_above_sibling(preview, lastPreview);
lastPreview = preview;
}
}
_moveWindow(window) {
let monitorIndex = Main.layoutManager.findIndexForActor(this);
if (monitorIndex !== window.get_monitor())
window.move_to_monitor(monitorIndex);
window.change_workspace_by_index(this._index, false);
}
on_clicked() {
let ws = global.workspace_manager.get_workspace_by_index(this._index);
if (ws)
ws.activate(global.get_current_time());
}
_syncTooltip() {
if (this.showLabel)
return;
if (this.hover) {
this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this.get_transformed_position();
const [thumbWidth, thumbHeight] = this.allocation.get_size();
const [tipWidth, tipHeight] = this._tooltip.get_size();
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY - monitor.y > thumbHeight + TOOLTIP_OFFSET
? stageY - tipHeight - TOOLTIP_OFFSET // show above
: stageY + thumbHeight + TOOLTIP_OFFSET; // show below
this._tooltip.set_position(x, y);
}
this._tooltip.ease({
opacity: this.hover ? 255 : 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this._tooltip.visible = this.hover),
});
}
_onDestroy() {
this._tooltip.destroy();
}
}
class WorkspacePreviews extends Clutter.Actor {
static [GObject.properties] = {
'show-labels': GObject.ParamSpec.boolean(
'show-labels', null, null,
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
false),
};
static {
GObject.registerClass(this);
}
constructor(params) {
super({
...params,
layout_manager: new Clutter.BinLayout(),
reactive: true,
y_expand: true,
});
this.connect('scroll-event',
(a, event) => Main.wm.handleWorkspaceScroll(event));
const {workspaceManager} = global;
workspaceManager.connectObject(
'notify::n-workspaces', () => this._updateThumbnails(), GObject.ConnectFlags.AFTER,
'workspace-switched', () => this._updateScrollPosition(),
this);
this.connect('notify::mapped', () => {
if (this.mapped)
this._updateScrollPosition();
});
this._thumbnailsBox = new St.BoxLayout({
style_class: 'workspaces-box',
y_expand: true,
});
this._scrollView = new St.ScrollView({
style_class: 'workspaces-view hfade',
enable_mouse_scrolling: false,
hscrollbar_policy: St.PolicyType.EXTERNAL,
vscrollbar_policy: St.PolicyType.NEVER,
y_expand: true,
child: this._thumbnailsBox,
});
this.add_child(this._scrollView);
this._updateThumbnails();
}
_updateThumbnails() {
const {nWorkspaces} = global.workspace_manager;
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < nWorkspaces; i++) {
const thumb = new WorkspaceThumbnail(i);
this.bind_property('show-labels',
thumb, 'show-label',
GObject.BindingFlags.SYNC_CREATE);
this._thumbnailsBox.add_child(thumb);
}
if (this.mapped)
this._updateScrollPosition();
}
_updateScrollPosition() {
const adjustment = this._scrollView.hadjustment;
const {upper, pageSize} = adjustment;
let {value} = adjustment;
const activeWorkspace =
[...this._thumbnailsBox].find(a => a.active);
if (!activeWorkspace)
return;
let offset = 0;
const hfade = this._scrollView.get_effect('fade');
if (hfade)
offset = hfade.fade_margins.left;
let {x1, x2} = activeWorkspace.get_allocation_box();
let parent = activeWorkspace.get_parent();
while (parent !== this._scrollView) {
if (!parent)
throw new Error('actor not in scroll view');
const box = parent.get_allocation_box();
x1 += box.x1;
x2 += box.x1;
parent = parent.get_parent();
}
if (x1 < value + offset)
value = Math.max(0, x1 - offset);
else if (x2 > value + pageSize - offset)
value = Math.min(upper, x2 + offset - pageSize);
else
return;
adjustment.ease(value, {
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
duration: SCROLL_TIME,
});
}
}
export class WorkspaceIndicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
}
constructor(params = {}) {
super(0.5, _('Workspace Indicator'), true);
const {
baseStyleClass = 'workspace-indicator',
settings,
} = params;
this._settings = settings;
baseStyleClassName = baseStyleClass;
this.add_style_class_name(baseStyleClassName);
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
y_expand: true,
});
this.add_child(container);
let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({
style_class: 'status-label',
y_align: Clutter.ActorAlign.CENTER,
text: this._getStatusText(),
});
container.add_child(this._statusLabel);
this._thumbnails = new WorkspacePreviews();
container.add_child(this._thumbnails);
this._workspacesItems = [];
workspaceManager.connectObject(
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
this);
this.connect('scroll-event',
(a, event) => Main.wm.handleWorkspaceScroll(event));
this._inTopBar = false;
this.connect('notify::realized', () => {
if (!this.realized)
return;
this._inTopBar = Main.panel.contains(this);
this._updateTopBarRedirect();
});
this._settings.connect('changed::embed-previews',
() => this._updateThumbnailVisibility());
this._updateThumbnailVisibility();
}
_onDestroy() {
if (this._inTopBar)
Main.panel.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._inTopBar = false;
super._onDestroy();
}
_updateThumbnailVisibility() {
const useMenu = !this._settings.get_boolean('embed-previews');
this.reactive = useMenu;
this._statusLabel.visible = useMenu;
this._thumbnails.visible = !useMenu;
this.setMenu(useMenu
? this._createPreviewMenu()
: null);
this._updateTopBarRedirect();
}
_updateTopBarRedirect() {
if (!this._inTopBar)
return;
// Disable offscreen-redirect when showing the workspace switcher
// so that clip-to-allocation works
Main.panel.set_offscreen_redirect(this._thumbnails.visible
? Clutter.OffscreenRedirect.ALWAYS
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
}
_onWorkspaceSwitched() {
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
this._statusLabel.set_text(this._getStatusText());
}
_getStatusText() {
const {nWorkspaces} = global.workspace_manager;
const current = this._currentWorkspace + 1;
return `${current} / ${nWorkspaces}`;
}
_createPreviewMenu() {
const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP);
const previews = new WorkspacePreviews({show_labels: true});
menu.box.add_child(previews);
menu.actor.add_style_class_name(`${baseStyleClassName}-menu`);
return menu;
}
}
-7
View File
@@ -18,7 +18,6 @@ Most extensions can be installed by configuring --prefix=$HOME/.local,
and will be picked automatically at next login. and will be picked automatically at next login.
</description> </description>
<homepage rdf:resource="https://wiki.gnome.org/Projects/GnomeShell/Extensions" /> <homepage rdf:resource="https://wiki.gnome.org/Projects/GnomeShell/Extensions" />
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
<support-forum rdf:resource="https://discourse.gnome.org/tag/shell" /> <support-forum rdf:resource="https://discourse.gnome.org/tag/shell" />
<download-page rdf:resource="https://download.gnome.org/sources/gnome-shell-extensions/" /> <download-page rdf:resource="https://download.gnome.org/sources/gnome-shell-extensions/" />
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues" /> <bug-database rdf:resource="https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues" />
@@ -33,10 +32,4 @@ and will be picked automatically at next login.
<gnome:userid>fmuellner</gnome:userid> <gnome:userid>fmuellner</gnome:userid>
</foaf:Person> </foaf:Person>
</maintainer> </maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Marge Bot</foaf:name>
<gnome:userid>marge-bot</gnome:userid>
</foaf:Person>
</maintainer>
</Project> </Project>
+6
View File
@@ -12,6 +12,12 @@ rules:
- error - error
- smart - smart
prefer-arrow-callback: error prefer-arrow-callback: error
jsdoc/require-param-description: off
jsdoc/require-jsdoc:
- error
- exemptEmptyFunctions: true
publicOnly:
esm: true
globals: globals:
global: readonly global: readonly
parserOptions: parserOptions:
+18 -24
View File
@@ -2,10 +2,11 @@
# #
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
project('gnome-shell-extensions', project(
version: '45.0', 'gnome-shell-extensions',
meson_version: '>= 0.58.0', version: '47.3',
license: 'GPL2+' meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
) )
gettext_domain = meson.project_name() gettext_domain = meson.project_name()
@@ -34,7 +35,7 @@ classic_extensions = [
'apps-menu', 'apps-menu',
'places-menu', 'places-menu',
'launch-new-instance', 'launch-new-instance',
'window-list' 'window-list',
] ]
default_extensions = classic_extensions default_extensions = classic_extensions
@@ -42,16 +43,14 @@ default_extensions += [
'drive-menu', 'drive-menu',
'light-style', 'light-style',
'screenshot-window-sizer', 'screenshot-window-sizer',
'status-icons',
'system-monitor',
'windowsNavigator', 'windowsNavigator',
'workspace-indicator' 'workspace-indicator',
] ]
all_extensions = default_extensions all_extensions = default_extensions
all_extensions += [ all_extensions += ['auto-move-windows', 'native-window-placement', 'user-theme']
'auto-move-windows',
'native-window-placement',
'user-theme'
]
enabled_extensions = get_option('enable_extensions') enabled_extensions = get_option('enable_extensions')
@@ -70,11 +69,10 @@ endif
classic_mode_enabled = get_option('classic_mode') classic_mode_enabled = get_option('classic_mode')
if classic_mode_enabled if classic_mode_enabled
# Sanity check: Make sure all classic extensions are enabled # Sanity check: Make sure all classic extensions are enabled
foreach e : classic_extensions foreach e : classic_extensions
if not enabled_extensions.contains(e) if not enabled_extensions.contains(e)
error('Classic mode is enabled, ' + error(f'Classic mode is enabled, but the required extension @e@ is not')
'but the required extension @0@ is not.'.format(e))
endif endif
endforeach endforeach
endif endif
@@ -82,7 +80,7 @@ endif
# Sanity check: Make sure enabled extensions are valid # Sanity check: Make sure enabled extensions are valid
foreach e : enabled_extensions foreach e : enabled_extensions
if not all_extensions.contains(e) if not all_extensions.contains(e)
error('Invalid extension @0@.'.format(e)) error(f'Invalid extension @e@.')
endif endif
endforeach endforeach
@@ -90,24 +88,20 @@ if classic_mode_enabled
subdir('data') subdir('data')
meson.add_install_script( meson.add_install_script(
'meson/session-post-install.py', 'meson/session-post-install.py',
join_paths(get_option('prefix'), datadir) join_paths(get_option('prefix'), datadir),
) )
endif endif
subdir('extensions') subdir('extensions')
subdir('po') subdir('po')
gnome.post_install( gnome.post_install(glib_compile_schemas: true)
glib_compile_schemas: true,
)
meson.add_dist_script('meson/check-version.py', meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS')
meson.project_version(),
'NEWS')
summary_options = { summary_options = {
'extensions': enabled_extensions, 'extensions': enabled_extensions,
'classic_mode': get_option('classic_mode'), 'classic_mode': get_option('classic_mode'),
} }
summary_dirs = { summary_dirs = {
View File
+7 -3
View File
@@ -6,7 +6,8 @@
import os, sys import os, sys
from pathlib import Path from pathlib import Path
import argparse, subprocess from xml.etree.ElementTree import ElementTree
import argparse
def check_version(version, file, type='news'): def check_version(version, file, type='news'):
if type == 'news': if type == 'news':
@@ -16,8 +17,11 @@ def check_version(version, file, type='news'):
if not ok: if not ok:
raise Exception("{} does not start with {}".format(file, version)) raise Exception("{} does not start with {}".format(file, version))
elif type == 'metainfo': elif type == 'metainfo':
subprocess.run(['appstream-util', 'validate-version', file, version], query = './releases/release[@version="{}"]'.format(version)
check=True) ok = ElementTree(file=file).find(query) is not None
print("{}: {}".format(file, "OK" if ok else "FAILED"))
if not ok:
raise Exception("{} does not contain release {}".format(file, version))
else: else:
raise Exception('Not implemented') raise Exception('Not implemented')
+4 -2
View File
@@ -11,11 +11,13 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac
extensions/places-menu/extension.js extensions/places-menu/extension.js
extensions/places-menu/placeDisplay.js extensions/places-menu/placeDisplay.js
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
extensions/system-monitor/extension.js
extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
extensions/window-list/extension.js extensions/window-list/extension.js
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
extensions/window-list/prefs.js extensions/window-list/prefs.js
extensions/window-list/workspaceIndicator.js
extensions/windowsNavigator/extension.js extensions/windowsNavigator/extension.js
extensions/workspace-indicator/extension.js
extensions/workspace-indicator/prefs.js extensions/workspace-indicator/prefs.js
extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
extensions/workspace-indicator/workspaceIndicator.js
+148 -58
View File
@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2022-07-10 12:54+0000\n" "POT-Creation-Date: 2024-04-29 15:27+0000\n"
"PO-Revision-Date: 2022-10-19 15:20+0300\n" "PO-Revision-Date: 2024-08-23 16:00+0300\n"
"Last-Translator: Launchpad translators\n" "Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n" "Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n" "Language: be\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.0\n" "X-Generator: Poedit 3.4.4\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -37,19 +37,19 @@ msgstr "Класічны GNOME на Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Класічны GNOME на Xorg" msgstr "Класічны GNOME на Xorg"
#: extensions/apps-menu/extension.js:118 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Абраныя" msgstr "Абраныя"
#: extensions/apps-menu/extension.js:379 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Праграмы" msgstr "Праграмы"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Праграма і спіс працоўных прастор" msgstr "Праграма і спіс працоўных прастор"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -57,99 +57,171 @@ msgstr ""
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *." "Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
"desktop), затым двукроп'е і нумар працоўнай прасторы" "desktop), затым двукроп'е і нумар працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:152 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Правілы для працоўнай прасторы" msgstr "Правілы для працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:306 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Дадаць правіла" msgstr "Дадаць правіла"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:126 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:210 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Не ўдалося выняць дыск «%s»:" msgstr "Не ўдалося выняць дыск «%s»:"
#: extensions/drive-menu/extension.js:145 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Здымныя прылады" msgstr "Здымныя прылады"
#: extensions/drive-menu/extension.js:167 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Адкрыць файлы" msgstr "Адкрыць файлы"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў" msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy." "This setting applies only with the natural placement strategy."
msgstr "" msgstr ""
"Спрабаваць выкарыстаць большую плошчу экрана для размяшчэння мініяцюр праз " "Спрабаваць выкарыстаць большую плошчу экрана для размяшчэння мініяцюр праз "
"змяненне суадносін бакоў экрана, ўшчыльняючы іх, каб зменшыць памеры " "змяненне суадносін бакоў экрана, ушчыльняючы іх, каб зменшыць памеры "
"абмежавальнай рамкі. Гэты параметр ужываецца толькі з натуральным " "абмежавальнай рамкі. Гэты параметр ужываецца толькі з натуральным "
"размяшчэннем мініяцюр." "размяшчэннем мініяцюр."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Размяшчаць подпіс акна зверху" msgstr "Размяшчаць подпіс акна зверху"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
"Калі выбрана, подпіс акна будзе над мініяцюрай, а не пад ей (як " "Калі выбрана, подпіс акна будзе над мініяцюрай, а не пад ёй (як "
"перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць " "перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць "
"абалонку." "абалонку."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:97
msgid "Places" msgid "Places"
msgstr "Месцы" msgstr "Месцы"
#: extensions/places-menu/placeDisplay.js:49 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Не ўдалося запусціць «%s»" msgstr "Не ўдалося запусціць «%s»"
#: extensions/places-menu/placeDisplay.js:64 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Не ўдалося прымацаваць том для «%s»." msgstr "Не ўдалося прымацаваць том для «%s»."
#: extensions/places-menu/placeDisplay.js:125 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Камп'ютар" msgstr "Камп'ютар"
#: extensions/places-menu/placeDisplay.js:336 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Хатняя папка" msgstr "Хатняя папка"
#: extensions/places-menu/placeDisplay.js:381 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Агляд сеткі" msgstr "Агляд сеткі"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Паслядоўнасць змены памераў для здымка экрана" msgstr "Паслядоўнасць змены памераў для здымка экрана"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Адваротная паслядоўнасць змены памераў для здымка экрана" msgstr "Адваротная паслядоўнасць змены памераў для здымка экрана"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: 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:364
msgid "System stats"
msgstr "Статыстыка сістэмы"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Паказваць"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "Працэсар"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Памяць"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Своп"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Атрыманне"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Адпраўленне"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Адкрыць сістэмны манітор"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Паказваць выкарыстанне працэсара"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Паказваць выкарыстанне памяці"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Паказваць выкарыстанне своп"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Паказваць атрыманне даных"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Паказваць адпраўленне даных"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Назва тэмы" msgstr "Назва тэмы"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell" msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
@@ -157,51 +229,51 @@ msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome
msgid "Close" msgid "Close"
msgstr "Закрыць" msgstr "Закрыць"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Unminimize" msgid "Unminimize"
msgstr "Скасаваць згортванне" msgstr "Скасаваць згортванне"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Minimize" msgid "Minimize"
msgstr "Згарнуць" msgstr "Згарнуць"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Скасаваць разгортванне" msgstr "Скасаваць разгортванне"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Maximize" msgid "Maximize"
msgstr "Разгарнуць" msgstr "Разгарнуць"
#: extensions/window-list/extension.js:483 #: extensions/window-list/extension.js:471
msgid "Minimize all" msgid "Minimize all"
msgstr "Згарнуць усе" msgstr "Згарнуць усе"
#: extensions/window-list/extension.js:489 #: extensions/window-list/extension.js:477
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Скасаваць згортванне для ўсіх" msgstr "Скасаваць згортванне для ўсіх"
#: extensions/window-list/extension.js:495 #: extensions/window-list/extension.js:483
msgid "Maximize all" msgid "Maximize all"
msgstr "Разгарнуць усе" msgstr "Разгарнуць усе"
#: extensions/window-list/extension.js:503 #: extensions/window-list/extension.js:491
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Скасаваць разгортванне для ўсіх" msgstr "Скасаваць разгортванне для ўсіх"
#: extensions/window-list/extension.js:511 #: extensions/window-list/extension.js:499
msgid "Close all" msgid "Close all"
msgstr "Закрыць усе" msgstr "Закрыць усе"
#: extensions/window-list/extension.js:795 #: extensions/window-list/extension.js:778
msgid "Window List" msgid "Window List"
msgstr "Спіс вокнаў" msgstr "Спіс вокнаў"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Умовы групавання вокнаў" msgstr "Умовы групавання вокнаў"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -209,26 +281,30 @@ msgstr ""
"Вызначае калі групаваць вокны адной праграмы ў спісе вокнаў. Магчымыя " "Вызначае калі групаваць вокны адной праграмы ў спісе вокнаў. Магчымыя "
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)." "значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Паказваць вокны з усіх працоўных прастор" msgstr "Паказваць вокны з усіх працоўных прастор"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Паказваць вокны з усіх працоўных прастор ці толькі з бягучай." msgstr "Паказваць вокны з усіх працоўных прастор ці толькі з бягучай."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Паказваць спіс вокнаў на ўсіх маніторах" msgstr "Паказваць спіс вокнаў на ўсіх маніторах"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
msgstr "" msgstr ""
"Паказваць спіс вокнаў на ўсіх падлучаных маніторах ці толькі на асноўным." "Паказваць спіс вокнаў на ўсіх падлучаных маніторах ці толькі на асноўным."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Паказваць папярэдні прагляд працоўных прастор у спісе акон"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Групаванне вокнаў" msgstr "Групаванне вокнаў"
@@ -249,24 +325,38 @@ msgstr "Заўсёды групаваць вокны"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Паказваць на ўсіх маніторах" msgstr "Паказваць на ўсіх маніторах"
#: extensions/window-list/workspaceIndicator.js:261 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:266 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Паказваць папярэдні прагляд працоўных прастор"
msgstr "Індыкатар працоўнай прасторы"
#: extensions/workspace-indicator/prefs.js:62 #: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Паказваць папярэдні прагляд у верхняй панэлі"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Працоўная прастора %d" msgstr "Працоўная прастора %d"
#: extensions/workspace-indicator/prefs.js:129 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Назвы працоўных прастор" msgstr "Назвы працоўных прастор"
#: extensions/workspace-indicator/prefs.js:255 #: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Дадаць працоўную прастору" msgstr "Дадаць працоўную прастору"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Паказваць папярэдні прагляд працоўных прастор у верхняй панэлі"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Індыкатар працоўнай прасторы"
#~ msgid "Applications"
#~ msgstr "Праграмы"
#~ msgid "Attach modal dialog to the parent window" #~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Прымацаваць мадальны дыялог да бацькоўскага акна" #~ msgstr "Прымацаваць мадальны дыялог да бацькоўскага акна"
@@ -328,7 +418,7 @@ msgstr "Дадаць працоўную прастору"
#~ "If not empty, it contains the text that will be shown when clicking on " #~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel." #~ "the panel."
#~ msgstr "" #~ msgstr ""
#~ "Калі не пуста, ўтрымлівае тэкст, які будзе паказвацца пры націсканні на " #~ "Калі не пуста, змяшчае тэкст, які будзе паказвацца пры націсканні на "
#~ "панэль." #~ "панэль."
#~ msgid "Message" #~ msgid "Message"
+159 -65
View File
@@ -1,24 +1,28 @@
# Bulgarian translation for gnome-shell-extensions po-file. # Bulgarian translation for gnome-shell-extensions po-file.
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc. # Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
# Copyright (C) 2021, 2022 Alexander Shopov <ash@kambanaria.org>. # Copyright (C) 2021, 2022 Alexander Shopov <ash@kambanaria.org>.
# Copyright (C) 2024 twlvnn kraftwerk <kraft_werk@tutanota.com>.
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014. # Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022. # Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021, 2022.
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017. # Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
# twlvnn kraftwerk <kraft_werk@tutanota.com>, 2024.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2022-02-12 20:25+0000\n" "POT-Creation-Date: 2024-09-01 12:03+0000\n"
"PO-Revision-Date: 2022-02-13 11:40+0100\n" "PO-Revision-Date: 2024-09-02 10:49+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Last-Translator: twlvnn kraftwerk <kraft_werk@tutanota.com>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n" "Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n" "Language: bg\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Generator: Gtranslator 46.1\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -37,19 +41,19 @@ msgstr "Класически GNOME в Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Класически GNOME в Xorg" msgstr "Класически GNOME в Xorg"
#: extensions/apps-menu/extension.js:112 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Любими" msgstr "Любими"
#: extensions/apps-menu/extension.js:370 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Програми" msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Списък с програмите и работните плотове" msgstr "Списък с програмите и работните плотове"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -57,34 +61,34 @@ msgstr ""
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „." "Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
"desktop“), следван от знака „:“ и номер на работен плот" "desktop“), следван от знака „:“ и номер на работен плот"
#: extensions/auto-move-windows/prefs.js:19 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Правила за работните плотове" msgstr "Правила за работните плотове"
#: extensions/auto-move-windows/prefs.js:245 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Добавяне на правило" msgstr "Добавяне на правило"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:210 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Неуспешно изваждане на устройство „%s“:" msgstr "Неуспешно изваждане на устройство „%s“:"
#: extensions/drive-menu/extension.js:139 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Преносими медии" msgstr "Преносими медии"
#: extensions/drive-menu/extension.js:161 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Отваряне на файлове" msgstr "Отваряне на файлове"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Повече пространство за прозорците" msgstr "Повече пространство за прозорците"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -95,11 +99,11 @@ msgstr ""
"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при " "смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при "
"естествената стратегия за поставяне на прозорците." "естествената стратегия за поставяне на прозорците."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Заглавия на прозорците отгоре" msgstr "Заглавия на прозорците отгоре"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -109,123 +113,195 @@ msgstr ""
"им, а не както е стандартно — отдолу. За прилагане на промяната на " "им, а не както е стандартно — отдолу. За прилагане на промяната на "
"настройката трябва да рестартирате обвивката на GNOME." "настройката трябва да рестартирате обвивката на GNOME."
#: extensions/places-menu/extension.js:88
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Места" msgstr "Места"
#: extensions/places-menu/placeDisplay.js:49 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Неуспешно стартиране на „%s“" msgstr "Неуспешно стартиране на „%s“"
#: extensions/places-menu/placeDisplay.js:64 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Неуспешно монтиране на тома „%s“" msgstr "Неуспешно монтиране на тома „%s“"
#: extensions/places-menu/placeDisplay.js:125 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Компютър" msgstr "Компютър"
#: extensions/places-menu/placeDisplay.js:336 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Домашна папка" msgstr "Домашна папка"
#: extensions/places-menu/placeDisplay.js:381 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Мрежа" msgstr "Мрежа"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Смяна на размерите на снимката на екрана" msgstr "Смяна на размерите на снимката на екрана"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Смяна на размерите на снимката на екрана наобратно" msgstr "Смяна на размерите на снимката на екрана наобратно"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: 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:364
msgid "System stats"
msgstr "Статистика на системата"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Показване"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "ЦП"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Памет"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Виртуалната памет"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Качване"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Изтегляне"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Отваряне на „Наблюдение на системата“"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Показване на ползван ЦП"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Показване на ползвана памет"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Показване на ползвана виртуалната памет"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Показване на качването"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Показване на изтеглянето"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Име на темата" msgstr "Име на темата"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "" msgstr ""
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“" "Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:70
msgid "Close" msgid "Close"
msgstr "Затваряне" msgstr "Затваряне"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Unminimize" msgid "Unminimize"
msgstr "Деминимизиране" msgstr "Деминимизиране"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Minimize" msgid "Minimize"
msgstr "Минимизиране" msgstr "Минимизиране"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Демаксимизиране" msgstr "Демаксимизиране"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Maximize" msgid "Maximize"
msgstr "Максимизиране" msgstr "Максимизиране"
#: extensions/window-list/extension.js:434 #: extensions/window-list/extension.js:489
msgid "Minimize all" msgid "Minimize all"
msgstr "Минимизиране на всички" msgstr "Минимизиране на всички"
#: extensions/window-list/extension.js:440 #: extensions/window-list/extension.js:495
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Деминимизиране на всички" msgstr "Деминимизиране на всички"
#: extensions/window-list/extension.js:446 #: extensions/window-list/extension.js:501
msgid "Maximize all" msgid "Maximize all"
msgstr "Максимизиране на всички" msgstr "Максимизиране на всички"
#: extensions/window-list/extension.js:454 #: extensions/window-list/extension.js:509
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Демаксимизиране на всички" msgstr "Демаксимизиране на всички"
#: extensions/window-list/extension.js:462 #: extensions/window-list/extension.js:517
msgid "Close all" msgid "Close all"
msgstr "Затваряне на всички" msgstr "Затваряне на всички"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:789
msgid "Window List" msgid "Window List"
msgstr "Списък на прозорците" msgstr "Списък на прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Кога прозорците да се групират" msgstr "Кога прозорците да се групират"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
msgstr "" msgstr ""
"Кога прозорците на една програма да се групират в списъка с прозорците. " "Кога прозорците на една програма да се групират в списъка с прозорците. "
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и " "Възможните стойности са „never“ (никога), „auto“ (автоматично) и „always“ "
"„always“ (винаги)." "(винаги)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:76 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Да се показват прозорците от всички работни плотове" msgstr "Да се показват прозорците от всички работни плотове"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "" msgstr ""
"Дали да се показват прозорците от всички работни плотове или само от текущия." "Дали да се показват прозорците от всички работни плотове или само от текущия."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Извеждане на списъка с прозорци на всички монитори" msgstr "Извеждане на списъка с прозорци на всички монитори"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -233,40 +309,58 @@ msgstr ""
"Дали списъкът с прозорци да се извежда на всички монитори или само на " "Дали списъкът с прозорци да се извежда на всички монитори или само на "
"основния" "основния"
#: extensions/window-list/prefs.js:32 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Визуализиране на работните пространства в списъка с прозорци"
#: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Групиране на прозорци" msgstr "Групиране на прозорци"
#: extensions/window-list/prefs.js:37 #: extensions/window-list/prefs.js:40
msgid "Never group windows" msgid "Never group windows"
msgstr "Никога да не се групират" msgstr "Никога да не се групират"
#: extensions/window-list/prefs.js:38 #: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Групиране при ограничено място" msgstr "Групиране при ограничено място"
#: extensions/window-list/prefs.js:39 #: extensions/window-list/prefs.js:42
msgid "Always group windows" msgid "Always group windows"
msgstr "Винаги да се групират" msgstr "Винаги да се групират"
#: extensions/window-list/prefs.js:63 #: extensions/window-list/prefs.js:66
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "На всички монитори" msgstr "На всички монитори"
#: extensions/window-list/workspaceIndicator.js:249 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:254 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Визуализиране на работните пространства"
msgstr "Индикатор на работните плотове"
#: extensions/workspace-indicator/prefs.js:18 #: extensions/workspace-indicator/prefs.js:30
msgid "Workspace Names" msgid "Show Previews In Top Bar"
msgstr "Имена на работните плотове" msgstr "Визуализиране в горната лента"
#: extensions/workspace-indicator/prefs.js:39 #: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Работен плот %d" msgstr "Работен плот %d"
#: extensions/workspace-indicator/prefs.js:184 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Имена на работните плотове"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Добавяне на работен плот" msgstr "Добавяне на работен плот"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Визуализиране на работните пространства в горната лента"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Индикатор на работните плотове"
#~ msgid "Applications"
#~ msgstr "Програми"
+154 -60
View File
@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2021-11-06 14:08+0000\n" "POT-Creation-Date: 2024-08-12 20:31+0000\n"
"PO-Revision-Date: 2017-07-08 13:29+0100\n" "PO-Revision-Date: 2024-08-19 23:26+0200\n"
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n" "Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n" "Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca\n" "Language: ca\n"
@@ -18,6 +18,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 2.4.2\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -36,19 +38,19 @@ msgstr "GNOME clàssic amb Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME clàssic amb Xorg" msgstr "GNOME clàssic amb Xorg"
#: extensions/apps-menu/extension.js:112 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Preferides" msgstr "Preferides"
#: extensions/apps-menu/extension.js:366 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Aplicacions" msgstr "Aplicacions"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Aplicació i llista d'espais de treball" msgstr "Aplicació i llista d'espais de treball"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -57,34 +59,34 @@ msgstr ""
"d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el " "d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el "
"número de l'espai de treball" "número de l'espai de treball"
#: extensions/auto-move-windows/prefs.js:34 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Regles dels espais de treball" msgstr "Regles dels espais de treball"
#: extensions/auto-move-windows/prefs.js:236 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Afegeix una regla" msgstr "Afegeix una regla"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:133 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:233 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Ha fallat l'expulsió de la unitat «%s»:" msgstr "Ha fallat l'expulsió de la unitat «%s»:"
#: extensions/drive-menu/extension.js:149 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Dispositius extraïbles" msgstr "Dispositius extraïbles"
#: extensions/drive-menu/extension.js:171 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Obre els fitxers" msgstr "Obre els fitxers"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Utilitza més pantalla per les finestres" msgstr "Utilitza més pantalla per les finestres"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -96,11 +98,11 @@ msgstr ""
"de configuració només s'aplica a l'estratègia de posicionament de finestres " "de configuració només s'aplica a l'estratègia de posicionament de finestres "
"natural." "natural."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Posiciona els títols de les finestres al damunt" msgstr "Posiciona els títols de les finestres al damunt"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -111,99 +113,171 @@ msgstr ""
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui " "posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
"efecte." "efecte."
#: extensions/places-menu/extension.js:88
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Llocs" msgstr "Llocs"
#: extensions/places-menu/placeDisplay.js:46 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "No s'ha pogut iniciar «%s»" msgstr "No s'ha pogut iniciar «%s»"
#: extensions/places-menu/placeDisplay.js:61 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "No s'ha pogut muntar el volum «%s»" msgstr "No s'ha pogut muntar el volum «%s»"
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:171 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Ordinador" msgstr "Ordinador"
#: extensions/places-menu/placeDisplay.js:359 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Inici" msgstr "Inici"
#: extensions/places-menu/placeDisplay.js:404 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Navega per la xarxa" msgstr "Navega per la xarxa"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Mostra cíclicament mides de captura de pantalla" msgstr "Mostra cíclicament mides de captura de pantalla"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Mostra cíclicament cap enrere mides de captura de pantalla" msgstr "Mostra cíclicament cap enrere mides de captura de pantalla"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "Estadístiques de processador"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "Estadístiques de memòria"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "Estadístiques del «swap»"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Estadístiques de pujada"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Estadístiques de descàrrega"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "Estadístiques del sistema"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Mostra"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "Processador"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Memòria"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Espai d'intercanvi"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Pujades"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Descàrregues"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Obre el Monitor del sistema"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Mostra l'ús de CPU"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Mostra l'ús de memòria"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Mostra l'ús de l'espai d'intercanvi"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Mostra les pujades"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Mostra les descàrregues"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Nom del tema" msgstr "Nom del tema"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell" msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:70
msgid "Close" msgid "Close"
msgstr "Tanca" msgstr "Tanca"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Unminimize" msgid "Unminimize"
msgstr "Desminimitza" msgstr "Desminimitza"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Minimize" msgid "Minimize"
msgstr "Minimitza" msgstr "Minimitza"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Desmaximitza" msgstr "Desmaximitza"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Maximize" msgid "Maximize"
msgstr "Maximitza" msgstr "Maximitza"
#: extensions/window-list/extension.js:434 #: extensions/window-list/extension.js:489
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimitza-ho tot" msgstr "Minimitza-ho tot"
#: extensions/window-list/extension.js:440 #: extensions/window-list/extension.js:495
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Desminimitza-ho tot" msgstr "Desminimitza-ho tot"
#: extensions/window-list/extension.js:446 #: extensions/window-list/extension.js:501
msgid "Maximize all" msgid "Maximize all"
msgstr "Maximitza-ho tot" msgstr "Maximitza-ho tot"
#: extensions/window-list/extension.js:454 #: extensions/window-list/extension.js:509
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Desmaximitza-ho tot" msgstr "Desmaximitza-ho tot"
#: extensions/window-list/extension.js:462 #: extensions/window-list/extension.js:517
msgid "Close all" msgid "Close all"
msgstr "Tanca-ho tot" msgstr "Tanca-ho tot"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:789
msgid "Window List" msgid "Window List"
msgstr "Llista de finestres" msgstr "Llista de finestres"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Quan s'han d'agrupar les finestres" msgstr "Quan s'han d'agrupar les finestres"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -212,22 +286,22 @@ msgstr ""
"llista de finestres. Els valors possibles són: «never» (mai), " "llista de finestres. Els valors possibles són: «never» (mai), "
"«auto» (automàticament) i «always» (sempre)." "«auto» (automàticament) i «always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:86 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Mostra les finestres de tots els espais de treball" msgstr "Mostra les finestres de tots els espais de treball"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "" msgstr ""
"Si es mostren les finestres de tots els espais de treballs o només de " "Si es mostren les finestres de tots els espais de treballs o només de "
"l'actual." "l'actual."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Mostra la llista de finestres a tots els monitors" msgstr "Mostra la llista de finestres a tots els monitors"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -235,40 +309,60 @@ msgstr ""
"Si es mostra la llista de finestres en tots els monitors connectats o només " "Si es mostra la llista de finestres en tots els monitors connectats o només "
"al primari." "al primari."
#: extensions/window-list/prefs.js:39 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr ""
"Mostra les previsualitzacions dels espais de treball a la llista de finestres"
#: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Agrupació de finestres" msgstr "Agrupació de finestres"
#: extensions/window-list/prefs.js:63 #: extensions/window-list/prefs.js:40
msgid "Never group windows" msgid "Never group windows"
msgstr "Mai agrupis les finestres" msgstr "Mai agrupis les finestres"
#: extensions/window-list/prefs.js:64 #: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Agrupa les finestres quan l'espai estigui limitat" msgstr "Agrupa les finestres quan l'espai estigui limitat"
#: extensions/window-list/prefs.js:65 #: extensions/window-list/prefs.js:42
msgid "Always group windows" msgid "Always group windows"
msgstr "Agrupa les finestres sempre" msgstr "Agrupa les finestres sempre"
#: extensions/window-list/prefs.js:81 #: extensions/window-list/prefs.js:66
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Mostra a tots els monitors" msgstr "Mostra a tots els monitors"
#: extensions/window-list/workspaceIndicator.js:249 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:254 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Mostra les previsualitzacions dels espais de treball"
msgstr "Indicador de l'espai de treball"
#: extensions/workspace-indicator/prefs.js:33 #: extensions/workspace-indicator/prefs.js:30
msgid "Workspace Names" msgid "Show Previews In Top Bar"
msgstr "Noms dels espais de treball" msgstr "Mostra previsualitzacions a la barra superior"
#: extensions/workspace-indicator/prefs.js:66 #: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Espai de treball %d" msgstr "Espai de treball %d"
#: extensions/workspace-indicator/prefs.js:207 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Noms dels espais de treball"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Afegeix un espai de treball" msgstr "Afegeix un espai de treball"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr ""
"Mostra les previsualitzacions dels espais de treball a la barra superior"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Indicador de l'espai de treball"
#~ msgid "Applications"
#~ msgstr "Aplicacions"
+154 -63
View File
@@ -3,22 +3,23 @@
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# Petr Kovar <pknbe@volny.cz>, 2013. # Petr Kovar <pknbe@volny.cz>, 2013.
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2022. # Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2022.
# Vojtěch Perník <translations@pervoj.cz>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2021-11-06 14:08+0000\n" "POT-Creation-Date: 2024-08-20 05:40+0000\n"
"PO-Revision-Date: 2022-02-16 09:58+0100\n" "PO-Revision-Date: 2024-08-22 21:19+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n" "Last-Translator: Vojtěch Perník <translations@pervoj.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n" "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n" "Language: cs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
"X-Generator: Gtranslator 2.91.6\n" "X-Generator: Gtranslator 46.1\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -37,19 +38,19 @@ msgstr "GNOME klasik na Waylandu"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME klasik na Xorg" msgstr "GNOME klasik na Xorg"
#: extensions/apps-menu/extension.js:112 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Oblíbené" msgstr "Oblíbené"
#: extensions/apps-menu/extension.js:366 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Aplikace" msgstr "Aplikace"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Seznam aplikací a pracovních ploch" msgstr "Seznam aplikací a pracovních ploch"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -57,34 +58,34 @@ msgstr ""
"Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní " "Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní "
"plochy), následovaný dvojtečkou a číslem pracovní plochy" "plochy), následovaný dvojtečkou a číslem pracovní plochy"
#: extensions/auto-move-windows/prefs.js:34 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Pravidla pracovních ploch" msgstr "Pravidla pracovních ploch"
#: extensions/auto-move-windows/prefs.js:236 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Přidat pravidlo" msgstr "Přidat pravidlo"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:133 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:233 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Vysunutí disku „%s“ selhalo:" msgstr "Vysunutí disku „%s“ selhalo:"
#: extensions/drive-menu/extension.js:149 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Výměnná zařízení" msgstr "Výměnná zařízení"
#: extensions/drive-menu/extension.js:171 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Otevřít soubory" msgstr "Otevřít soubory"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Použít větší část obrazovky pro okna" msgstr "Použít větší část obrazovky pro okna"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -94,11 +95,11 @@ msgstr ""
"využít větší část obrazovky pro umístění náhledů oken. Toto nastavení se " "využít větší část obrazovky pro umístění náhledů oken. Toto nastavení se "
"použije pouze dohromady se strategií umisťování „natural“." "použije pouze dohromady se strategií umisťování „natural“."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Umístit název okna nahoru" msgstr "Umístit název okna nahoru"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -108,99 +109,171 @@ msgstr ""
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto " "přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
"nastavení vyžaduje restart shellu, aby se projevila." "nastavení vyžaduje restart shellu, aby se projevila."
#: extensions/places-menu/extension.js:88
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Místa" msgstr "Místa"
#: extensions/places-menu/placeDisplay.js:46 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Selhalo spuštění „%s“" msgstr "Selhalo spuštění „%s“"
#: extensions/places-menu/placeDisplay.js:61 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Selhalo připojení svazku pro „%s“" msgstr "Selhalo připojení svazku pro „%s“"
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:171 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Počítač" msgstr "Počítač"
#: extensions/places-menu/placeDisplay.js:359 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Domů" msgstr "Domů"
#: extensions/places-menu/placeDisplay.js:404 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Procházet síť" msgstr "Procházet síť"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Mění velikost pro snímky obrazovky" msgstr "Mění velikost pro snímky obrazovky"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Mění pozpátku velikost pro snímky obrazovky" msgstr "Mění pozpátku velikost pro snímky obrazovky"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "Statistiky CPU"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "Statistiky paměti"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "Statistiky odkládacího prostoru"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Statistiky nahrávání"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Statistiky stahování"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "Statistiky systému"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Zobrazit"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Paměť"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Odkládací prostor"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Nahrávání"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Stahování"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Otevřít Sledování systému"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Zobrazit využití CPU"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Zobrazit využití paměti"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Zobrazit využití odkládacího prostoru"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Zobrazit nahrávání"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Zobrazit stahování"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Název motivu" msgstr "Název motivu"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Název motivu, který se má načíst z ~/.themes/name/gnome-shell" msgstr "Název motivu, který se má načíst z ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72 #: extensions/window-list/extension.js:70
msgid "Close" msgid "Close"
msgstr "Zavřít" msgstr "Zavřít"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Unminimize" msgid "Unminimize"
msgstr "Zrušit minimalizaci" msgstr "Zrušit minimalizaci"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:97
msgid "Minimize" msgid "Minimize"
msgstr "Minimalizovat" msgstr "Minimalizovat"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Zrušit maximalizaci" msgstr "Zrušit maximalizaci"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:104
msgid "Maximize" msgid "Maximize"
msgstr "Maximalizovat" msgstr "Maximalizovat"
#: extensions/window-list/extension.js:434 #: extensions/window-list/extension.js:489
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimalizovat všechna" msgstr "Minimalizovat všechna"
#: extensions/window-list/extension.js:440 #: extensions/window-list/extension.js:495
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Zrušit minimalizaci všech" msgstr "Zrušit minimalizaci všech"
#: extensions/window-list/extension.js:446 #: extensions/window-list/extension.js:501
msgid "Maximize all" msgid "Maximize all"
msgstr "Maximalizovat všechna" msgstr "Maximalizovat všechna"
#: extensions/window-list/extension.js:454 #: extensions/window-list/extension.js:509
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Zrušit maximalizaci všech" msgstr "Zrušit maximalizaci všech"
#: extensions/window-list/extension.js:462 #: extensions/window-list/extension.js:517
msgid "Close all" msgid "Close all"
msgstr "Zavřít všechna" msgstr "Zavřít všechna"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:789
msgid "Window List" msgid "Window List"
msgstr "Seznam oken" msgstr "Seznam oken"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Kdy seskupovat okna" msgstr "Kdy seskupovat okna"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -208,20 +281,20 @@ msgstr ""
"Rozhoduje, kdy se mají v seznamu oken seskupovat okna stejné aplikace. Možné " "Rozhoduje, kdy se mají v seznamu oken seskupovat okna stejné aplikace. Možné "
"hodnoty jsou „never“ (nikdy), „auto“ (automaticky) a „always“ (vždy)." "hodnoty jsou „never“ (nikdy), „auto“ (automaticky) a „always“ (vždy)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:86 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Zobrazovat okna ze všech pracovních ploch" msgstr "Zobrazovat okna ze všech pracovních ploch"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Zda zobrazovat okna ze všech pracovních ploch nebo jen z aktuální." msgstr "Zda zobrazovat okna ze všech pracovních ploch nebo jen z aktuální."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Zobrazovat seznam oken na všech monitorech" msgstr "Zobrazovat seznam oken na všech monitorech"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -229,40 +302,58 @@ msgstr ""
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na " "Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
"hlavním." "hlavním."
#: extensions/window-list/prefs.js:39 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Zobrazit náhledy pracovních ploch v seznamu oken"
#: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Seskupování oken" msgstr "Seskupování oken"
#: extensions/window-list/prefs.js:63 #: extensions/window-list/prefs.js:40
msgid "Never group windows" msgid "Never group windows"
msgstr "Nikdy neseskupovat okna" msgstr "Nikdy neseskupovat okna"
#: extensions/window-list/prefs.js:64 #: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Seskupovat okna při nedostatku místa" msgstr "Seskupovat okna při nedostatku místa"
#: extensions/window-list/prefs.js:65 #: extensions/window-list/prefs.js:42
msgid "Always group windows" msgid "Always group windows"
msgstr "Vždy seskupovat okna" msgstr "Vždy seskupovat okna"
#: extensions/window-list/prefs.js:81 #: extensions/window-list/prefs.js:66
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Zobrazovat na všech monitorech" msgstr "Zobrazovat na všech monitorech"
#: extensions/window-list/workspaceIndicator.js:249 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:254 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Zobrazit náhledy pracovních ploch"
msgstr "Ukazatel pracovní plochy"
#: extensions/workspace-indicator/prefs.js:33 #: extensions/workspace-indicator/prefs.js:30
msgid "Workspace Names" msgid "Show Previews In Top Bar"
msgstr "Názvy pracovních ploch" msgstr "Zobrazit náhledy v horním panelu"
#: extensions/workspace-indicator/prefs.js:66 #: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Pracovní plocha %d" msgstr "Pracovní plocha %d"
#: extensions/workspace-indicator/prefs.js:207 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Názvy pracovních ploch"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Přidat pracovní plochu" msgstr "Přidat pracovní plochu"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Zobrazit náhledy pracovních ploch v horním panelu"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Ukazatel pracovní plochy"
#~ msgid "Applications"
#~ msgstr "Aplikace"
+152 -62
View File
@@ -1,9 +1,9 @@
# Danish translation for gnome-shell-extensions. # Danish translation for gnome-shell-extensions.
# Copyright (C) 2011-2017 gnome-shell-extensions's COPYRIGHT HOLDER # Copyright (C) 2011-2017, 2024 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# #
# Kris Thomsen <mail@kristhomsen.dk>, 2011-2014. # Kris Thomsen <mail@kristhomsen.dk>, 2011-2014.
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2015, 2017. # Ask Hjorth Larsen <asklarsen@gmail.com>, 2015, 2017, 2024.
# Joe Hansen <joedalton2@yahoo.dk>, 2017. # Joe Hansen <joedalton2@yahoo.dk>, 2017.
# #
msgid "" msgid ""
@@ -11,9 +11,9 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2021-11-06 14:08+0000\n" "POT-Creation-Date: 2024-04-29 15:27+0000\n"
"PO-Revision-Date: 2022-02-27 13:21+0100\n" "PO-Revision-Date: 2024-09-07 23:22+0200\n"
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n" "Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n" "Language: da\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -39,19 +39,19 @@ msgstr "GNOME Classic på Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic på Xorg" msgstr "GNOME Classic på Xorg"
#: extensions/apps-menu/extension.js:112 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Favoritter" msgstr "Favoritter"
#: extensions/apps-menu/extension.js:366 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Programmer" msgstr "Programmer"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Liste over programmer og arbejdsområder" msgstr "Liste over programmer og arbejdsområder"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -59,34 +59,34 @@ msgstr ""
"En liste over strenge, som hver indeholder et program-id " "En liste over strenge, som hver indeholder et program-id "
"(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer" "(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer"
#: extensions/auto-move-windows/prefs.js:34 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Regler for arbejdsområde" msgstr "Regler for arbejdsområde"
#: extensions/auto-move-windows/prefs.js:236 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Tilføj regel" msgstr "Tilføj regel"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:133 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:233 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Udskubning af drevet “%s” mislykkedes:" msgstr "Udskubning af drevet “%s” mislykkedes:"
#: extensions/drive-menu/extension.js:149 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Flytbare enheder" msgstr "Flytbare enheder"
#: extensions/drive-menu/extension.js:171 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Åbn filer" msgstr "Åbn filer"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Brug mere skærmplads til vinduer" msgstr "Brug mere skærmplads til vinduer"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -97,11 +97,11 @@ msgstr ""
"yderligere for at reducere den omkransende boks.Denne indstilling gælder kun " "yderligere for at reducere den omkransende boks.Denne indstilling gælder kun "
"med den naturlige placeringsstrategi." "med den naturlige placeringsstrategi."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Placér vinduestitler i toppen" msgstr "Placér vinduestitler i toppen"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -112,47 +112,119 @@ msgstr ""
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i " "Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
"kraft." "kraft."
#: extensions/places-menu/extension.js:88
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
msgid "Places" msgid "Places"
msgstr "Steder" msgstr "Steder"
#: extensions/places-menu/placeDisplay.js:46 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Kunne ikke åbne “%s”" msgstr "Kunne ikke åbne “%s”"
#: extensions/places-menu/placeDisplay.js:61 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Kunne ikke montere diskenhed for “%s”" msgstr "Kunne ikke montere diskenhed for “%s”"
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:171 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Computer" msgstr "Computer"
#: extensions/places-menu/placeDisplay.js:359 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Hjem" msgstr "Hjem"
#: extensions/places-menu/placeDisplay.js:404 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Gennemse netværk" msgstr "Gennemse netværk"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Gennemgå størrelser af skærmbillede" msgstr "Gennemgå størrelser af skærmbillede"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Gennemgå størrelser af skærmbillede baglæns" msgstr "Gennemgå størrelser af skærmbillede baglæns"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "CPU-statistik"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "Hukommelsesstatistik"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "Swapstatistik"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Uploadstatistik"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Downloadstatistik"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "Systemstatistik"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Vis"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Hukommelse"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Swap"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Upload"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Download"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Åbn Systemovervågning"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "Vis CPU-forbrug"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Vis hukommelsesforbrug"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Vis swapforbrug"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Vis upload"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Vis download"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Temanavn" msgstr "Temanavn"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell" msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell"
@@ -160,51 +232,51 @@ msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell"
msgid "Close" msgid "Close"
msgstr "Luk" msgstr "Luk"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Unminimize" msgid "Unminimize"
msgstr "Afminimér" msgstr "Afminimér"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Minimize" msgid "Minimize"
msgstr "Minimér" msgstr "Minimér"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Afmaksimér" msgstr "Afmaksimér"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Maximize" msgid "Maximize"
msgstr "Maksimér" msgstr "Maksimér"
#: extensions/window-list/extension.js:434 #: extensions/window-list/extension.js:471
msgid "Minimize all" msgid "Minimize all"
msgstr "Minimér" msgstr "Minimér"
#: extensions/window-list/extension.js:440 #: extensions/window-list/extension.js:477
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Afminimér alle" msgstr "Afminimér alle"
#: extensions/window-list/extension.js:446 #: extensions/window-list/extension.js:483
msgid "Maximize all" msgid "Maximize all"
msgstr "Maksimér alle" msgstr "Maksimér alle"
#: extensions/window-list/extension.js:454 #: extensions/window-list/extension.js:491
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Afmaksimér alle" msgstr "Afmaksimér alle"
#: extensions/window-list/extension.js:462 #: extensions/window-list/extension.js:499
msgid "Close all" msgid "Close all"
msgstr "Luk alle" msgstr "Luk alle"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:778
msgid "Window List" msgid "Window List"
msgstr "Vinduesliste" msgstr "Vinduesliste"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Hvornår vinduer skal grupperes" msgstr "Hvornår vinduer skal grupperes"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -212,21 +284,21 @@ msgstr ""
"Afgør hvornår vinduer fra samme program skal grupperes i vindueslisten. " "Afgør hvornår vinduer fra samme program skal grupperes i vindueslisten. "
"Mulige værdier er “never” (aldrig), “auto” (automatisk) og “always” (altid)." "Mulige værdier er “never” (aldrig), “auto” (automatisk) og “always” (altid)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:86 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Vis vinduer fra alle arbejdsområder" msgstr "Vis vinduer fra alle arbejdsområder"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "" msgstr ""
"Om der skal vises vinduer fra alle arbejdsområder eller kun det nuværende." "Om der skal vises vinduer fra alle arbejdsområder eller kun det nuværende."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Vis vindueslisten på alle skærme" msgstr "Vis vindueslisten på alle skærme"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -234,44 +306,62 @@ msgstr ""
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den " "Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
"primære." "primære."
#: extensions/window-list/prefs.js:39 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Forhåndsvis arbejdsområder i vinduesliste"
#: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Vinduesgruppering" msgstr "Vinduesgruppering"
#: extensions/window-list/prefs.js:63 #: extensions/window-list/prefs.js:40
msgid "Never group windows" msgid "Never group windows"
msgstr "Gruppér aldrig vinduer" msgstr "Gruppér aldrig vinduer"
#: extensions/window-list/prefs.js:64 #: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Gruppér vinduer når pladsen er begrænset" msgstr "Gruppér vinduer når pladsen er begrænset"
#: extensions/window-list/prefs.js:65 #: extensions/window-list/prefs.js:42
msgid "Always group windows" msgid "Always group windows"
msgstr "Gruppér altid vinduer" msgstr "Gruppér altid vinduer"
#: extensions/window-list/prefs.js:81 #: extensions/window-list/prefs.js:66
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Vis på alle skærme" msgstr "Vis på alle skærme"
#: extensions/window-list/workspaceIndicator.js:249 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:254 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Forhåndsvis arbejdsområder"
msgstr "Arbejdsområdeindikator"
#: extensions/workspace-indicator/prefs.js:33 #: extensions/workspace-indicator/prefs.js:30
msgid "Workspace Names" msgid "Show Previews In Top Bar"
msgstr "Navne på arbejdsområder" msgstr "Inkludér forhåndsvisninger i topbjælken"
#: extensions/workspace-indicator/prefs.js:66 #: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Arbejdsområde %d" msgstr "Arbejdsområde %d"
#: extensions/workspace-indicator/prefs.js:207 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Navne på arbejdsområder"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Tilføj arbejdsområde" msgstr "Tilføj arbejdsområde"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Inkludér forhåndsvisninger af arbejdsområder i topbjælken"
#: extensions/workspace-indicator/workspaceIndicator.js:430
msgid "Workspace Indicator"
msgstr "Arbejdsområdeindikator"
#~ msgid "Applications"
#~ msgstr "Programmer"
#~ msgid "Application" #~ msgid "Application"
#~ msgstr "Program" #~ msgstr "Program"
+143 -136
View File
@@ -8,22 +8,24 @@
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017. # Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017.
# Tim Sabsch <tim@sabsch.com>, 2019-2020. # Tim Sabsch <tim@sabsch.com>, 2019-2020.
# Philipp Kiemle <philipp.kiemle@gmail.com>, 2022. # Philipp Kiemle <philipp.kiemle@gmail.com>, 2022.
# Gabriel Brand <gabr.brand@gmail.com>, 2024.
# Jürgen Benvenuti <gastornis@posteo.org>, 2024.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n" "issues\n"
"POT-Creation-Date: 2022-03-07 15:35+0000\n" "POT-Creation-Date: 2024-04-29 15:27+0000\n"
"PO-Revision-Date: 2022-03-10 22:26+0100\n" "PO-Revision-Date: 2024-08-29 10:01+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n" "Last-Translator: Jürgen Benvenuti <gastornis@posteo.org>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n" "Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n" "X-Generator: Poedit 3.4.4\n"
#: data/gnome-classic.desktop.in:3 #: data/gnome-classic.desktop.in:3
msgid "GNOME Classic" msgid "GNOME Classic"
@@ -42,19 +44,19 @@ msgstr "GNOME Classic unter Wayland"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic unter Xorg" msgstr "GNOME Classic unter Xorg"
#: extensions/apps-menu/extension.js:118 #: extensions/apps-menu/extension.js:126
msgid "Favorites" msgid "Favorites"
msgstr "Favoriten" msgstr "Favoriten"
#: extensions/apps-menu/extension.js:379 #: extensions/apps-menu/extension.js:400
msgid "Applications" msgid "Apps"
msgstr "Anwendungen" msgstr "Anwendungen"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list" msgid "Application and workspace list"
msgstr "Anwendungs- und Arbeitsflächenliste" msgstr "Anwendungs- und Arbeitsflächenliste"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
@@ -63,34 +65,34 @@ msgstr ""
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der " "Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
"Arbeitsfläche" "Arbeitsfläche"
#: extensions/auto-move-windows/prefs.js:152 #: extensions/auto-move-windows/prefs.js:159
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Arbeitsfläche-Regeln" msgstr "Arbeitsfläche-Regeln"
#: extensions/auto-move-windows/prefs.js:306 #: extensions/auto-move-windows/prefs.js:314
msgid "Add Rule" msgid "Add Rule"
msgstr "Regel hinzufügen" msgstr "Regel hinzufügen"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:126 #: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:210 #: extensions/places-menu/placeDisplay.js:218
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:" msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
#: extensions/drive-menu/extension.js:145 #: extensions/drive-menu/extension.js:142
msgid "Removable devices" msgid "Removable devices"
msgstr "Wechseldatenträger" msgstr "Wechseldatenträger"
#: extensions/drive-menu/extension.js:167 #: extensions/drive-menu/extension.js:164
msgid "Open Files" msgid "Open Files"
msgstr "Dateien öffnen" msgstr "Dateien öffnen"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Mehr Bildschirmbereich für Fenster verwenden" msgstr "Mehr Bildschirmbereich für Fenster verwenden"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid "" msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -102,11 +104,11 @@ msgstr ""
"verkleinern. Diese Einstellung betrifft nur den natürlichen " "verkleinern. Diese Einstellung betrifft nur den natürlichen "
"Platzierungsalgorithmus." "Platzierungsalgorithmus."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Fensterbeschriftungen oben platzieren" msgstr "Fensterbeschriftungen oben platzieren"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid "" msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
@@ -116,47 +118,119 @@ msgstr ""
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. " "Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft." "Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94 #: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:97
msgid "Places" msgid "Places"
msgstr "Orte" msgstr "Orte"
#: extensions/places-menu/placeDisplay.js:49 #: extensions/places-menu/placeDisplay.js:60
#, javascript-format #, javascript-format
msgid "Failed to launch “%s”" msgid "Failed to launch “%s”"
msgstr "Starten von »%s« fehlgeschlagen" msgstr "Starten von »%s« fehlgeschlagen"
#: extensions/places-menu/placeDisplay.js:64 #: extensions/places-menu/placeDisplay.js:75
#, javascript-format #, javascript-format
msgid "Failed to mount volume for “%s”" msgid "Failed to mount volume for “%s”"
msgstr "Datenträger für »%s« konnte nicht eingebunden werden" msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
#: extensions/places-menu/placeDisplay.js:125 #: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:148 #: extensions/places-menu/placeDisplay.js:158
msgid "Computer" msgid "Computer"
msgstr "Rechner" msgstr "Rechner"
#: extensions/places-menu/placeDisplay.js:336 #: extensions/places-menu/placeDisplay.js:333
msgid "Home" msgid "Home"
msgstr "Persönlicher Ordner" msgstr "Persönlicher Ordner"
#: extensions/places-menu/placeDisplay.js:381 #: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network" msgid "Browse Network"
msgstr "Netzwerk durchsuchen" msgstr "Netzwerk durchsuchen"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes" msgid "Cycle Screenshot Sizes"
msgstr "Bildschirmfotogrößen nacheinander anzeigen" msgstr "Bildschirmfotogrößen nacheinander anzeigen"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11 #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward" msgid "Cycle Screenshot Sizes Backward"
msgstr "Bildschirmfotogrößen in umgekehrter Reihenfolge anzeigen" msgstr "Bildschirmfotogrößen in umgekehrter Reihenfolge anzeigen"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5 #: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "CPU-Statistiken"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "Speicherstatistiken"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "Auslagerungsspeicherstatistiken"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Upload-Statistiken"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "Download-Statistiken"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "Systemstatistiken"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "Anzeigen"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "Speicher"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "Auslagerungsspeicher"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Upload"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "Download"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "Systemüberwachung öffnen"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "CPU-Nutzung anzeigen"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "Speichernutzung anzeigen"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "Auslagerungsspeichernutzung anzeigen"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Upload anzeigen"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "Download anzeigen"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name" msgid "Theme name"
msgstr "Themenname" msgstr "Themenname"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6 #: 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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "" msgstr ""
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden " "Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
@@ -166,51 +240,51 @@ msgstr ""
msgid "Close" msgid "Close"
msgstr "Schließen" msgstr "Schließen"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Unminimize" msgid "Unminimize"
msgstr "Minimieren rückgängig" msgstr "Minimieren rückgängig"
#: extensions/window-list/extension.js:92 #: extensions/window-list/extension.js:99
msgid "Minimize" msgid "Minimize"
msgstr "Minimieren" msgstr "Minimieren"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Unmaximize" msgid "Unmaximize"
msgstr "Maximieren rückgängig" msgstr "Maximieren rückgängig"
#: extensions/window-list/extension.js:99 #: extensions/window-list/extension.js:106
msgid "Maximize" msgid "Maximize"
msgstr "Maximieren" msgstr "Maximieren"
#: extensions/window-list/extension.js:441 #: extensions/window-list/extension.js:471
msgid "Minimize all" msgid "Minimize all"
msgstr "Alle minimieren" msgstr "Alle minimieren"
#: extensions/window-list/extension.js:447 #: extensions/window-list/extension.js:477
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Alle minimieren rückgängig" msgstr "Alle minimieren rückgängig"
#: extensions/window-list/extension.js:453 #: extensions/window-list/extension.js:483
msgid "Maximize all" msgid "Maximize all"
msgstr "Alle maximieren" msgstr "Alle maximieren"
#: extensions/window-list/extension.js:461 #: extensions/window-list/extension.js:491
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Alle maximieren rückgängig" msgstr "Alle maximieren rückgängig"
#: extensions/window-list/extension.js:469 #: extensions/window-list/extension.js:499
msgid "Close all" msgid "Close all"
msgstr "Alle schließen" msgstr "Alle schließen"
#: extensions/window-list/extension.js:753 #: extensions/window-list/extension.js:778
msgid "Window List" msgid "Window List"
msgstr "Fensterliste" msgstr "Fensterliste"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows" msgid "When to group windows"
msgstr "Legt fest, wann Fenster gruppiert werden" msgstr "Legt fest, wann Fenster gruppiert werden"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”." "Possible values are “never”, “auto” and “always”."
@@ -219,22 +293,22 @@ msgstr ""
"werden sollen. Mögliche Werte sind »never« (nie), »auto« (automatisch) und " "werden sollen. Mögliche Werte sind »never« (nie), »auto« (automatisch) und "
"»always« (immer)." "»always« (immer)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Fenster von allen Arbeitsflächen anzeigen" msgstr "Fenster von allen Arbeitsflächen anzeigen"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr "" msgstr ""
"Legt fest, ob Fenster von allen oder nur der aktuellen Arbeitsflächen " "Legt fest, ob Fenster von allen oder nur der aktuellen Arbeitsflächen "
"angezeigt werden." "angezeigt werden."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
msgstr "Die Fensterliste auf allen Bildschirmen anzeigen" msgstr "Die Fensterliste auf allen Bildschirmen anzeigen"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
@@ -242,6 +316,10 @@ msgstr ""
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen " "Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
"angezeigt wird oder nur auf dem Primären." "angezeigt wird oder nur auf dem Primären."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Arbeitsflächenvorschauen in der Fensterliste anzeigen"
#: extensions/window-list/prefs.js:35 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Fenstergruppierung" msgstr "Fenstergruppierung"
@@ -262,105 +340,34 @@ msgstr "Fenster immer gruppieren"
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Auf allen Bildschirmen anzeigen" msgstr "Auf allen Bildschirmen anzeigen"
#: extensions/window-list/workspaceIndicator.js:261 #: extensions/window-list/prefs.js:92
#: extensions/workspace-indicator/extension.js:266 msgid "Show workspace previews"
msgid "Workspace Indicator" msgstr "Arbeitsflächenvorschauen anzeigen"
msgstr "Arbeitsflächenindikator"
#: extensions/workspace-indicator/prefs.js:62 #: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Vorschauen in der oberen Leiste anzeigen"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Arbeitsfläche %d" msgstr "Arbeitsfläche %d"
#: extensions/workspace-indicator/prefs.js:129 #: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names" msgid "Workspace Names"
msgstr "Namen der Arbeitsflächen" msgstr "Namen der Arbeitsflächen"
#: extensions/workspace-indicator/prefs.js:255 #: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Arbeitsfläche hinzufügen" msgstr "Arbeitsfläche hinzufügen"
#~ msgid "Application" #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
#~ msgstr "Anwendung" msgid "Show workspace previews in top bar"
msgstr "Arbeitsflächenvorschauen in der oberen Leiste anzeigen"
#~ msgid "Create new matching rule" #: extensions/workspace-indicator/workspaceIndicator.js:430
#~ msgstr "Neue Übereinstimmungsregel erstellen" msgid "Workspace Indicator"
msgstr "Arbeitsflächenindikator"
#~ msgid "Add" #~ msgid "Applications"
#~ msgstr "Hinzufügen" #~ msgstr "Anwendungen"
#~ msgid "Name"
#~ msgstr "Name"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Einen modalen Dialog an das übergeordnete Fenster anhängen"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.mutter«, wenn "
#~ "die GNOME-Shell ausgeführt wird."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Anordnung von Knöpfen auf der Titelleiste"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.desktop.wm."
#~ "preferences«, wenn die GNOME-Shell ausgeführt wird."
# identisch zum Schüssel in »gnome-shell«
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr ""
#~ "Größenanpassung aktivieren, wenn ein Fenster an die Bildschirmkante "
#~ "verschoben wird"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Arbeitsflächen nur auf dem Primärmonitor"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr ""
#~ "Fokuswechsel im Mausmodus verzögern, bis sich der Zeiger nicht mehr "
#~ "bewegt."
#~ msgid "Thumbnail only"
#~ msgstr "Nur Vorschaubild"
#~ msgid "Application icon only"
#~ msgstr "Nur Anwendungssymbol"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Vorschaubild und Anwendungssymbol"
#~ msgid "Present windows as"
#~ msgstr "Fenster darstellen als"
#~ msgid "Activities Overview"
#~ msgstr "Aktivitäten-Übersicht"
#~ msgid "Hello, world!"
#~ msgstr "Hallo Welt!"
#~ msgid "Alternative greeting text."
#~ msgstr "Alternativer Begrüßungstext."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr ""
#~ "Falls nicht leer, ist dies der Text, der beim Anklicken des Panels "
#~ "angezeigt wird."
#~ msgid "Message"
#~ msgstr "Nachricht"
#~ 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 ""
#~ "Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für "
#~ "die Shell erstellt werden. Es enthält grundlegende Funktionalität.\n"
#~ "Es ist möglich, die Begrüßungsnachricht zu ändern."

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