the Chromium logo

The Chromium Projects

system notifications

Summary

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? Component Source Message Show Always? ("System") Timeout Secure? (Show on Lock Screen) Customize? (can be disabled) Click Action Button Triggers
Yes display DisplayErrorObserver Could not mirror displays... No Yes Yes No None display connection
Yes display DisplayErrorObserver That monitor is not supported No Yes Yes No None display connection
Yes display ResolutionNotificationController ..resolution was changed to... Yes Both No No Accept / Revert change Accept / Revert change settings change from chrome://settings/display
Yes display ScreenCaptureTrayItem ... is sharing your screen Yes No No None Stop Capture apps
Yes display ScreenShareTrayItem Sharing control of your screen... Yes No No None Stop Share apps
Yes display ScreenshotTaker Screenshot taken No Yes No Yes Show FIles App keyboard shortcut
Yes display TrayDisplay Mirroring to... No Yes Yes No Show Display Settings settings change from chrome://settings/display, and keyboard shortcut
Yes display TrayDisplay Extending screen to... No Yes Yes No Show Display Settings settings change from chrome://settings/display, and keyboard shortcut
Yes display TrayDisplay Docked mode No Yes Yes No Show Display Settings close lid
Yes language LocaleNotificationController The language has changed from... No No No No Accept change Revert change login
No language TrayAccessability Spoken feedback is enabled. \* Yes No None keyboard shortcut
No language TrayCapsLock CAPS LOCK is on \* Yes No None keyboard shortcut
Yes language TrayIME Your input method has changed... No Yes No No Show IME detailed view keyboard shortcut
Yes network DataPromoNotification Google Chrome will use mobile data... Yes No ? No Promo URL or settings
Yes network network_connect Activation of... requires a network connection Yes No ? No Show Settings
Yes network NetworkStateNotifier ...Your .. service has been activated Yes No ? No Show Settings
Yes network NetworkStateNotifier You may have used up your mobile data... Yes No ? No Configure Network
Yes network NetworkStateNotifier Failed to connect to network... Yes No ? No Show Settings
No network TraySms SMS from ... \* No No Show SMS detailed view
No power TrayPower Battery full OR %<X> remaining \* No / Never Yes No None low battery
Yes power TrayPower Your Chromebook may not charge... No Yes Yes No None usb charger connected
Yes user TrayLocallyManagedUser This user is supervised by... Yes No No No None login
Yes user TraySessionLengthLimit This session will end in... Yes No No No None timeout set by policy / sync / remaining time change
No user TrayUser You can only have up to three accounts in multiple sign-in \* \* Yes No None