Get metadata about all windows (title, id, bounds, owner, URL, etc)
Works on macOS.
Users on macOS 10.13 or earlier needs to download the Swift runtime support libraries.
$ npm install all-windows
const allWindows = require('all-windows');
(async () => {
console.log(await allWindows());
/*
[
{
title: 'Unicorns - Google Search',
id: 5762,
bounds: {
x: 0,
y: 0,
height: 900,
width: 1440
},
owner: {
name: 'Google Chrome',
processId: 310,
bundleId: 'com.google.Chrome',
path: '/Applications/Google Chrome.app'
},
url: 'https://www.google.com/search?q=unicorn',
memoryUsage: 11015432
}
]
*/
})();
Returns a Promise<Object>
with the result, or Promise<undefined>
if there are no windows or if the information is not available.
Returns an Object
with the result, or undefined
if there are no windows.
An array of the following object structure:
platform
(string) -'macos'
title
(string) - Window titleid
(number) - Window identifierbounds
(Object) - Window position and sizex
(number)y
(number)width
(number)height
(number)
owner
(Object) - App that owns the windowname
(string) - Name of the appprocessId
(number) - Process identifierbundleId
(string) - Bundle identifier (macOS only)path
(string) - Path to the app
url
(string?) - URL of the active browser tab if the window is Safari, Chrome, Edge, or Brave (macOS only)memoryUsage
(number) - Memory usage by the window owner process
It works on macOS.