node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »

active-win

active-win Build Status

Get metadata about the active window (title, id, bounds, owner, etc)

Works on macOS, Linux, Windows.

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
        },
        owner: {
            name: 'Google Chrome',
            processId: 310,
            bundleId: 'com.google.Chrome',
            path: '/Applications/Google Chrome.app'
        },
        memoryUsage: 11015432
    }
    */
})();

API

activeWin()

Returns a Promise<Object> with the result.

activeWin.sync()

Returns an Object with the result.

Result

  • title (string) - Window title
  • id (number) - Window identifier
  • bounds (Object) - Window position and size (macOS only)
    • x (number)
    • y (number)
    • width (number)
    • height (number)
  • owner (Object) - App that owns the window
    • name (string) - Name of the app
    • processId (number) - Process identifier
    • bundleId (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, Linux, and Windows 7+.

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….

Related

Maintainers

License

MIT