Florian Müllner
1155170c7c
window-list: Stop using getCurrentExtension()
...
The method is no longer exported. There will be a nicer alternative
soon, in the meantime we can just keep track of our main Extension
object ourselves.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/266 >
2023-07-15 14:10:27 +02:00
Florian Müllner
6d8f54a20b
js: Really use connectObject()
...
I forgot in two places to change the actual connect() function
to connectObject() 🤦 ️
Fixes commit 3bfaf6f88a .
2023-07-10 07:22:25 +02:00
Florian Müllner
93a2e7bdba
extensions: Stop using global.log()
...
It has been deprecated since 3.6(!) in favor of the actually
global log().
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/264 >
2023-07-10 06:51:45 +02:00
Florian Müllner
3bfaf6f88a
js: Use connectObject()
...
gnome-shell added (dis)connectObject() methods to partially automate
signal handling. It doesn't only save a significant amount of code,
but also makes it harder to miss cleaning up on destroy.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/263 >
2023-07-09 18:45:07 +02:00
Florian Müllner
37baccd9fc
window-list: Remove some dead code
...
The code that connected the signal was removed in 9fa522c29a .
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/263 >
2023-07-09 18:33:52 +02:00
Florian Müllner
cf007dd472
extensions: Turn extensions into modules
...
As gnome-shell is moving to ESM, it will now load extensions as
standard modules instead of using legacy imports. The change boils
down to exporting the Extension class as default, but we can also
start using standard imports for introspected modules now, so do
that at the same time.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/259 >
2023-07-07 00:35:08 +02:00
Florian Müllner
701b14ecbf
extensions: Use extension class for all extensions
...
This will be the only supported entry point when extension loading
switches to dynamic imports, so prepare for that by wrapping the
remaining standalone enable()/disable() methods in Extension classes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/259 >
2023-07-07 00:12:41 +02:00
Florian Müllner
b11f0f16f4
light-style: Always save scheme preference on enable()
...
Disable() should restore the scheme preference that was used when
the extension was enabled, not when it was first initialized.
Even if it's unlikely to be relevant in practice, let's make sure
we save the correct state.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/257 >
2023-07-02 23:24:33 +02:00
Florian Müllner
b7895ad956
extensions: Add new light-style extension
...
Now that gnome-shell supports a light style, people may want to
use it without forcing all apps to be light.
Add a small extension that switches the default to light, so the
shell follows the regular "dark style" preference.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/256 >
2023-06-23 14:36:09 +00:00
Arik W
22b9f888fb
window-list: Add tooltip for long window titles
...
Adds a tooltip feature to the window buttons.
If a button’s label is too long to fit, a tooltip will show the complete content when the user hovers over the button.
Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/170
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/251 >
2023-06-18 19:08:53 +00:00
Florian Müllner
61a260bc94
places-menu: Account for app menu removal
...
The app menu has been removed from the top bar, so we can no longer
base our own indicator position on it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/255 >
2023-05-27 00:44:26 +02:00
Florian Müllner
904ead1fb1
window-list: Replace classic- with light style
...
Now that classic styling is based on color scheme instead of
a dedicated "classic" stylesheet, we should do the same for
extension styling, with the bonus that it also works with the
regular appearance setting outside the classic session.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/254 >
2023-05-26 20:26:43 +02:00
Alexander Weichart
ca1c4b0f9e
window-list: Improve default stylesheet
...
Adjust colors to be more consistent with the current shell look.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/253 >
2023-05-26 18:25:35 +02:00
robxnano
7e8ba59304
Center-align all menus
...
Make popup menus center-aligned on their parent buttons, to
match the default GNOME Shell panel menus. Affects:
- Places menu
- Drive menu
- Workspace indicator
- Window menu workspace indicator
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/246 >
2023-01-13 16:12:03 +00:00
Florian Müllner
cc72a34973
window-list: Explicitly dispose settings on destroy
...
This will not only disconnect the signal handler, but also remove
any bindings. This works around a crash that happens if a setting
that triggers the binding changes at the same time as a setting
that rebuilds the window list; in that case, the binding handler
runs after gjs has dropped its wrapper object, but before the
binding is removed automaticalled when the object is finalized.
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/416
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/243 >
2022-09-30 19:55:44 +02:00
Florian Müllner
9f88e98d1b
extensions: Stop monkey-patching signal methods
...
gnome-shell added an EventEmitter class that can be used as base
for any non-GObject class that needs to emit signals.
Use that instead of the old monkey-patching.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240 >
2022-08-20 19:03:36 +02:00
Florian Müllner
4b7055d0da
places-menu: Mark PlacesManager as exported
...
For some reason eslint failed to complain about this.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240 >
2022-08-20 19:03:36 +02:00
Florian Müllner
563d7770d3
lint: Sync with gnome-shell
...
gnome-shell started transitioning to gjs' object spacing rule,
i.e. `{foo: 42}` instead of `{ foo: 42 }`.
We have a much smaller code base than the shell and aren't using
a secondary "allowed-but-deprecated" configuration that allows a
gradual transition, so just pull the switch and update to the new
style.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240 >
2022-08-20 19:00:32 +02:00
Florian Müllner
f637e81c8c
native-window-placement: Minor style fix
...
JSDoc prefer "object" over "Object", so update the doc comment
accordingly.
2022-07-10 14:20:25 +02:00
Florian Müllner
4667b4704d
window-list: Open menu on long press
...
Right-click isn't available on touch, so implement long-press as
an alternative.
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/146
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/233 >
2022-06-20 14:45:58 +02:00
Florian Müllner
fe60614b41
window-list: Fix primary button action on touch
...
If a click event was triggered via touch rather than a pointer
device, the button parameter is 0 rather than a mouse button
number.
Account for that to make sure that touch events are not misinterpreted
as right clicks.
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/146
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/233 >
2022-06-20 14:45:58 +02:00
Florian Müllner
1e833f542f
screenshot-window-sizer: Delay size popup
...
We use the actual frame size for the popup rather than the target
size. That means (on wayland), we have to wait for the size to
actually change.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/232 >
2022-06-09 19:20:44 +02:00
Florian Müllner
faabfa11c2
screenshot-window-sizer: Remove superfluous check
...
We already filter out sizes that don't fit the screen when
building the scaledSizes array, no need to check again.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/232 >
2022-06-09 19:06:24 +02:00
Jason Lynch
412762ae9d
window-list: Set visibility based on the target monitor.
...
Currently, the visibility of the window list on a given monitor is set
according to the fullscreen status of the primary monitor. When a
fullscreen application is on a secondary monitor (but not on the primary
monitor), entering and exiting the overview will lead to the window list
incorrectly being visible on the monitor with the fullscreen
application.
Instead, determine the visibility based on the fullscreen status of the
monitor being evaluated.
Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/400
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/230 >
2022-05-19 18:31:33 -07:00
Florian Müllner
6e4f4126b6
native-window-placement: Adjust to 42 changes
...
gnome-shell's new screenshot UI reuses the overview's window
picker layout, but its window previews don't give access to
the underlying MetaWindow.
Adjust to that by using the boundingBox property instead, which
is all we really need from the window anyway.
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/399
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/229 >
2022-05-19 19:08:59 +02:00
Florian Müllner
a51145f9db
window-list: Fix cleaning up signal on removal
...
The map uses windows as key, so trying to remove the handler ID
will leave stray windows/signals.
Spotted by Ron Yorston.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/225 >
2022-03-29 17:06:40 +02:00
Florian Müllner
72a9696249
build: Remove unused stylesheets
...
The only reason for installing empty stylesheets is minimizing
build system differences between extensions. That's not a very
good reason and we don't do this for other optional files like
schemas.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/223 >
2022-03-24 00:53:13 +01:00
Florian Müllner
3c5a56b440
auto-move: Bind list to model
...
Using a model gives us a clear separation between data and representation,
as well as between regular rows and the "new item" row at the end.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/218 >
2022-02-18 13:09:35 +01:00
Florian Müllner
725cf83551
auto-move-windows: Change 'update' action to 'rename'
...
Limiting the action to the row that changed instead of the list as
a whole makes it easier to only update the changed value and not
recreate the entire list.
This doesn't make a difference right now, because we carefully sync
the list to reuse existing rows, but we are about to back the list
with a GListModel instead of updating it manually.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/218 >
2022-02-18 13:08:09 +01:00
Florian Müllner
f91275ffd2
workspace-indicator: Bind list to model
...
Using a model gives us a clear separation between data and representation,
as well as between regular rows and the "new item" row at the end.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/218 >
2022-02-18 13:02:17 +01:00
Florian Müllner
f0e46f4b12
workspace-indicator: Change 'update' action to 'rename'
...
Limiting the action to the row that changed instead of the list as
a whole makes it easier to only update the changed value and not
recreate the entire list.
This doesn't make a difference right now, because we carefully sync
the list to reuse existing rows, but we are about to back the list
with a GListModel instead of updating it manually.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/218 >
2022-02-18 12:55:57 +01:00
Florian Müllner
57f7f21ecb
workspace-indicator: Bind name to action target
...
Since we now have an override for bind_properties_full(), we can
use that instead of an explicit notify handler.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/218 >
2022-02-18 12:42:07 +01:00
Florian Müllner
9f673f27ef
cleanup: Use static class blocks for gtype registration
...
gjs enabled support for static class blocks, which gives us a
less error-prone and more readable alternative to _classInit(),
provided we make sure to call registerClass() first.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/215 >
2022-02-18 03:34:06 +00:00
Florian Müllner
08db193b31
cleanup: Use regular constructors in GObject subclasses
...
As a side-effect of supporting class fields, regular constructors
now work in GObject subclasses. Using _init() still works and
there's no functional difference, but it's simply much nicer
to use the same syntax for all classes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/215 >
2022-02-18 03:34:06 +00:00
Florian Müllner
0be8b10995
cleanup: Simplify action handling
...
GTK4 has dedicated API for widget-specific actions, make use of that
instead of explicitly managing an action group.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/215 >
2022-02-18 03:34:06 +00:00
Florian Müllner
f7b5836c75
auto-move-windows: Use custom spin button in prefs
...
Gtk.SpinButton doesn't look great in lists, so replace it with a
small custom widget based on current mockups from the design team.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/213 >
2022-02-12 02:05:50 +00:00
Florian Müllner
ffb2b27477
auto-move-windows: Use libadwaita's row widgets
...
We get to remove a bunch of boring code, and get something better
looking and more standardized in return.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/213 >
2022-02-12 02:05:50 +00:00
Florian Müllner
dd3c524c49
prefs: Replace 'content' list style
...
It's deprecated in favor of 'boxed-list'.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/213 >
2022-02-12 02:05:50 +00:00
Florian Müllner
b92973df00
cleanup: Simplify promisify() calls
...
If the finish function isn't specified, promisify will now try
to use the async name without '_async'/'_begin' suffix (if any)
and '_finish' appended.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/214 >
2022-02-11 16:22:38 +01:00
Florian Müllner
0b7e8f9720
user-theme: Stop using Gio._LocalFilePrototype
...
Now that promisify() works on interfaces, we don't need this
cludge anymore.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/214 >
2022-02-11 16:22:38 +01:00
Florian Müllner
f6342d3b52
cleanup: Replace Promise wrappers
...
gjs now supports overriding interface methods, which means that
promisify started to work on interfaces.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/214 >
2022-02-11 16:22:38 +01:00
Florian Müllner
013b3fb73c
apps-menu: Adapt to Clutter.Grab changes
...
Device grabs are gone, switch to the new API.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/212 >
2022-02-10 00:28:04 +01:00
Florian Müllner
69527857f8
window-list: Adapt to Clutter.Grab changes
...
pushModal() now returns a grab object that has to be passed to
popModal() to release the grab.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/212 >
2022-02-10 00:12:22 +01:00
Florian Müllner
e0128a7817
window-list: Use libadwaita for preferences
...
libadwaita has now become stable and will be part of the GNOME 42
platform. Time to embrace it and get fancier preferences with
less code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/209 >
2022-02-08 19:22:41 +00:00
Florian Müllner
62628b25c6
auto-move-windows: Use libadwaita for preferences
...
libadwaita has now become stable and will be part of the GNOME 42
platform. Time to embrace it and get fancier preferences with
less code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/209 >
2022-02-08 19:22:41 +00:00
Florian Müllner
3f89b57c96
workspace-indicator: Use libadwaita for preferences
...
libadwaita has now become stable and will be part of the GNOME 42
platform. Time to embrace it and get fancier preferences with
less code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/209 >
2022-02-08 19:22:41 +00:00
Florian Müllner
01537b401f
user-theme: Use libadwaita for preferences
...
libadwaita has now become stable and will be part of the GNOME 42
platform. Time to embrace it and get fancier preferences with
less code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/209 >
2022-02-08 19:22:41 +00:00
Florian Müllner
d340922fea
window-list: Track window-created/unmanaged
...
Shell's WindowTracker switched to those signals instead of tracking
windows through MetaWorkspace's window-added/removed signals.
As ::window-created is only emitted after a window has been added to
its workspace, looking up its app on ::window-added now fails because
the window isn't tracked yet.
Address this by switching to the same signals for window tracking
(which is simpler anyway).
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/372
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/207 >
2022-01-26 12:33:35 +00:00
Florian Müllner
8dd8d6f561
workspace-indicator: Fix cancelling editing with Esc
...
The CallbackAction's callback must return true to stop the event
from propagating to the dialog, where it will trigger the close
binding.
It makes sense to still allow closing the dialog with Escape while
not editing a row. The easiest way to achieve that is by moving the
controller to the entry.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/208 >
2022-01-26 10:55:59 +00:00
Florian Müllner
02e5029eb6
window-list: Fix OSK
...
The reveal animation moved from Main.layoutManager.keyboardBox to
the keyboard itself, so instead of applying an additional translation
for the bottom panel, we override the translation that would reveal
the keyboard (and thus prevent it from showing altogether).
Fix this by moving our translation to the keyboardBox instead.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/199 >
2021-11-26 20:01:40 +01:00