gnome-shell/js/ui
Christian Hergert f8db5aa106 app-cache: add ShellAppCache for GAppInfo caching
This caches GAppInfo so that the compositor thread does not have to perform
costly disk access to load them. Instead, they are loaded from a worker
thread and the ShellAppCache notifies of changes.

To simplify maintenance, ShellAppCache manages this directly and the
existing ShellAppSystem wraps the cache. We may want to graft these
together in the future, but now it provides the easiest way to backport
changes to older Shell releases.

Another source of compositor thread disk access was in determining the
name for an application directory. Translations are provided via GKeyFile
installed in "desktop-directories". Each time we would build the name
for a label (or update it) we would have to load all of these files.

Instead, the ShellAppCache caches that information and updates the cache
in bulk when those change. We can reduce this in the future to do less
work, but chances are these will come together anyway so that is probably
worth fixing if we ever come across it.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2282
2020-03-11 18:06:15 -07:00
..
components js: Don't use templates in files with translations 2020-02-17 23:20:40 +01:00
status location: Update desktop file name for privacy settings 2020-03-06 19:16:47 +00: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 app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07: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: Don't use templates in files with translations 2020-02-17 23:20:40 +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: Get the theme resource name from sessionMode 2020-03-06 19:09:25 +00: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