2009-08-20 16:18:52 +02:00
|
|
|
--- awesome client API
|
|
|
|
-- @author Julien Danjou <julien@danjou.info>
|
|
|
|
-- @copyright 2008-2009 Julien Danjou
|
|
|
|
module("client")
|
|
|
|
|
|
|
|
--- Client object.
|
|
|
|
-- @field window The X window id.
|
|
|
|
-- @field name The client title.
|
|
|
|
-- @field skip_taskbar True if the client does not want to be in taskbar.
|
|
|
|
-- @field type The window type (desktop, normal, dock, …).
|
|
|
|
-- @field class The client class.
|
|
|
|
-- @field instance The client instance.
|
|
|
|
-- @field pid The client PID, if available.
|
|
|
|
-- @field role The window role, if available.
|
|
|
|
-- @field machine The machine client is running on.
|
|
|
|
-- @field icon_name The client name when iconified.
|
|
|
|
-- @field icon The client icon.
|
|
|
|
-- @field screen Client screen.
|
|
|
|
-- @field hidden Define if the client must be hidden, i.e. never mapped,
|
|
|
|
-- invisible in taskbar.
|
|
|
|
-- @field minimized Define it the client must be iconify, i.e. only visible in
|
|
|
|
-- taskbar.
|
|
|
|
-- @field size_hints_honor Honor size hints, i.e. respect size ratio.
|
|
|
|
-- @field border_width The client border width.
|
|
|
|
-- @field border_color The client border color.
|
|
|
|
-- @field titlebar The client titlebar.
|
|
|
|
-- @field urgent The client urgent state.
|
|
|
|
-- @field content An image representing the client window content (screenshot).
|
|
|
|
-- @field focus The focused client.
|
|
|
|
-- @field opacity The client opacity between 0 and 1.
|
|
|
|
-- @field ontop The client is on top of every other windows.
|
|
|
|
-- @field above The client is above normal windows.
|
|
|
|
-- @field below The client is below normal windows.
|
|
|
|
-- @field fullscreen The client is fullscreen or not.
|
|
|
|
-- @field maximized_horizontal The client is maximized horizontally or not.
|
|
|
|
-- @field maximized_vertical The client is maximized vertically or not.
|
|
|
|
-- @field transient_for The client the window is transient for.
|
|
|
|
-- @field group_window Window identification unique to a group of windows.
|
|
|
|
-- @field leader_id Identification unique to windows spawned by the same command.
|
|
|
|
-- @field size_hints A table with size hints of the client: user_position,
|
|
|
|
-- user_size, program_position, program_size, etc.
|
|
|
|
-- @field sticky Set the client sticky, i.e. available on all tags.
|
|
|
|
-- @field modal Indicate if the client is modal.
|
|
|
|
-- @class table
|
|
|
|
-- @name client
|
|
|
|
|
|
|
|
--- Get all clients into a table.
|
2009-08-30 06:20:52 +02:00
|
|
|
-- @param screen An optional screen number.
|
2009-08-20 16:18:52 +02:00
|
|
|
-- @return A table with all clients.
|
|
|
|
-- @name client.get
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Check if a client is visible on its screen.
|
|
|
|
-- @param -
|
|
|
|
-- @return A boolean value, true if the client is visible, false otherwise.
|
|
|
|
-- @name client.isvisible
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Return client geometry.
|
|
|
|
-- @param arg1 A table with new coordinates, or none.
|
|
|
|
-- @return A table with client coordinates.
|
|
|
|
-- @name client.geometry
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Return client struts (reserved space at the edge of the screen).
|
|
|
|
-- @param struts A table with new strut values, or none.
|
|
|
|
-- @return A table with strut values.
|
|
|
|
-- @name client.struts
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Get or set mouse buttons bindings for a client.
|
|
|
|
-- @param buttons_table An array of mouse button bindings objects, or nothing.
|
|
|
|
-- @return A table with all buttons.
|
|
|
|
-- @name client.buttons
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Get or set keys bindings for a client.
|
|
|
|
-- @param keys_table An array of key bindings objects, or nothing.
|
|
|
|
-- @return A table with all keys.
|
|
|
|
-- @name client.keys
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Access or set the client tags.
|
|
|
|
-- @param tags_table A table with tags to set, or none to get the current tags table.
|
|
|
|
-- @return A table with all tags.
|
|
|
|
-- @name client.tags
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Kill a client.
|
|
|
|
-- @param -
|
|
|
|
-- @name client.kill
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Swap a client with another one in global client list.
|
|
|
|
-- @param c A client to swap with.
|
|
|
|
-- @name client.swap
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Raise a client on top of others which are on the same layer.
|
|
|
|
-- @param -
|
|
|
|
-- @name client.raise
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Lower a client on bottom of others which are on the same layer.
|
|
|
|
-- @param -
|
|
|
|
-- @name client.lower
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Redraw a client by unmapping and mapping it quickly.
|
|
|
|
-- @param -
|
|
|
|
-- @name client.redraw
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Stop managing a client.
|
|
|
|
-- @param -
|
|
|
|
-- @name client.unmanage
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Add a signal.
|
|
|
|
-- @param name A signal name.
|
2009-08-30 06:20:52 +02:00
|
|
|
-- @param func A function to call when the signal is emitted.
|
2009-08-20 16:18:52 +02:00
|
|
|
-- @name client.add_signal
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Remove a signal.
|
|
|
|
-- @param name A signal name.
|
|
|
|
-- @param func A function to remove.
|
|
|
|
-- @name client.remove_signal
|
|
|
|
-- @class function
|
|
|
|
|
|
|
|
--- Emit a signal.
|
|
|
|
-- @param name A signal name.
|
|
|
|
-- @param ... Various arguments, optional.
|
|
|
|
-- @name client.emit_signal
|
|
|
|
-- @class function
|