Skip to content

Latest commit

 

History

History
94 lines (77 loc) · 8.32 KB

hs.window.switcher.md

File metadata and controls

94 lines (77 loc) · 8.32 KB

docs » 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
  • 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

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

Functions

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
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

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

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
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