2 -- @author Julien Danjou <julien@danjou.info>
3 -- @copyright 2008-2009 Julien Danjou
7 -- @field window The X window id.
8 -- @field name The client title.
9 -- @field skip_taskbar True if the client does not want to be in taskbar.
10 -- @field type The window type (desktop, normal, dock, …).
11 -- @field class The client class.
12 -- @field instance The client instance.
13 -- @field pid The client PID, if available.
14 -- @field role The window role, if available.
15 -- @field machine The machine client is running on.
16 -- @field icon_name The client name when iconified.
17 -- @field icon The client icon.
18 -- @field screen Client screen.
19 -- @field hidden Define if the client must be hidden, i.e. never mapped,
20 -- invisible in taskbar.
21 -- @field minimized Define it the client must be iconify, i.e. only visible in
23 -- @field size_hints_honor Honor size hints, i.e. respect size ratio.
24 -- @field border_width The client border width.
25 -- @field border_color The client border color.
26 -- @field titlebar The client titlebar.
27 -- @field urgent The client urgent state.
28 -- @field content An image representing the client window content (screenshot).
29 -- @field focus The focused client.
30 -- @field opacity The client opacity between 0 and 1.
31 -- @field ontop The client is on top of every other windows.
32 -- @field above The client is above normal windows.
33 -- @field below The client is below normal windows.
34 -- @field fullscreen The client is fullscreen or not.
35 -- @field maximized_horizontal The client is maximized horizontally or not.
36 -- @field maximized_vertical The client is maximized vertically or not.
37 -- @field transient_for The client the window is transient for.
38 -- @field group_window Window identification unique to a group of windows.
39 -- @field leader_id Identification unique to windows spawned by the same command.
40 -- @field size_hints A table with size hints of the client: user_position,
41 -- user_size, program_position, program_size, etc.
42 -- @field sticky Set the client sticky, i.e. available on all tags.
43 -- @field modal Indicate if the client is modal.
47 --- Get all clients into a table.
48 -- @param screen An optional screen number.
49 -- @return A table with all clients.
53 --- Check if a client is visible on its screen.
55 -- @return A boolean value, true if the client is visible, false otherwise.
56 -- @name client.isvisible
59 --- Return client geometry.
60 -- @param arg1 A table with new coordinates, or none.
61 -- @return A table with client coordinates.
62 -- @name client.geometry
65 --- Return client struts (reserved space at the edge of the screen).
66 -- @param struts A table with new strut values, or none.
67 -- @return A table with strut values.
68 -- @name client.struts
71 --- Get or set mouse buttons bindings for a client.
72 -- @param buttons_table An array of mouse button bindings objects, or nothing.
73 -- @return A table with all buttons.
74 -- @name client.buttons
77 --- Get or set keys bindings for a client.
78 -- @param keys_table An array of key bindings objects, or nothing.
79 -- @return A table with all keys.
83 --- Access or set the client tags.
84 -- @param tags_table A table with tags to set, or none to get the current tags table.
85 -- @return A table with all tags.
94 --- Swap a client with another one in global client list.
95 -- @param c A client to swap with.
99 --- Raise a client on top of others which are on the same layer.
101 -- @name client.raise
104 --- Lower a client on bottom of others which are on the same layer.
106 -- @name client.lower
109 --- Redraw a client by unmapping and mapping it quickly.
111 -- @name client.redraw
114 --- Stop managing a client.
116 -- @name client.unmanage
120 -- @param name A signal name.
121 -- @param func A function to call when the signal is emitted.
122 -- @name client.add_signal
126 -- @param name A signal name.
127 -- @param func A function to remove.
128 -- @name client.remove_signal
132 -- @param name A signal name.
133 -- @param ... Various arguments, optional.
134 -- @name client.emit_signal