gnome-shell/js/ui
Carlos Garnacho 9c262ad7bf status: Ignore prior single-element lists updating input sources MRU
Consider the existing input sources MRU only valid if it contained
more than one element to pick from. Fixes the following situation
with initial-setup sessions:

- Initial setup Session starts, with several input sources already
  configured ("us" between them)
- InputSourceManager initializes, only the default "us" keymap is
  available
- MRU list is constructed, "us" is picked
- InputSourceManager catches up with session configuration, the
  other extra sources are added
- MRU list is reconstructed, "us" is already the most recent
- Session ends up with "us" picked, regardless of its position in
  the list, and no MRU existing prior to startup

If we consider the intermediate single-element MRU list invalid,
it is still possible to pick the best default source between all
the configured ones (the one that was put first in the list,
basically), after initialization is complete.

But also, it is unnecessary to have if there is a single source to
pick from. After the sources list has two elements or more, the
MRU list will become effective and preserved during changes to
the available sources.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2495>
2022-10-18 18:38:27 +00:00
..
components js: Use async D-Bus wrappers 2022-08-01 18:51:14 +00:00
status status: Ignore prior single-element lists updating input sources MRU 2022-10-18 18:38:27 +00:00
accessDialog.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
altTab.js altTab: Always include label in thumbnail 2022-10-18 18:04:57 +00:00
animation.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
appDisplay.js Revert "appDisplay: Reduce drag overshoot timeout" 2022-08-22 15:41:34 -03:00
appFavorites.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
appMenu.js appMenu: Hide overview when pressing on 'Show Details' 2022-06-09 17:51:46 +02:00
audioDeviceSelection.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
background.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04: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 calendar: Correct handling of recurring events 2022-08-31 16:35:14 +00:00
checkBox.js checkbox: Improve accessibility of check boxes for Orca users 2020-03-29 12:56:33 +00:00
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 deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
dialog.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
dnd.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
edgeDragAction.js edgeDragAction: Change edge trigger threshold to AFTER 2022-05-27 09:29:26 +00:00
endSessionDialog.js loginManager: Return objects instead of multiple booleans 2022-08-01 20:58:37 +02:00
environment.js environment: Preserve time 0 when animations are disabled 2022-10-14 22:32:31 +00:00
extensionDownloader.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
extensionSystem.js extensionSystem: Check if mode is supported when loading 2022-07-27 14:01:30 +00:00
focusCaretTracker.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
grabHelper.js Require both mouse and keyboard grabs for some grabs to be successful 2022-05-04 17:28:08 +00:00
ibusCandidatePopup.js ibusCandidatePopup: Prevent it from covering screenshot UI 2022-07-04 13:38:15 +00:00
iconGrid.js iconGrid: Always call findBestModeForSize() 2022-08-10 15:16:36 +00:00
inhibitShortcutsDialog.js inhibitShortcutsDialog: Don't override resource 2022-10-06 14:47:43 +02:00
init.js init: Set console log domain 2021-09-01 14:55:47 +00:00
kbdA11yDialog.js kbdA11yDialog: Use MetaKeyboardA11yFlags 2022-06-16 09:38:20 +00:00
keyboard.js keyboard: Use the right property to figure out modifiers set size 2022-08-23 18:37:11 +00:00
layout.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
lightbox.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
magnifier.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
main.js environment: Remove inline import of extensionUtils 2022-07-06 13:40:44 -04:00
messageList.js messageList: Only close messages via delete key if they can be closed 2022-06-04 15:23:45 +02:00
messageTray.js signalTracker: Explicitly register destroyable types 2022-03-06 00:10:03 +00:00
modalDialog.js Require both mouse and keyboard grabs for some grabs to be successful 2022-05-04 17:28:08 +00:00
mpris.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
notificationDaemon.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
osdMonitorLabeler.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
osdWindow.js osdWindow: Implement new OSD design 2022-02-12 15:28:52 +00:00
overview.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00
overviewControls.js overviewControls: Don't update work area box when headless 2022-09-15 11:51:08 +00:00
padOsd.js padOsd: Figure out label/edition UI positions from unchanged fonts 2022-09-02 19:24:47 +00:00
pageIndicators.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
panel.js panel: Add PanelMenu.Button menu when menu-set is emitted 2022-09-17 17:56:21 +00:00
panelMenu.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
pointerA11yTimeout.js ui: Use ClutterSeat for keyboard/pointer a11y 2020-01-30 17:49:08 +00:00
pointerWatcher.js js: Get idle monitor from backend 2021-05-18 13:42:52 +00:00
popupMenu.js popupMenu: Close quick settings when activating settings action 2022-08-02 16:05:28 +00:00
quickSettings.js quickSettings: Update bind constraint offset on idle 2022-09-17 18:09:57 +00:00
remoteSearch.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
ripples.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
runDialog.js runDialog: Use single quotes for Wayland restart warning 2022-05-31 18:35:41 +00:00
screenShield.js screenShield: Only wake up screen when active 2022-08-10 16:31:42 +00:00
screenshot.js screenshot: Allow some shortcuts on lock screen 2022-08-22 14:15:17 +00:00
scripting.js js: Use async D-Bus wrappers 2022-08-01 18:51:14 +00:00
search.js search: Use async functions instead of callbacks 2022-08-01 18:51:14 +00:00
searchController.js searchController: Avoid event.set_source() API 2022-03-04 12:27:34 +00:00
sessionMode.js panel: Remove aggregate menu 2022-08-10 16:37:15 +00:00
shellDBus.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
shellEntry.js shellEntry: Remove unused variable 2022-10-14 22:32:30 +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 swipeTracker: Set up 1fg drag gesture in capture phase 2022-08-10 17:11:26 +00:00
switcherPopup.js js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
switchMonitor.js switchMonitor: Fix initial selection on desktop 2022-08-31 00:38:49 +00:00
unlockDialog.js lockScreen: Extend modal grab to entire uiGroup 2022-05-18 20:16:10 +02: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 async D-Bus wrappers 2022-08-01 18:51:14 +00:00
windowMenu.js windowMenu: Add an entry to take a screenshot 2022-02-12 00:20:54 +00:00
windowPreview.js Js: Use new :icon-name property 2022-05-06 13:39:40 +00:00
workspace.js workspace: Port WorkspaceBackground allocate to C 2022-08-03 12:30:31 +00:00
workspaceAnimation.js workspaceAnimation: Get time outside of the animation-complete callback 2022-03-13 00:06:03 +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 new helper function when accepting drops 2022-03-31 17:56:49 +02:00
xdndHandler.js Adopt EventEmitter class instead of injecting Signal methods 2022-07-04 18:30:49 -04:00