gnome-shell/js/ui
Jonas Dreßler 7b990daee2 keyboard: Animate focus window using position instead of translation-y
Commit 8526776b4a changed the OSK to use
the translation-y property of the MetaWindowActor when animating a focus
window, which broke two things:

1) It's not compatible with the obscured region culling we do for
windows in mutter. That's because MetaCullable strictly operates in
integer coordinates and thus has to ignore any transformations
(translation-y is a transformation). Because of this, during the
animation and gesture, window damage is now tracked incorrectly,
introducing painting issues. The best fix for this would probably be
factoring in transformations when tracking damage in MetaCullable, but
that's not feasible right now.

2) It broke the shifting up of maximized and tiled windows, likely that
is because they are positioned using constraints internally, and mutter
enforces those constraints every time meta_window_move_frame() is
called, not allowing the window to move somewhere else.

To fix both issues, go back to the old way of shifting the window for
now, using the fixed y position of the ClutterActor. To make sure the
drag-up gesture still works, store the initial y1 position of the window
and then use that as a reference point for all our animations.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1760>
2021-03-13 18:28:15 +00:00
..
components polkitAgent: Ensure cleanup if dialog wasn't shown 2021-02-11 13:48:54 +01:00
status status/network: Use the same signal strength values as GNOME Settings 2021-03-02 23:07:01 +00:00
accessDialog.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
altTab.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
animation.js st/widget: Remove get_resource_scale function 2020-06-30 13:42:18 +00:00
appDisplay.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
appFavorites.js appFavorites: Add eog to rename list 2020-05-02 00:16:28 +02:00
audioDeviceSelection.js audioDeviceSelection: Center-align icons 2020-10-21 03:29:18 +02:00
background.js background: Add option to not use background content size 2021-01-29 21:56:05 +00:00
backgroundMenu.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
barLevel.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
boxpointer.js util: Remove shell_util_get_transformed_allocation 2020-07-29 18:09:53 +02:00
calendar.js calendar: Vertically center align week numbers 2020-08-21 21:40:22 +03:00
checkBox.js checkbox: Improve accessibility of check boxes for Orca users 2020-03-29 12:56:33 +00:00
closeDialog.js closeDialog: Remove transitions before resetting dialog 2020-03-23 15:27:47 +00:00
ctrlAltTab.js ctrlAltTab: Fix usage of bind_cairo_surface_property 2021-03-08 09:21:25 +00:00
dash.js overviewControls: Limit Dash height to 15% of the overview's 2021-02-11 22:31:50 +00:00
dateMenu.js dateMenu: Fix temperature edge case 2020-12-22 09:27:45 +00:00
dialog.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
dnd.js dnd: Remove pointless scale factor from restore position 2021-02-17 10:12:00 +00:00
edgeDragAction.js keyboard: Handle edge drag gesture cancellation 2021-02-17 15:45:01 +00:00
endSessionDialog.js endSessionDialog: Only show logout inhibiting apps 2021-02-24 15:31:03 +00:00
environment.js js: Require Soup 2.4 2021-02-26 12:28:21 +00:00
extensionDownloader.js extensionDownloader: Fix check for updates with several extensions 2020-07-15 18:26:11 -06:00
extensionSystem.js extensionSystem: Fix opening Extensions app from notification 2021-01-26 17:12:04 +01:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js grabHelper: Avoid sync_pointer after pop_modal() 2021-02-14 13:57:56 +00:00
ibusCandidatePopup.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
iconGrid.js iconGrid: Only animate items when we actually need it 2021-03-03 17:59:16 +00:00
inhibitShortcutsDialog.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
kbdA11yDialog.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
keyboard.js keyboard: Animate focus window using position instead of translation-y 2021-03-13 18:28:15 +00:00
layout.js overview: Implement startup animation 2021-03-02 23:14:07 +00:00
lightbox.js lightbox: Fix shader effect 2021-02-24 09:52:45 +00:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js lookingGlass: Let history trim input 2021-02-13 08:58:20 +00:00
magnifier.js magnifier: Stop exposing D-Bus interface 2020-12-06 06:18:07 +01:00
main.js overviewControls: Handle overlay key 2021-03-02 15:36:26 +01:00
messageList.js messageList: Drop sync_pointer() after relayouts 2021-02-14 13:57:56 +00:00
messageTray.js messageTray: Remove deprecated code 2021-03-10 15:17:52 +00:00
modalDialog.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-06 19:55:39 +01:00
mpris.js mpris: Hide unused elements to leave more space for the title 2021-02-04 22:42:08 +00:00
notificationDaemon.js notificationDaemon: Fix icon-choosing logic 2021-02-01 13:58:20 +00:00
osdMonitorLabeler.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
osdWindow.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
overview.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
overviewControls.js overview: Implement startup animation 2021-03-02 23:14:07 +00:00
padOsd.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
pageIndicators.js pageIndicators: Remove animated indicators 2021-02-03 09:55:29 +01:00
panel.js panel: Only update appMenu icon when the app actually changed 2021-03-09 13:15:09 +00:00
panelMenu.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
pointerA11yTimeout.js ui: Use ClutterSeat for keyboard/pointer a11y 2020-01-30 17:49:08 +00:00
pointerWatcher.js cleanup: Stop using Mainloop module 2019-09-12 19:09:24 +02:00
popupMenu.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
remoteSearch.js js: Promisify async operations 2020-03-31 05:43:40 +00:00
ripples.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
runDialog.js runDialog: Let history trim input 2021-02-13 08:58:20 +00:00
screenShield.js screenShield: Tie LockedHint to locked state 2021-01-07 22:43:42 +01:00
screenshot.js screenshot: Remove shooter from sender in finally block 2021-02-11 18:51:40 +00:00
scripting.js scripting: Switch to standard async/await pattern 2020-08-12 15:43:38 +00:00
search.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
searchController.js searchController: Get rid of activePage reference in key handling 2021-02-17 02:31:32 +01:00
sessionMode.js cleanup: Remove old compatibility code 2020-08-13 23:00:21 +00:00
shellDBus.js overviewControls: Incorporate ActivitiesContainer 2021-02-11 15:50:31 +00:00
shellEntry.js shellEntry: Restore natural-height-set instead of forcing it 2020-02-22 16:58:01 +00:00
shellMountOperation.js cleanup: Don't linebreak before closing parentheses 2020-04-28 09:04:49 +00:00
slider.js js: Add missing chain-ups in vfuncs 2020-03-27 10:39:58 +01:00
swipeTracker.js swipeTracker: Reset before emitting 'end' and not after 2021-03-13 18:08:24 +00:00
switcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
switchMonitor.js switchMonitor: Center align switcher icon's label 2020-01-02 13:03:08 +05:30
unlockDialog.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
userWidget.js theme: Don't draw border around symbolic user-icon 2020-12-17 21:46:41 +01:00
welcomeDialog.js welcomeDialog: Hide overview when taking tour 2021-02-19 17:18:50 +01:00
windowAttentionHandler.js messageTray: Don't create notification policy on demand 2020-03-26 18:52:10 +00:00
windowManager.js windowManager: Limit super-scroll handling to normal mode 2021-03-09 12:28:36 +00:00
windowMenu.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
windowPreview.js windowPreview: Subclass a C actor 2021-03-09 15:40:49 +00:00
workspace.js workspace: Use Util.lerp() instead of actor box for interpolating 2021-03-09 15:40:49 +00:00
workspaceAnimation.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
workspacesView.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
workspaceSwitcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
workspaceThumbnail.js workspaceThumbnail: Update visibility when showing the overview 2021-03-04 12:39:37 +00:00
xdndHandler.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00