The system.display permission allows an extension to query for metadata about the system's display units.
What it does
- Grants access to the
chrome.system.displayAPI. - Allows an extension to get information about each connected display, including:
- Its resolution (width and height).
- Its position in a multi-monitor setup (top, left coordinates).
- Whether it's the primary display.
- DPI (Dots Per Inch).
- Orientation and rotation.
- It can also listen for changes, such as when a new display is connected or the resolution changes.
When to use it
This is useful for extensions that manage windows or need to adapt their UI based on the user's screen setup.
Examples:
- A window management extension that can snap windows to specific displays.
- A presentation tool that needs to know the resolution of the external monitor.
- A screenshot tool that allows the user to capture a specific screen.
Manifest Declaration
{
"name": "My Display Info Extension",
"version": "1.0",
"manifest_version": 3,
"permissions": [
"system.display"
]
}Security & Privacy
Why is it not very risky?
This permission lets an extension see information about your monitor(s), like their size and resolution.
This is a low-risk permission. It does not allow the extension to see what is on your screen, only the technical details about the screen itself. The main minor risk is that this information can be used by websites to help identify your specific computer (a technique called "fingerprinting"), but for most users, this is not a significant concern.
API Usage Example
This example gets information about all connected displays and logs it.
// background.js or popup.js
async function getDisplayInfo() {
if (!chrome.system.display) {
console.log('System Display API not available.');
return;
}
try {
const displays = await chrome.system.display.getInfo();
if (displays.length > 0) {
console.log(`Found ${displays.length} display(s):`);
displays.forEach((display, i) => {
console.log(` Display ${i+1}:`);
console.log(` Resolution: ${display.bounds.width}x${display.bounds.height}`);
console.log(` Is Primary: ${display.isPrimary}`);
});
} else {
console.log('No displays found.');
}
} catch (error) {
console.error('Error getting display info:', error);
}
}
// Listen for when the display configuration changes
chrome.system.display.onDisplayChanged.addListener(() => {
console.log('Display configuration changed. Refetching info...');
getDisplayInfo();
});
getDisplayInfo();Extensions with the system.display permission
Here are some popular browser extensions that use the "system.display" permission. To explore more, try our Advanced search.
Chrome extensions with "system.display" permission
Edge add-ons with "system.display" permission
Firefox add-ons with "system.display" permission
References
Related Permissions
- This is a standalone permission.