API Docs

Module for interacting with windows

Types

This module provides the following types:

Properties

hs.window.allWindowsIgnore

string[]
A list of bundle identifiers to ignore when fetching a list of all windows

Methods

hs.window.focusedWindow() -> HSWindow

Get the currently focused window
hs.window.focusedWindow() -> HSWindow
HSWindow
The focused window, or nil if none
const win = hs.window.focusedWindow()
console.log(win && win.title)

hs.window.allWindows() -> HSWindow[]

Get all windows from all applications
hs.window.allWindows() -> HSWindow[]
HSWindow[]
An array of all windows
const wins = hs.window.allWindows()
console.log(wins.length)

hs.window.visibleWindows() -> HSWindow[]

Get all visible (not minimized) windows
hs.window.visibleWindows() -> HSWindow[]
HSWindow[]
An array of visible windows
const vis = hs.window.visibleWindows()

hs.window.windowsForApp(app) -> HSWindow[]

Get windows for a specific application
hs.window.windowsForApp(app) -> HSWindow[]
Name Type Description
app HSApplication An HSApplication object
HSWindow[]
An array of windows for that application
const app = hs.application.frontmost()
const wins = hs.window.windowsForApp(app)

hs.window.windowsOnScreen(screenIndex) -> HSWindow[]

Get all windows on a specific screen
hs.window.windowsOnScreen(screenIndex) -> HSWindow[]
Name Type Description
screenIndex number The screen index (0 for main screen)
HSWindow[]
An array of windows on that screen
const wins = hs.window.windowsOnScreen(0)

hs.window.windowAtPoint(point) -> HSWindow

Get the window at a specific screen position
hs.window.windowAtPoint(point) -> HSWindow
Name Type Description
point HSPoint An HSPoint containing the coordinates
HSWindow
The topmost window at that position, or nil if none
const win = hs.window.windowAtPoint({x: 500, y: 300})

hs.window.orderedWindows() -> HSWindow[]

Get ordered windows (front to back)
hs.window.orderedWindows() -> HSWindow[]
HSWindow[]
An array of windows in z-order
const wins = hs.window.orderedWindows()

hs.window.snapshotForID(id, keepTransparency) -> Promise<HSImage>

Capture the current on-screen contents of the window with the given ID. Requires **Screen Recording** permission.
hs.window.snapshotForID(id, keepTransparency) -> Promise<HSImage>
Name Type Description
id number The window's underlying ID (see the `id` property on `hs.window` objects).
keepTransparency boolean Whether to preserve the window's alpha channel. If `false` (the default), transparent regions are filled with an opaque black background.
Promise<HSImage>
Resolves with the captured image, or rejects if no window with that ID can be found, or the capture fails.
hs.window.snapshotForID(12345).then(img => img.saveToFile("/tmp/window.png"))

hs.window.findByTitle(title) -> HSWindow[]

Find windows by title Parameter title: The window title to search for. All windows with titles that include this string, will be matched
hs.window.findByTitle(title) -> HSWindow[]
Name Type Description
title any The window title to search for. All windows with titles that include this string, will be matched
HSWindow[]
An array of HSWindow objects with matching titles

hs.window.currentWindows() -> HSWindow[]

Get all windows for the current application
hs.window.currentWindows() -> HSWindow[]
HSWindow[]
An array of HSWindow objects

hs.window.moveToLeftHalf(win) -> boolean

Move a window to left half of screen Parameter win: An HSWindow object
hs.window.moveToLeftHalf(win) -> boolean
Name Type Description
win any An HSWindow object
boolean
True if the operation was successful, otherwise False

hs.window.moveToRightHalf(win) -> boolean

Move a window to right half of screen Parameter win: An HSWindow object
hs.window.moveToRightHalf(win) -> boolean
Name Type Description
win any An HSWindow object
boolean
True if the operation was successful, otherwise False

hs.window.maximize(win) -> boolean

Maximize a window Parameter win: An HSWindow object
hs.window.maximize(win) -> boolean
Name Type Description
win any An HSWindow object
boolean
True if the operation was successful, otherwise false