gnome-shell/js/ui
Jonas Dreßler 36b103525c keyboard: Correctly compare cursor rect to keyboard rect
The logic that decides whether we should shift the window up when the
cursor rectangle overlaps with the keyboard rectangle doesn't work
properly right now, we want it to work like this:

- If the currently focused window is shifted up, keep it shifted up
until the cursor rect no longer overlaps the keyboard rect. To do that
comparison correctly, we need to adjust for the height the cursor rect
is shifted up by (keyboardHeight) and temporarily shift it down again.

- If the currently focused is not shifted up, we want to shift it up as
soon as the focus rect overlaps the keyboard rect. If that's not the
case, want still want to call _setFocusWindow(null) in order to shift
the previously focused window back down.

This fixes two issues: 1) We're currently shifting windows back down at
the wrong position of the cursor (that is y < keyboardHeight). 2) We're
not shifting down previously focused windows when focusing a different
window with the new focus in a specific region (y >= keyboardHeight &&
y + h < monitor.y + monitor.height - keyboardHeight).

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: Correctly compare cursor rect to keyboard rect 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