Package Exports
- @johnlindquist/mac-windows
- @johnlindquist/mac-windows/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@johnlindquist/mac-windows) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
mac-windows
Provide information about Application Windows running and activate and Application.
Important: This package does not work on Windows or Linux
Requires macOS 10.12 or later. macOS 10.13 or earlier needs to download the Swift runtime support libraries.
Instalation
To install mac-windows in your project add it using NPM
npm install --save mac-windowsAfter that you can import the various functions as follows:
import { getWindows, activateWindow } from 'mac-windows';or
const getWindows = require('mac-windows').getWindowsUsage
getWindows(opts: Object): Array
Returns a Promise with an array containing an object for each Application currently in the screen. Information included for each Application:
- pid: Process Id of the Application
- ownerName: Name of the Application (e.g. Google Chrome)
- name: Title of the main window of the application (e.g. Github)
- width: Current width of the main window
- height: Current height of the main window
- x: Horizontal position of the main window
- y: Vertical position of the main window
- number: The number of the window
import { getWindows } from 'mac-windows';
getWindows().then(windows => {
console.log(windows);
});
/*
[
{
pid: 320,
ownerName: 'Finder',
name: 'Desktop',
width: 770,
height: 436,
x: 295,
y: 100,
number: 1027
}, {
pid: 11734,
ownerName: 'Google Chrome',
name: 'karaggeorge/mac-windows',
width: 1276,
height: 778,
x: 0,
y: 23,
number: 63226
}
]
*/Extra options that can be passed in to getWindows:
| Name | Description | Type | Default Value |
|---|---|---|---|
| showAllWindows | Return all the windows for each Application instead of just the main one | bool |
false |
| onScreenOnly | Return the windows from all the Applications even if they are not in the current screen | bool |
true |
NOTE: Swift and the AppKit Package don't support activating a specific window at the moment. When activating an Application the main window will be brought to the front. That is the last window that was used.
activateWindow(windowName: String)
Activate the Application whose ownerName matches the given windowName.
Activating an Application will cause the Application's main window to come to the front of the screen.
import { activateWindow } from 'mac-windows';
activateWindow('Finder');Contributing
Please feel free to submit a Pull Request, report a Bug or propose a Feature!
Thanks to the projects this was inspired by: Active Window
This package was created for Kap
License
MIT Licensed. Copyright (c) George Karagkiaouris 2017.