gnome-shell/js/ui
Ray Strode 242cff7abf extensionSystem: Allow extensions to run on the login screen
At the moment it's not realy possible to extend the login screen to do
things it doesn't have built-in support for. This means in order
to support niche use cases, those cases have to change the main
code base. For instance, oVirt and Vmware deployments want to be able
to automaticaly log in guest VMs when a user pre-authenticates through a
console on a management host. To support those use cases, we added
code to the login screen directly, even though most machines will never
be associated with oVirt or Vmware management hosts.

We also get requests from e.g. government users that need certain features
at the login screen that wouldn't get used much outside of government
deployments. For instance, we've gotten requests that a machine contains
prominently displays that it has "Top Secret" information.

All of these use cases seem like they would better handled via
extensions that could be installed in the specific deployments. The
problem is extensions only run in the user session, and get
disabled at the login screen automatically.

This commit changes that. Now extensions can specify in their metadata
via a new sessionModes property, which modes that want to run in. For
backward compatibility, if an extension doesn't specify which session
modes it works in, its assumed the extension only works in the user
session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>
2021-10-14 18:40:53 +00:00
..
components cleanup: Replace non-standard ByteArray module 2021-09-01 14:49:30 +00:00
status status/network: Use wwan settings panel for GSM/LTE Modems 2021-08-14 10:39:56 +00:00
accessDialog.js portal: Own org.gnome.Shell.Portal for the access portal 2021-06-05 21:29:52 -03:00
altTab.js altTab: Avoid allocation cycle when showing CyclerHighlight 2021-05-11 17:36:29 +02:00
animation.js st/widget: Remove get_resource_scale function 2020-06-30 13:42:18 +00:00
appDisplay.js appDisplay: Replace AppIconMenu 2021-08-16 21:28:22 +00:00
appFavorites.js appFavorites: Add eog to rename list 2020-05-02 00:16:28 +02:00
appMenu.js appMenu: Support launching on the non-default GPU 2021-08-16 21:28:22 +00:00
audioDeviceSelection.js audioDeviceSelection: Ensure close() is called with no arguments 2021-04-19 19:12:59 +02:00
background.js background: Check xml mime type instead of extension 2021-04-16 19:53:53 +05: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 boxpointer: Fix positioning with non-widget sources 2021-09-01 20:22:58 +00:00
calendar.js theme: Add focus indication for dnd switch in message list controls 2021-07-20 20:58:59 +02: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 dash: Fixes wrong separator position 2021-09-01 15:10:14 +00:00
dateMenu.js dateMenu: Fix temperature edge case 2020-12-22 09:27:45 +00:00
dialog.js dialog: Ensure action callback is called with no arguments 2021-04-19 19:12:59 +02:00
dnd.js dnd: Immediately start drag done by pointer devices 2021-05-31 10:59:11 -03: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 cleanup: Replace non-standard ByteArray module 2021-09-01 14:49:30 +00:00
extensionDownloader.js cleanup: Replace non-standard ByteArray module 2021-09-01 14:49:30 +00:00
extensionSystem.js extensionSystem: Allow extensions to run on the login screen 2021-10-14 18:40:53 +00:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js grabHelper: Propagate events while this._ignoreUntilRelease 2021-05-11 16:13:49 +00:00
ibusCandidatePopup.js ibusCandidatePopup: Use plain actor as dummy cursor 2021-06-29 22:47:58 +02:00
iconGrid.js iconGrid: Bail out when not on a monitor 2021-08-13 15:16:54 +02:00
inhibitShortcutsDialog.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
init.js init: Set console log domain 2021-09-01 14:55:47 +00:00
kbdA11yDialog.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
keyboard.js keyboard: Ensure chrome input region is updated after slide animation 2021-09-01 18:37:56 +02:00
layout.js layout: Exclude hidden actors from struts 2021-09-01 17:15:40 +00:00
lightbox.js Always assume GLSL is supported 2021-09-21 16:37:01 +02:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js lookingGlass: Use symbolic icons on the toolbar 2021-06-14 18:51:30 +00:00
magnifier.js magnifier: Avoid painting a desktop that's fully occluded by its clone 2021-08-18 14:12:34 +00:00
main.js main: Stop handling old 'panel-main-menu' shortcut 2021-08-31 19:01:25 +00:00
messageList.js messageList: Drop sync_pointer() after relayouts 2021-02-14 13:57:56 +00:00
messageTray.js messageTray: Do not show low priority notifications 2021-08-22 19:20:37 +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 sound-file support 2021-10-06 17:39:01 +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: Emit 'hidden' after it's *really* hidden 2021-08-19 15:44:34 +08:00
overviewControls.js ControlsManagerLayout: Allocate respecting the work area 2021-07-17 00:25:50 +02:00
padOsd.js cleanup: Replace non-standard ByteArray module 2021-09-01 14:49:30 +00:00
pageIndicators.js pageIndicators: Remove animated indicators 2021-02-03 09:55:29 +01:00
panel.js panel: Show warning indicator when unsafe-mode is on 2021-09-03 21:34:58 +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 js: Get idle monitor from backend 2021-05-18 13:42:52 +00:00
popupMenu.js popupMenu: Remove can_focus=True from Switch 2021-07-20 14:11:28 +02: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 js: Replace removed Meta.quit() 2021-07-18 23:11:43 +02:00
screenShield.js screenShield: Asyncify _syncInhibitor() 2021-08-16 02:44:36 +02:00
screenshot.js screenshot: Unrestrict PickColor 2021-10-06 17:34:18 +00:00
scripting.js scripting: Switch to standard async/await pattern 2020-08-12 15:43:38 +00:00
search.js search: Exclude hidden results from keynav 2021-07-15 19:15:36 +02:00
searchController.js searchController: Get rid of activePage reference in key handling 2021-02-17 02:31:32 +01:00
sessionMode.js cleanup: Replace non-standard ByteArray module 2021-09-01 14:49:30 +00:00
shellDBus.js shellDBus: Restrict callers 2021-09-03 21:34:58 +00:00
shellEntry.js shellEntry: Don't show "Show Password" menu if entry icon is disabled 2021-07-30 14:17:07 +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: Use unaccelerated deltas 2021-07-16 19:37:20 +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 unlockDialog: Properly reset auth prompt when showing it 2021-10-08 11:56:23 -04:00
userWidget.js theme: Don't draw border around symbolic user-icon 2020-12-17 21:46:41 +01:00
welcomeDialog.js welcomeDialog: Fix title translation 2021-10-05 15:05:18 +02:00
windowAttentionHandler.js messageTray: Don't create notification policy on demand 2020-03-26 18:52:10 +00:00
windowManager.js windowManager: Use MetaWindowActor.paint_to_content() for window effects 2021-09-04 10:08:10 +00:00
windowMenu.js windowMenu: Use consistent terminology 2021-08-18 00:43:12 +02:00
windowPreview.js windowPreview: Make St.Label use single line mode 2021-04-28 14:29:19 +02:00
workspace.js workspace: Move fading minimized windows out of allocation 2021-09-01 15:02:47 +00:00
workspaceAnimation.js Revert "workspaceAnimation: Allow long swipes in session" 2021-07-30 13:46:35 +00:00
workspacesView.js workspacesView: Handle null return value 2021-08-13 15:16:54 +02:00
workspaceSwitcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
workspaceThumbnail.js workspaceThumbnail: Destroy thumbnails on destruction 2021-05-25 12:43:32 -03:00
xdndHandler.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00