Carlos Garnacho
f2cca5cccb
padOsd: Capture events on itself
...
This actor is setting itself modal, should also stop listening to
events from above it, since none will be gotten.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:30 +01:00
Carlos Garnacho
5305bee94c
dnd: Use Clutter.grab() for DnD grab
...
We still listen to an specific device or touch sequence, but we
don't grab it specifically.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:30 +01:00
Carlos Garnacho
bad385d15c
lookingGlass: Use lookingGlass dialog for modal grab
...
We want the whole dialog to handle events while shown. To compensate
for the entry not being "grabbed", make it take focus when showing.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
05a6b35991
overview: Propagate crossing events in cover pane
...
When animating the overview we temporarily cover it with an actor that
ignores events. This actor should still allow crossing events to go through
as per Mutter requirements.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
35d293df6c
overview: Grab on the stage
...
This is more in line with the places where we want events to be
handled (i.e. all). So make the overview take a grab on the
stage itself.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
f4cae72d17
main: Use Clutter.grab() underneath Main.push/popModal
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
49b9ae08d8
appDisplay: Explicitly highlight selected app icon
...
While the menu is popped up, we artificially keep the icon highlighted
by ensuring it's hovered, and muting events on the app icon until the
menu is popped down.
This is somewhat convoluted and won't work with Clutter.grab(), where
it will be the menu itself that is the owner of input events while
shown, so cut some corners and explicitly tell the app icon to be
highlighted.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
876765dbe1
boxPointer: Do not mute key events while showing
...
We want to mute things like pointers hovering the BoxPointer while
it does open. However keyboard events should still be handled
promptly.
Since Clutter.grab() will involve different actors being grabbed
and focused, this will have some more presence, e.g. when navigating
panel menus. We want to be able to navigate outside a menu while it
is still being shown.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
0e4cd3bc79
lookingGlass: Use Clutter.grab() for actor picking
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
88d60a70a3
modalDialog: Make reactive
...
Some dialogs like the runDialog expect this actor to receive
key events while it is not reactive. Whatever that black magic was
it will no longer work.
Make the actor reactive, so it can simply handle key events.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Carlos Garnacho
88a8ba0869
slider: Use Clutter.grab() for implicit grab
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2045 >
2022-01-29 01:16:29 +01:00
Florian Müllner
c256ca443e
style: Handle sections in submenus
...
If a menu item in a submenu is part of a section, it should have
rounded bottom corners if both the item and the section are the
last child of its respective parent.
To express that, add a new .popup-menu-section class and use that
to undo/redo the rounding for items inside a section.
It would be possible to do without a new class with a selector like
> StBoxLayout > .popup-menu-item:last-child:hover,
:last-child > .popup-menu-item:last-child:hover
but that's hardly better with its heavy reliance on implementation
details.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4940
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2126 >
2022-01-27 22:54:14 +00:00
Florian Müllner
1cee7e6760
overviewControls: Handle keyboard navigation
...
The old view selector used to handle initiating keynav into pages.
That code became inactive when non-search related functionality
was moved elsewhere, and was finally removed in commit cf41f4a527
.
We still want the keynav behavior it provided, so add similar code
to overview's control manager.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4056
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2124 >
2022-01-27 22:49:42 +00:00
Ivan Molodetskikh
7d43038312
screenshot-ui: Add support for disable-save-to-disk
...
When disable-save-to-disk is set, we only save the screenshot to the
clipboard, and therefore don't add the "open file" and "open folder"
actions to the notification.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
27bcf0da48
screenshot-ui: Use ImageContent for notification icon
...
StImageContent specifically, when used as a notification icon, preserves
the screenshot aspect ratio and avoids ugly scaling.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
4442ced760
screenshot-ui: Make screenshots appear in recent items
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
0b83541a3b
screenshot-ui: Show a notification on capture
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
95df526996
screenshot-ui: Store screenshots to files
...
Screenshots are always stored to (xdg-)Pictures/Screenshots as discussed
in https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1950#note_655669
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
77eeaf6dbe
screenshot-ui: Extract _saveScreenshot()
...
For simpler handling of screenshot/screencast.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
4e93d35037
screenshot-ui: Add tooltips to buttons
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
941774b786
screenshot-ui: Add cursor capturing option
...
The cursor texture, scale and position is captured separately and
overlaid on top of the preview, and on top of the final screenshot
image. This allows toggling it on and off post-factum.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
639a346c1e
screenshot-ui: Add keyboard navigation
...
Allow switching the screenshot mode by pressing the "s", "c", or "w" key. Also
implement arrow-key navigation between monitors in the screen screenshot mode
and between windows in the window screenshot mode.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
1321bb7557
screenshot-ui: Add a check icon to selected window
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
4c198fe2c7
screenshot-ui: Add new selector icons
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
d10e626de9
screenshot-ui: Add window selection
...
UIWindowSelectorLayout is a stripped-down subclass of WorkspaceLayout
(we don't have to deal with windows disappearing or appearing or
changing size). UIWindowSelectorWindow is a heavily stripped-down
version of WindowPreview. UIWindowSelector is analogous to the Workspace
class.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
f3d59912ec
screenshot-ui: Add area selection
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
e12689108a
screenshot-ui: Bind Ctrl-C, Enter, Space to capture
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
6f42eaf17d
screenshot-ui: Add capturing and screen selection
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
7245f95165
screenshot-ui: Add IconLabelButton
...
A button that has an icon and a subtitle label.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
df0cd3457f
screenshot-ui: Add close button
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
3b4fe9af31
screenshot-ui: Add the control panel
...
The (currently empty) panel resides on the primary monitor.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Ivan Molodetskikh
8ebc478f0f
Add scaffolding for the new screenshot UI
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1954 >
2022-01-27 22:25:42 +00:00
Jonas Dreßler
81f62e9df8
lightbox: Fix banding issues with the vignette shader
...
Just as https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/352
did for the MetaBackgroundActor in mutter, let's fix the vignette shader
in gnome-shell, too.
Based on a patch originally propsed by Nikita Churaev, see
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/59 .
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3942
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2133 >
2022-01-27 22:16:50 +01:00
Jonas Dreßler
7c49ac5242
altTab: Also use getWindows() for AppSwitcher
...
Use our custom filtering for meta_display_get_tab_list() in AppSwitcher
to be consistent and make sure the thumbnail list also includes the
remapping done in getWindows().
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2098 >
2022-01-25 20:03:01 +00:00
Jonas Dreßler
c8f3db31b8
altTab: Only calculate iconSize once
...
Right now, _setIconSize() calculates the icon size everytime the
preferred height of AppSwitcher is calculated, which happens quite
often.
Reduce the perfomance impact by only calculating the icon size once.
This has the added benefit of preventing unexpected changes to the icon
sizes while the switcher is open.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2098 >
2022-01-25 20:03:01 +00:00
Jonas Dreßler
7f65fa49db
altTab: Check for reentrancy in override function of _onItemMotion()
...
Just like in the parent _onItemMotion() function, we should check for
reentrancy in our override.
Because the hover timeout will prevent a new selection from happening
for some time, in addition to checking for this._highlighted reentrancy,
we also need to track the item that's being hovered during the timeout.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2098 >
2022-01-25 20:03:01 +00:00
Florian Müllner
1e2a10f83b
shellDBus: Return error on invalid app IDs
...
When passing an invalid or unknown app ID to FocusApp(), we currently
open the app picker and silently fail to select the desired app.
Instead of half-working like that, make it clear that the argument
was invalid by returning an appropriate error. (It's easy to get the
ID wrong, as unlike appstream/flatpak IDs, we include the ".desktop"
suffix).
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/337 >
2022-01-25 20:18:35 +01:00
Daniel van Vugt
e38a416246
lightbox: GLSL requires real numbers, not integers
...
At least backward-compatible GLSL requires real numbers only. It's a
fatal shader compilation error to use integers in GLES and older GL
versions like that of i915.
Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2115
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2125 >
2022-01-25 15:38:04 +00:00
Leleat
f4b75d02cc
popupMenu: Center labels vertically
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2113 >
2022-01-25 15:32:31 +00:00
Florian Müllner
b54111ef88
cleanup: Use logical assignments
...
gjs updated mozjs to a version that support assignment operators
for logical operators, so use those where appropriate.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2115 >
2022-01-25 15:21:16 +00:00
Georges Basile Stavracas Neto
87927b8281
ui: Rename gnome-control-center to org.gnome.Settings
...
The app-id has changes since [1].
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1153
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2123 >
2022-01-21 10:44:37 -03:00
Florian Müllner
6a10f2f2f1
panel: Fix corner transition when slowed down
...
Both ease() and CSS durations take the slow-down factor into account,
so the corners currently end up using the square of the factor in their
transition.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2118 >
2022-01-20 19:18:15 +01:00
Aleksandr Mezin
12c300a7a2
extensionSystem: Ignore spurious disable-extension-version-validation change
...
Ignore spurious change notificatons, when the setting didn't actually change
(triggered by `dconf update`)
Workaround for https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4808
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2047 >
2022-01-14 15:23:09 +00:00
Ray Strode
11401c13ed
gdmUtil: Enable support for GDM's ChoiceList PAM extension
...
This commit hooks up support for GDM's ChoiceList PAM extension.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1978 >
2022-01-13 15:31:32 -05:00
Jonas Dreßler
7ae694990b
altTab: Use this._highlighted instead of this._curApp in AppSwitcher
...
Thanks to the parent class (SwitcherPopup), we already have a property
for the currently highlighted item, let's use it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2097 >
2022-01-12 12:25:19 +00:00
Jonas Dreßler
98e270e698
altTab: Remove override of _itemEnteredHandler()
...
This override function is identical to the original function, so remove
it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2097 >
2022-01-12 12:25:19 +00:00
Jonas Dreßler
d8a38672f1
altTab: Also return EVENT_PROPAGATE in override of _onItemMotion()
...
Clutter expects a return value here, so make sure we also return
Clutter.EVENT_PROPAGATE just like the function we override does.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2097 >
2022-01-12 12:25:19 +00:00
Jonas Dreßler
87101cf165
switcherPopup: Rename _onItemEnter() to _onItemMotion()
...
Since commit e94de67b
, this is called by a motion-event handler instead
of enter-event, so let's adjust the function name.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2097 >
2022-01-12 12:25:19 +00:00
Sebastian Keller
ac4412e4aa
lookingGlass: Add switches for debug flags
...
This adds a new "Flags" tab to looking glass where several debug flags
can be toggled at run time. This includes:
ClutterDebugFlags
ClutterDrawDebugFlags
MetaDebugPaintFlags
MetaDebugTopics
MetaContext::unsafe-mode
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3968
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1994 >
2022-01-11 21:39:28 +00:00
Evan Welsh
828da18b72
background: Don't override synchronous load() with an async version
...
Instead, override the asynchronous version to avoid conflicting with
the parent signature.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2040 >
2022-01-11 21:24:26 +01:00