docs » hs.alert

Simple on-screen alerts

API Overview

API Documentation

Variables

defaultStyle
Signature hs.alert.defaultStyle[]
Type Variable
Description

A table defining the default visual style for the alerts generated by this module.

Source extensions/alert/alert.lua line 17

Functions

closeAll
Signature hs.alert.closeAll([seconds])
Type Function
Description

Closes all alerts currently open on the screen

Parameters
  • seconds - Optional number specifying the fade out duration. Defaults to fadeOutDuration value currently defined in the hs.alert.defaultStyle
Returns
  • None
Source extensions/alert/alert.lua line 284
closeSpecific
Signature hs.alert.closeSpecific(uuid, [seconds])
Type Function
Description

Closes the alert with the specified identifier

Parameters
  • uuid - the identifier of the alert to close
  • seconds - Optional number specifying the fade out duration. Defaults to fadeOutDuration value currently defined in the hs.alert.defaultStyle
Returns
  • None
Notes
  • Use this function to close an alert which is indefinite or close an alert with a long duration early.
Source extensions/alert/alert.lua line 300
show
Signature hs.alert.show(str, [style], [screen], [seconds]) -> uuid
Type Function
Description

Shows a message in large words briefly in the middle of the screen; does tostring() on its argument for convenience.

Parameters
  • str - The string or hs.styledtext object to display in the alert
  • style - an optional table containing one or more of the keys specified in hs.alert.defaultStyle. If str is already an hs.styledtext object, this argument is ignored.
  • screen - an optional hs.screen userdata object specifying the screen (monitor) to display the alert on. Defaults to hs.screen.mainScreen() which corresponds to the screen with the currently focused window.
  • seconds - The number of seconds to display the alert. Defaults to 2. If seconds is specified and is not a number, displays the alert indefinitely.
Returns
  • a string identifier for the alert.
Notes
  • For convenience, you can call this function as hs.alert(...)
  • This function effectively calls hs.alert.showWithImage(msg, nil, ...). As such, all the same rules apply regarding argument processing
Source extensions/alert/alert.lua line 263
showWithImage
Signature hs.alert.showWithImage(str, image, [style], [screen], [seconds]) -> uuid
Type Function
Description

Shows an image and a message in large words briefly in the middle of the screen; does tostring() on its argument for convenience.

Parameters
  • str - The string or hs.styledtext object to display in the alert
  • image - The image to display in the alert
  • style - an optional table containing one or more of the keys specified in hs.alert.defaultStyle. If str is already an hs.styledtext object, this argument is ignored.
  • screen - an optional hs.screen userdata object specifying the screen (monitor) to display the alert on. Defaults to hs.screen.mainScreen() which corresponds to the screen with the currently focused window.
  • seconds - The number of seconds to display the alert. Defaults to 2. If seconds is specified and is not a number, displays the alert indefinitely.
Returns
  • a string identifier for the alert.
Notes
  • The optional parameters are parsed in the order presented as follows:
    • if the argument is a table and style has not previously been set, then the table is assigned to style
    • if the argument is a userdata and screen has not previously been set, then the userdata is assigned to screen
    • if duration has not been set, then it is assigned the value of the argument
    • if all of these conditions fail for a given argument, then an error is returned
  • The reason for this logic is to support the creation of persistent alerts as was previously handled by the module: If you specify a non-number value for seconds you will need to store the string identifier returned by this function so that you can close it manually with hs.alert.closeSpecific when the alert should be removed.
  • Any style element which is not specified in the style argument table will use the value currently defined in the hs.alert.defaultStyle table.
Source extensions/alert/alert.lua line 220