gnome-shell/js/ui
Carlos Garnacho c29e0cf6e6 grabHelper: Special case event funneling towards the OSK
In the case of bringing up the OSK while there is a grab (like, every
GNOME Shell entry), we used to special case event capturing so events
directed to the OSK would be let through.

When Clutter.Grab came around, events would be propagated only within
the actor hierarchy that holds the grab, which rendered this special
case just as useless as the OSK while a grab was hold. Since it wouldn't
be part of the grab hierarchy, clicking on the OSK would do nothing.

In order to let the OSK handle events, double down on the special case
and let it forward the event directly to the actor under the device,
instead of trying to let it through somehow. Since the actor under the
device are usually OSK buttons in this case, we don't need further
propagation to make it work, which makes the OSK functional again while
the shell holds a grab.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2237>
2022-03-12 09:28:14 +00:00
..
components js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
status remoteAccess: Hide indicator after a timeout 2022-03-04 22:05:46 +00:00
accessDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
altTab.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
animation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
appDisplay.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
appFavorites.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
appMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
audioDeviceSelection.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
background.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
backgroundMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
barLevel.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
boxpointer.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
calendar.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
checkBox.js
closeDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
ctrlAltTab.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
dash.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
dateMenu.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
dialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
dnd.js dnd: Drop captured event handler 2022-02-02 17:22:20 +01:00
edgeDragAction.js keyboard: Handle edge drag gesture cancellation 2021-02-17 15:45:01 +00:00
endSessionDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
environment.js signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
extensionDownloader.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
extensionSystem.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
focusCaretTracker.js
grabHelper.js grabHelper: Special case event funneling towards the OSK 2022-03-12 09:28:14 +00:00
ibusCandidatePopup.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
iconGrid.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
inhibitShortcutsDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
init.js init: Set console log domain 2021-09-01 14:55:47 +00:00
kbdA11yDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
keyboard.js grabHelper: Special case event funneling towards the OSK 2022-03-12 09:28:14 +00:00
layout.js Revert "layout: Exclude hidden actors from struts" 2022-03-05 22:29:57 +00:00
lightbox.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
locatePointer.js
lookingGlass.js lookingGlass: Take separate grab for object inspector 2022-02-26 18:15:28 +01:00
magnifier.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
main.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
messageList.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
messageTray.js signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
modalDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
mpris.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
notificationDaemon.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
osdMonitorLabeler.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
osdWindow.js osdWindow: Implement new OSD design 2022-02-12 15:28:52 +00:00
overview.js overview: Don't expect time argument from drag-end signal 2022-02-23 17:58:36 +00:00
overviewControls.js overviewControls: Do consider work area for HIDDEN state 2022-03-05 22:29:57 +00:00
padOsd.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
pageIndicators.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
panel.js panel: Listen differently for button-press events 2022-03-05 23:51:59 +00:00
panelMenu.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
pointerA11yTimeout.js
pointerWatcher.js js: Get idle monitor from backend 2021-05-18 13:42:52 +00:00
popupMenu.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
remoteSearch.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
ripples.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
runDialog.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
screenShield.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
screenshot.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
scripting.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
search.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
searchController.js searchController: Avoid event.set_source() API 2022-03-04 12:27:34 +00:00
sessionMode.js cleanup: Use new indentation style for arrays 2022-02-23 12:23:52 +00:00
shellDBus.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
shellEntry.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
shellMountOperation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
slider.js slider: Use Clutter.grab() for implicit grab 2022-01-29 01:16:29 +01:00
swipeTracker.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
switcherPopup.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
switchMonitor.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
unlockDialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
userWidget.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
welcomeDialog.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
windowAttentionHandler.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
windowManager.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
windowMenu.js windowMenu: Add an entry to take a screenshot 2022-02-12 00:20:54 +00:00
windowPreview.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspace.js workspace: Scale slots to current workspace size when layout is frozen 2022-03-06 00:16:50 +00:00
workspaceAnimation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspacesView.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspaceSwitcherPopup.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
workspaceThumbnail.js workspaceThumbnail: Use transient object for connecting some signals 2022-03-05 10:08:48 +01:00
xdndHandler.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00