gnome-shell/js/ui
Florian Müllner 36b8dcbe07 a11y: Change HC icon theme first
There are two ways for applications to provide a high contrast icon:

 1. install an icon into the HighContrast theme
 2. install a symbolic icon into the default hicolor theme

The latter is preferred nowadays, and implemented in the high-contrast
CSS variant by enforcing the symbolic icon style.

However together with the way we currently enable/disable high-contrast,
this can lead to the following race:
 1. the GTK theme is changed from HighContrast
 2. we reload the default stylesheet
 3. the icon style changes to "regular", so we request a
    new icon from the HighContrast icon theme
 4. the icon theme is changed from HighContrast
 5. we evict existing icons from the cache
 6. we reload icons for the new icon theme; however as we
    find a pending request (from 3), we re-use it
 7. the request from 3 finishes, and we end up with a
    wrong icon in the cache

The simplest fix is to change the icon theme before the GTK theme: Unlike the
theme name, the icon style is encoded in the cache key, so we won't re-use
an old (and incorrect) request in that case.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2414
2020-03-17 12:45:25 +01:00
..
components js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
status a11y: Change HC icon theme first 2020-03-17 12:45:25 +01:00
accessDialog.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
altTab.js altTab: Don't fade out thumbnails on destroy 2020-02-26 22:46:51 +00:00
animation.js animation: Scale animation actor for HiDPI 2020-01-30 14:28:45 +00:00
appDisplay.js js: Always use AppSystem to lookup apps 2020-03-14 20:33:36 +01:00
appFavorites.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
audioDeviceSelection.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
background.js background: Remove noise texture 2020-02-10 22:30:52 +00:00
backgroundMenu.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
barLevel.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
boxpointer.js Revert "js/ui: Use Clutter.OffscreenRedirect.ON_IDLE" 2020-02-26 11:54:54 +08:00
calendar.js js: Always use AppSystem to lookup apps 2020-03-14 20:33:36 +01:00
checkBox.js checkbox: Correctly align label 2020-01-30 15:48:26 +01:00
closeDialog.js closeDialog: Make dialog inactive while fading out 2020-02-21 08:11:57 +00:00
ctrlAltTab.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
dash.js Revert "js/ui: Use Clutter.OffscreenRedirect.ON_IDLE" 2020-02-26 11:54:54 +08:00
dateMenu.js dateMenu: Sync initial state of the message indicator 2020-02-25 16:47:29 +01:00
dialog.js closeDialog: Make dialog inactive while fading out 2020-02-21 08:11:57 +00:00
dnd.js dnd: Make DND translation-property-aware 2020-02-07 14:43:56 +00:00
edgeDragAction.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
endSessionDialog.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
environment.js environment: Fix date conversion 2020-03-02 13:54:23 +01:00
extensionDownloader.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
extensionSystem.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js grabHelper: Add (promised-based) grabAsync() 2019-12-20 15:41:32 +01:00
ibusCandidatePopup.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
iconGrid.js iconGrid: Create icon clones in a separate loop 2020-02-19 15:39:21 +00:00
inhibitShortcutsDialog.js inhibitShortcutsDialog: Adapt to new dialog design 2020-01-27 23:40:04 +01:00
kbdA11yDialog.js ui: Use ClutterSeat for keyboard/pointer a11y 2020-01-30 17:49:08 +00:00
keyboard.js keyboard: Specify symbolic icons to use in default keys 2020-02-20 11:34:07 +00:00
layout.js layout: Show and hide keyboard using translation_y 2020-02-21 12:59:21 +00:00
lightbox.js lightbox: Change vignette brightness to 0.5 2020-01-19 18:01:57 +01:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js lookingGlass: Also handle null objects in objectToString 2020-02-19 11:56:36 +01:00
magnifier.js magnifier: Use inhibit-unfocus API to keep wayland focus while hidden 2020-02-24 10:31:08 +00:00
magnifierDBus.js cleanup: Use JSDoc for documentation comments 2019-11-11 19:25:14 +00:00
main.js main: Unwatch notification proxy name after auto-start 2020-03-12 23:29:40 +01:00
messageList.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
messageTray.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
modalDialog.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-06 19:55:39 +01:00
mpris.js mpris: Disallow media section on login screen 2020-02-26 17:45:33 +00:00
notificationDaemon.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01: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 Revert "js/ui: Use Clutter.OffscreenRedirect.ON_IDLE" 2020-02-26 11:54:54 +08:00
overviewControls.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
padOsd.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
pageIndicators.js pageIndicators: Redesign and add position-based animation 2019-11-23 03:01:51 +05:00
panel.js Revert "js/ui: Use Clutter.OffscreenRedirect.ON_IDLE" 2020-02-26 11:54:54 +08:00
panelMenu.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +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 js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
remoteSearch.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
ripples.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
runDialog.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
screencast.js cleanup: Use destructuring for imports from GI 2019-02-09 07:39:20 +01:00
screenShield.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
screenshot.js screenshot: Fix stripping suffix from relative filename 2020-01-10 19:31:04 +01:00
scripting.js perf-tool: Spawn perf-tool-helper from gnome-shell 2020-01-27 13:43:06 +00:00
search.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
sessionMode.js main: Get the theme resource name from sessionMode 2020-03-06 19:09:25 +00:00
shellDBus.js shellDBus: Add new OpenExtensionPrefs method 2020-03-06 19:03:02 +00:00
shellEntry.js shellEntry: Restore natural-height-set instead of forcing it 2020-02-22 16:58:01 +00:00
shellMountOperation.js js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
slider.js slider: Include handle border radius when calculating center offset 2020-03-06 19:29:06 +00:00
swipeTracker.js js/ui: Subscribe touchpad gesture handlers to only touchpad events 2020-02-29 13:39:17 +00:00
switcherPopup.js switcherPopup: Use correct scroll-direction property 2020-02-26 22:46:51 +00:00
switchMonitor.js switchMonitor: Center align switcher icon's label 2020-01-02 13:03:08 +05:30
tweener.js tweener: Use new adjustAnimationTime() helper 2019-08-06 20:50:43 +02:00
unlockDialog.js unlockDialog: Transition switch-user button with prompt 2020-03-01 01:21:04 +00:00
userWidget.js userWidget: Always set actor size inside update() 2020-02-18 22:10:00 +00:00
viewSelector.js js/ui: Subscribe touchpad gesture handlers to only touchpad events 2020-02-29 13:39:17 +00:00
windowAttentionHandler.js cleanup: Don't shadow variables 2019-11-11 19:25:14 +00:00
windowManager.js windowManager: Do not shutdown ibus/xsettings on X11 compositor restart 2020-03-11 11:31:45 +00:00
windowMenu.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
workspace.js workspace: Ensure style of window-chrome titles before requesting width 2020-02-19 10:09:20 +00:00
workspacesView.js workspacesView: Disable swipe tracker during window dragging 2020-01-28 22:08:48 +00:00
workspaceSwitcherPopup.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
workspaceThumbnail.js workspaceThumbnail: Sync indicator with WorkspacesDisplay 2020-01-08 23:07:08 +01:00
xdndHandler.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00