docs » hs.drawing.color
Additions to hs.drawing which provide access to the system color lists and a wider variety of ways to represent color within Hammerspoon.
Color is represented within Hammerspoon as a table containing keys which tell Hammerspoon how the color is specified. You can specify a color in one of the following ways, depending upon the keys you supply within the table:
-
As a combination of Red, Green, and Blue elements (RGB Color):
- red - the red component of the color specified as a number from 0.0 to 1.0.
- green - the green component of the color specified as a number from 0.0 to 1.0.
- blue - the blue component of the color specified as a number from 0.0 to 1.0.
- alpha - the color transparency from 0.0 (completely transparent) to 1.0 (completely opaque)
-
As a combination of Hue, Saturation, and Brightness (HSB or HSV Color):
- hue - the hue component of the color specified as a number from 0.0 to 1.0.
- saturation - the saturation component of the color specified as a number from 0.0 to 1.0.
- brightness - the brightness component of the color specified as a number from 0.0 to 1.0.
- alpha - the color transparency from 0.0 (completely transparent) to 1.0 (completely opaque)
-
As grayscale (Grayscale Color):
- white - the ratio of white to black from 0.0 (completely black) to 1.0 (completely white)
- alpha - the color transparency from 0.0 (completely transparent) to 1.0 (completely opaque)
-
From the system or Hammerspoon color lists:
- list - the name of a system color list or a collection list defined in
hs.drawing.color
- name - the color name within the specified color list
- list - the name of a system color list or a collection list defined in
-
As an HTML style hex color specification:
- hex - a string of the format "#rrggbb" or "#rgb" where
r
,g
, andb
are hexadecimal digits (i.e. 0-9, A-F) - alpha - the color transparency from 0.0 (completely transparent) to 1.0 (completely opaque)
- hex - a string of the format "#rrggbb" or "#rgb" where
-
From an image to be used as a tiled pattern:
- image - an
hs.image
object representing the image to be used as a tiled pattern
- image - an
Any combination of the above keys may be specified within the color table and they will be evaluated in the following order:
- if the
image
key is specified, it will be used to create a tiling pattern. - If the
list
andname
keys are specified, and if they can be matched to an existing color within the system color lists, that color is used. - If the
hue
key is provided, then the color is generated as an HSB color - If the
white
key is provided, then the color is generated as a Grayscale color - Otherwise, an RGB color is generated.
Except where specified above to indicate the color model being used, any key which is not provided defaults to a value of 0.0, except for alpha
, which defaults to 1.0. This means that specifying an empty table as the color will result in an opaque black color.
- Constants - Useful values which cannot be changed
- definedCollections
- Variables - Configurable values
- ansiTerminalColors
- hammerspoon
- x11
- Functions - API calls offered directly by the extension
- asHSB
- asRGB
- colorsFor
- lists
Signature | hs.drawing.color.definedCollections |
---|---|
Type | Constant |
Description | This table contains this list of defined color collections provided by the hs.drawing.color module. Collections differ from the system color lists in that you can modify the color values their members contain by modifying the table at hs.drawing.color.<collection>.<color> and future references to that color will reflect the new changes, thus allowing you to customize the palettes for your installation. |
Notes |
|
Signature | hs.drawing.color.ansiTerminalColors |
---|---|
Type | Variable |
Description | A collection of colors representing the ANSI Terminal color sequences. The color definitions are based upon code found at https://github.com/balthamos/geektool-3 in the /NerdTool/classes/ANSIEscapeHelper.m file. |
Notes |
|
Signature | hs.drawing.color.hammerspoon |
---|---|
Type | Variable |
Description | This table contains a collection of various useful pre-defined colors: |
Notes |
|
Signature | hs.drawing.color.x11 |
---|---|
Type | Variable |
Description | A collection of colors representing the X11 color names as defined at https://en.wikipedia.org/wiki/Web_colors#X11_color_names (names in lowercase) |
Notes |
|
| Signature | hs.drawing.color.asHSB(color) -> table | string
|
| -----------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| Type | Function |
| Description | Returns a table containing the HSB representation of the specified color. |
| Parameters |
- color - a table specifying a color as described in the module definition (see
hs.drawing.color
in the online help or Dash documentation)
- a table containing the hue, saturation, brightness, and alpha keys representing the specified color as HSB or a string describing the color's colorspace if conversion is not possible.
- See also
hs.drawing.color.asRGB
| Signature | hs.drawing.color.asRGB(color) -> table | string
|
| -----------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| Type | Function |
| Description | Returns a table containing the RGB representation of the specified color. |
| Parameters |
- color - a table specifying a color as described in the module definition (see
hs.drawing.color
in the online help or Dash documentation)
- a table containing the red, blue, green, and alpha keys representing the specified color as RGB or a string describing the color's colorspace if conversion is not possible.
- See also
hs.drawing.color.asHSB
Signature | hs.drawing.color.colorsFor(list) -> table |
---|---|
Type | Function |
Description | Returns a table containing the colors for the specified system color list or hs.drawing.color collection. |
Parameters |
|
Returns |
|
Notes |
|
Signature | hs.drawing.color.lists() -> table |
---|---|
Type | Function |
Description | Returns a table containing the system color lists and hs.drawing.color collections with their defined colors. |
Parameters |
|
Returns |
|
Notes |
|