Internationalisation
Bundled Plugins API
switcher
​
Window-based cmd-tab replacement
Usage:
1
-- set up your windowfilter
2
switcher = hs.window.switcher.new() -- default windowfilter: only visible windows, all Spaces
3
switcher_space = hs.window.switcher.new(hs.window.filter.new():setCurrentSpace(true):setDefaultFilter{}) -- include minimized/hidden windows, current Space only
4
switcher_browsers = hs.window.switcher.new{'Safari','Google Chrome'} -- specialized switcher for your dozens of browser windows :)
5
​
6
-- bind to hotkeys; WARNING: at least one modifier key is required!
7
hs.hotkey.bind('alt','tab','Next window',function()switcher:next()end)
8
hs.hotkey.bind('alt-shift','tab','Prev window',function()switcher:previous()end)
9
​
10
-- alternatively, call .nextWindow() or .previousWindow() directly (same as hs.window.switcher.new():next())
11
hs.hotkey.bind('alt','tab','Next window',hs.window.switcher.nextWindow)
12
-- you can also bind to `repeatFn` for faster traversing
13
hs.hotkey.bind('alt-shift','tab','Prev window',hs.window.switcher.previousWindow,nil,hs.window.switcher.previousWindow)
Copied!

API Overview

  • Variables - Configurable values
  • ​ui​
  • Functions - API calls offered directly by the extension
  • ​nextWindow​
  • ​previousWindow​
  • Constructors - API calls which return an object, typically one that offers API methods
  • ​new​
  • Methods - API calls which can only be made on an object returned by a constructor
  • ​next​
  • ​previous​

API Documentation

Variables

​ui​

Signature
hs.window.switcher.ui
Type
Variable
Description
Allows customization of the switcher behaviour and user interface

Functions

​nextWindow​

Signature
hs.window.switcher.nextWindow()
Type
Function
Description
Shows the switcher (if not yet visible) and selects the next window
Parameters
  • None
Returns
  • None
Notes
  • the switcher will be dismissed (and the selected window focused) when all modifier keys are released

​previousWindow​

Signature
hs.window.switcher.previousWindow()
Type
Function
Description
Shows the switcher (if not yet visible) and selects the previous window
Parameters
  • None
Returns
  • None
Notes
  • the switcher will be dismissed (and the selected window focused) when all modifier keys are released

Constructors

​new​

Signature
hs.window.switcher.new([windowfilter[, uiPrefs][, logname, [loglevel]]]) -> hs.window.switcher object
Type
Constructor
Description
Creates a new switcher instance; it can use a windowfilter to determine which windows to show
Parameters
  • windowfilter - (optional) if omitted or nil, use the default windowfilter; otherwise it must be a windowfilter instance or constructor table
  • uiPrefs - (optional) a table to override UI preferences for this instance; its keys and values must follow the conventions described in hs.window.switcher.ui; this parameter allows you to have multiple switcher instances with different behaviour (for example, with and without thumbnails and/or titles) using different hotkeys
  • logname - (optional) name of the hs.logger instance for the new switcher; if omitted, the class logger will be used
  • loglevel - (optional) log level for the hs.logger instance for the new switcher
Returns
  • the new instance

Methods

​next​

Signature
hs.window.switcher:next()
Type
Method
Description
Shows the switcher instance (if not yet visible) and selects the next window
Parameters
  • None
Returns
  • None
Notes
  • the switcher will be dismissed (and the selected window focused) when all modifier keys are released

​previous​

Signature
hs.window.switcher:previous()
Type
Method
Description
Shows the switcher instance (if not yet visible) and selects the previous window
Parameters
  • None
Returns
  • None
Notes
  • the switcher will be dismissed (and the selected window focused) when all modifier keys are released