gnome-shell/js/ui
Jonas Ådahl 1f0ef7fb46 workspaceThumbnail: Update monitor index on 'monitors-changed'
For the primary monitor workspace thumbnail, we must keep the monitor
index in sync with what is currently the primary monitor index,
otherwise we might end up trying to move windows to non-existing
monitors.

For example, if the primary monitor index was 1 when the thumbnail box
was created, but later, the primary monitor index changed to 0, with the
other monitor being turned off, moving a window to one of the workspaces
on the workspace thumbnail, gnome-shell would attempt to move it to the
monitor with the index the primary monitor had in the past, with the
problem being that that monitor no longer exists.

Fix this by listening on the 'monitors-changed' signal on the layout
manager, and update the monitor index of the primary workspace
thumbnails box. Make sure to connect to the signal before creating the
thumbnails box, as the thumbnails box itself will listen to the signal
and recreate its actual thumbnails, and it must do this with the up to
date monitor index.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4075
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1810>
2021-04-14 15:43:09 +00:00
..
components polkitAgent: Ensure cleanup if dialog wasn't shown 2021-02-11 13:48:54 +01:00
status status/network: Disconnect signal handler on destroy in NMConnectionItem 2021-03-31 10:31:12 +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 appDisplay: Ensure icon grid is always aligned with the pixel grid 2021-04-08 16:50:46 +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: Use POST request for checking updates 2021-03-31 13:31:00 +04: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 use page relative coords for orientation in getDropTarget 2021-03-14 18:44:03 +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: Fix suggestions box 2021-04-13 10:02:09 +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 main: Use session mode property for welcome dialog 2021-04-06 18:57:39 +00: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 overview: Pass state while calling _animateVisible() 2021-04-02 10:20:32 +00:00
overviewControls.js workspaceThumbnail: Update monitor index on 'monitors-changed' 2021-04-14 15:43:09 +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 remoteSearch: Fetch enabled/disabled list once 2021-04-02 19:07:56 +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 main: Use session mode property for welcome dialog 2021-04-06 18:57:39 +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: Remove unused property 2021-03-13 22:32:23 +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: Center window previews horizontally and vertically 2021-04-08 17:51:15 +00:00
workspaceAnimation.js swipeTracker: Pass orientation in constructor 2021-03-13 18:08:24 +00:00
workspacesView.js workspacesView: Don't tie PgUp/PgDown to mapped state 2021-04-08 20:48:58 +02:00
workspaceSwitcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
workspaceThumbnail.js workspaceThumbnail: Update monitor index on 'monitors-changed' 2021-04-14 15:43:09 +00:00
xdndHandler.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00