Chromium OS‎ > ‎Design Documents‎ > ‎

system notifications


ChromeOS has several types of system status and some of them should be notified to the user. This document summarizes which types of notifications are currently used and what kind of UI flow is necessary here.
The notifications are usually generated through the internal C++ API for the desktop notifications, which will appear as the rich notification as well.

Blocking and system notifications

Sometimes normal notifications should be blocked due to the current system status. For example, all notifications should be queued during the lock screen, and they should appear when unlocked. It also should be blocked when fullscreen state; notifications should be annoying when the user watches YouTube videos, or has a presentation (note: the notifications should appear in immersive fullscreen mode instead, because the shelf / message center UI is visible in such case).
However, the system status could be so important that they should appear in such cases. This does not mean all system notifications should appear; some could be misleading. For example, the notification for taking screenshot would behave as same as the normal notifications, so it should not appear in the lock screen. In addition, screenshot notification has the message to 'click to view' but click should not work in lock screen. On the other hand, connecting display would be okay to be notified even in the lock screen, it just notifies the new system status.

See also the notification blocking code update design doc.

List of the system notifications

message center?ComponentSourceMessageShow Always? ("System")TimeoutSecure? (Show on Lock Screen)Customize?
(can be disabled)
Click ActionButtonTriggers
YesdisplayDisplayErrorObserverCould not mirror displays...NoYesYesNoNonedisplay connection
YesdisplayDisplayErrorObserverThat monitor is not supportedNoYesYesNoNonedisplay connection
YesdisplayResolutionNotificationController..resolution was changed to...YesBothNoNoAccept / Revert changeAccept / Revert changesettings change from chrome://settings/display
YesdisplayScreenCaptureTrayItem... is sharing your screenYesNoNoNoneStop Captureapps
YesdisplayScreenShareTrayItemSharing control of your screen...YesNoNoNoneStop Shareapps
YesdisplayScreenshotTakerScreenshot takenNoYesNoYesShow FIles Appkeyboard shortcut
YesdisplayTrayDisplayMirroring to...NoYesYesNoShow Display Settingssettings change from chrome://settings/display, and keyboard shortcut
YesdisplayTrayDisplayExtending screen to...NoYesYesNoShow Display Settingssettings change from chrome://settings/display, and keyboard shortcut
YesdisplayTrayDisplayDocked modeNoYesYesNoShow Display Settingsclose lid
YeslanguageLocaleNotificationControllerThe language has changed from...NoNoNoNoAccept changeRevert changelogin
NolanguageTrayAccessabilitySpoken feedback is enabled.*YesNoNonekeyboard shortcut
NolanguageTrayCapsLockCAPS LOCK is on*
YesNoNonekeyboard shortcut
YeslanguageTrayIMEYour input method has changed...NoYesNoNoShow IME detailed viewkeyboard shortcut
YesnetworkDataPromoNotificationGoogle Chrome will use mobile data...YesNo?NoPromo URL or settings
Yesnetworknetwork_connectActivation of... requires a network connectionYesNo?NoShow Settings
YesnetworkNetworkStateNotifier...Your .. service has been activatedYesNo?NoShow Settings
YesnetworkNetworkStateNotifierYou may have used up your mobile data...YesNo?NoConfigure Network
YesnetworkNetworkStateNotifierFailed to connect to network...YesNo?NoShow Settings
NonetworkTraySmsSMS from ...*NoNoShow SMS detailed view
NopowerTrayPowerBattery full OR %<X> remaining*No / NeverYesNoNonelow battery
YespowerTrayPowerYour Chromebook may not charge...NoYesYesNoNoneusb charger connected
YesuserTrayLocallyManagedUserThis user is supervised by...YesNoNoNoNonelogin
YesuserTraySessionLengthLimitThis session will end in...YesNoNoNoNonetimeout set by policy / sync / remaining time change
NouserTrayUserYou can only have up to three accounts in multiple sign-in**YesNoNone