#hs.window.switcher

Window-based cmd-tab replacement

Usage:

-- set up your windowfilter switcher = hs.window.switcher.new() -- default windowfilter: only visible windows, all Spaces switcher_space = hs.window.switcher.new(hs.window.filter.new():setCurrentSpace(true):setDefaultFilter{}) -- include minimized/hidden windows, current Space only switcher_browsers = hs.window.switcher.new{'Safari','Google Chrome'} -- specialized switcher for your dozens of browser windows :) -- bind to hotkeys; WARNING: at least one modifier key is required! hs.hotkey.bind('alt','tab','Next window',function()switcher:next()end) hs.hotkey.bind('alt-shift','tab','Prev window',function()switcher:previous()end) -- alternatively, call .nextWindow() or .previousWindow() directly (same as hs.window.switcher.new():next()) hs.hotkey.bind('alt','tab','Next window',hs.window.switcher.nextWindow) -- you can also bind to `repeatFn` for faster traversing hs.hotkey.bind('alt-shift','tab','Prev window',hs.window.switcher.previousWindow,nil,hs.window.switcher.previousWindow)

#API Overview

Variables - Configurable values

Functions - API calls offered directly by the extension

Constructors - API calls which return an object, typically one that offers API methods

Methods - API calls which can only be made on an object returned by a constructor


#API Documentation

#Variables

Signaturehs.window.switcher.ui
TypeVariable
DescriptionAllows customization of the switcher behaviour and user interface
NotesNone
Sourceextensions/window/window_switcher.lua line 53

#Functions

Signaturehs.window.switcher.nextWindow()
TypeFunction
DescriptionShows 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
ExamplesNone
Sourceextensions/window/window_switcher.lua line 318

Signaturehs.window.switcher.previousWindow()
TypeFunction
DescriptionShows 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
ExamplesNone
Sourceextensions/window/window_switcher.lua line 331

#Constructors

Signaturehs.window.switcher.new([windowfilter[, uiPrefs][, logname, [loglevel]]]) -> hs.window.switcher object
TypeConstructor
DescriptionCreates 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
NotesNone
ExamplesNone
Sourceextensions/window/window_switcher.lua line 393

#Methods

Signaturehs.window.switcher:next()
TypeMethod
DescriptionShows 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
ExamplesNone
Sourceextensions/window/window_switcher.lua line 285

Signaturehs.window.switcher:previous()
TypeMethod
DescriptionShows 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
ExamplesNone
Sourceextensions/window/window_switcher.lua line 298