README
@arcsine/active-win
Forked from active-win, by Sindre Sorhus
Get metadata about the active window (title, id, bounds, owner, etc)
Works on macOS, Windows and X11-based Desktops (Linux, BSD). Wayland support is missing.
Install
$ npm install active-win
Usage
const activeWin = require('active-win');
(async () => {
console.log(await activeWin());
/*
{
title: 'Unicorns - Google Search',
id: 5762,
bounds: {
x: 0,
y: 0,
height: 900,
width: 1440
},
screens: [{
x: 0,
y: 0,
height: 920,
width: 1440,
index: 0
}],
owner: {
name: 'Google Chrome',
processId: 310,
bundleId: 'com.google.Chrome',
path: '/Applications/Google Chrome.app'
},
memoryUsage: 11015432
}
*/
})();
import * as activeWin from 'active-win';
...
console.log(await activeWin());
...
...
console.log(activeWin.sync());
...
API
activeWin()
Returns a Promise<Object> with the result.
activeWin.sync()
Returns an Object with the result.
Result
title(string) - Window titleid(number) - Window identifierbounds(Object) - Window position and sizex(number)y(number)width(number)height(number)
screens(Array) - Screens that overlap with the windowx(number)y(number)width(number)height(number)index(number) - Display index
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 (macOS and Windows only)
memoryUsage(number) - Memory usage by the window (macOS only)
OS support
It works on macOS, Windows 7+, and X11-based desktops (Linux, BSD).
Note: On Windows, there isn't a clear notion of a "Window ID". Instead it returns the memory address of the window "handle" in the id property. That "handle" is unique per window, so it can be used to identify them. Read more….
Maintainers
License
MIT