mac-windows
Version:
Provide information about Application Windows running and activate and Application.
105 lines (76 loc) • 2.87 kB
Markdown
# 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](https://support.apple.com/kb/DL1998).
## Instalation
To install mac-windows in your project add it using NPM
```javascript
npm install --save mac-windows
```
After that you can import the various functions as follows:
```js
import { getWindows, activateWindow } from 'mac-windows';
```
or
```js
const getWindows = require('mac-windows').getWindows
```
## Usage
### `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
```js
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.
```js
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](https://github.com/wk-j/mac-active-window)
This package was created for [Kap](https://github.com/wulkano/kap)
## License
MIT Licensed. Copyright (c) George Karagkiaouris 2017.