# Module `client`

awesome client API

### Info:

- Copyright: 2008-2009 Julien Danjou
- Author: Julien Danjou <julien@danjou.info>

## Functions

get (screen) | Get all clients into a table.
isvisible () | Check if a client is visible on its screen.
geometry (arg1) | Return client geometry.
struts (struts) | Return client struts (reserved space at the edge of the screen).
buttons (buttons_table) | Get or set mouse buttons bindings for a client.
keys (keys_table) | Get or set keys bindings for a client.
tags (tags_table) | Access or set the client tags.
kill () | Kill a client.
swap (c) | Swap a client with another one in global client list.
raise () | Raise a client on top of others which are on the same layer.
lower () | Lower a client on bottom of others which are on the same layer.
unmanage () | Stop managing a client.
set_xproperty (name, value) | Change a xproperty.
get_xproperty (name) | Get the value of a xproperty.
connect_signal (name, func) | Add a signal.
disconnect_signal (name, func) | Remove a signal.
emit_signal (name, ...) | Emit a signal.
instances () | Get the number of instances.

## Tables

client | Client object.

## Functions

get (screen)
  Get all clients into a table.

  ### Parameters:

  - screen An optional screen number.

  ### Returns:

  A table with all clients.
isvisible ()
  Check if a client is visible on its screen.

  ### Returns:

  A boolean value, true if the client is visible, false otherwise.
geometry (arg1)
  Return client geometry.

  ### Parameters:

  - arg1 A table with new coordinates, or none.

  ### Returns:

  A table with client coordinates.
struts (struts)
  Return client struts (reserved space at the edge of the screen).

  ### Parameters:

  - struts A table with new strut values, or none.

  ### Returns:

  A table with strut values.
buttons (buttons_table)
  Get or set mouse buttons bindings for a client.

  ### Parameters:

  - buttons_table An array of mouse button bindings objects, or nothing.

  ### Returns:

  A table with all buttons.
keys (keys_table)
  Get or set keys bindings for a client.

  ### Parameters:

  - keys_table An array of key bindings objects, or nothing.

  ### Returns:

  A table with all keys.
tags (tags_table)
  Access or set the client tags.

  ### Parameters:

  - tags_table A table with tags to set, or none to get the current tags table.

  ### Returns:

  A table with all tags.
kill ()
  Kill a client.
swap (c)
  Swap a client with another one in global client list.

  ### Parameters:

  - c A client to swap with.
raise ()
  Raise a client on top of others which are on the same layer.
lower ()
  Lower a client on bottom of others which are on the same layer.
unmanage ()
  Stop managing a client.
set_xproperty (name, value)
  Change a xproperty.

  ### Parameters:

  - name The name of the X11 property
  - value The new value for the property
get_xproperty (name)
  Get the value of a xproperty.

  ### Parameters:

  - name The name of the X11 property
connect_signal (name, func)
  Add a signal.

  ### Parameters:

  - name A signal name.
  - func A function to call when the signal is emitted.
disconnect_signal (name, func)
  Remove a signal.

  ### Parameters:

  - name A signal name.
  - func A function to remove.
emit_signal (name, ...)
  Emit a signal.

  ### Parameters:

  - name A signal name.
  - ... Various arguments, optional.
instances ()
  Get the number of instances.

  ### Returns:

  The number of client objects alive.

## Tables

client
  Client object.

  ### Fields:

  - window The X window id.
  - name The client title.
  - skip_taskbar True if the client does not want to be in taskbar.
  - type The window type (desktop, normal, dock, …).
  - class The client class.
  - instance The client instance.
  - pid The client PID, if available.
  - role The window role, if available.
  - machine The machine client is running on.
  - icon_name The client name when iconified.
  - icon The client icon.
  - screen Client screen.
  - hidden Define if the client must be hidden, i.e. never mapped, invisible in taskbar.
  - minimized Define it the client must be iconify, i.e. only visible in taskbar.
  - size_hints_honor Honor size hints, i.e. respect size ratio.
  - border_width The client border width.
  - border_color The client border color.
  - urgent The client urgent state.
  - content An image representing the client window content (screenshot).
  - focus The focused client.
  - opacity The client opacity between 0 and 1.
  - ontop The client is on top of every other windows.
  - above The client is above normal windows.
  - below The client is below normal windows.
  - fullscreen The client is fullscreen or not.
  - maximized The client is maximized (horizontally and vertically) or not.
  - maximized_horizontal The client is maximized horizontally or not.
  - maximized_vertical The client is maximized vertically or not.
  - transient_for The client the window is transient for.
  - group_window Window identification unique to a group of windows.
  - leader_window Identification unique to windows spawned by the same command.
  - size_hints A table with size hints of the client: user_position, user_size, program_position, program_size, etc.
  - sticky Set the client sticky, i.e. available on all tags.
  - modal Indicate if the client is modal.
  - focusable True if the client can receive the input focus.
  - shape_bounding The client's bounding shape as set by awesome as a (native) cairo surface.
  - shape_clip The client's clip shape as set by awesome as a (native) cairo surface.
  - shape_client_bounding The client's bounding shape as set by the program as a (native) cairo surface.
  - shape_client_clip The client's clip shape as set by the program as a (native) cairo surface.
  - startup_id The FreeDesktop StartId.

generated by LDoc 1.4.2