tasklist/taglist: Handle invalid text better
[awesome.git] / luadoc / client.lua
blob2df3302735ce85fb20d3f959e0faf0e53f6f137a
1 --- awesome client API
2 -- @author Julien Danjou <julien@danjou.info>
3 -- @copyright 2008-2009 Julien Danjou
4 module("client")
6 --- Client object.
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
22 -- taskbar.
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 urgent The client urgent state.
27 -- @field content An image representing the client window content (screenshot).
28 -- @field focus The focused client.
29 -- @field opacity The client opacity between 0 and 1.
30 -- @field ontop The client is on top of every other windows.
31 -- @field above The client is above normal windows.
32 -- @field below The client is below normal windows.
33 -- @field fullscreen The client is fullscreen or not.
34 -- @field maximized_horizontal The client is maximized horizontally or not.
35 -- @field maximized_vertical The client is maximized vertically or not.
36 -- @field transient_for The client the window is transient for.
37 -- @field group_window Window identification unique to a group of windows.
38 -- @field leader_id Identification unique to windows spawned by the same command.
39 -- @field size_hints A table with size hints of the client: user_position,
40 -- user_size, program_position, program_size, etc.
41 -- @field sticky Set the client sticky, i.e. available on all tags.
42 -- @field modal Indicate if the client is modal.
43 -- @field focusable True if the client can receive the input focus.
44 -- @class table
45 -- @name client
47 --- Get all clients into a table.
48 -- @param screen An optional screen number.
49 -- @return A table with all clients.
50 -- @name get
51 -- @class function
53 --- Check if a client is visible on its screen.
54 -- @param -
55 -- @return A boolean value, true if the client is visible, false otherwise.
56 -- @name isvisible
57 -- @class function
59 --- Return client geometry.
60 -- @param arg1 A table with new coordinates, or none.
61 -- @return A table with client coordinates.
62 -- @name geometry
63 -- @class function
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 struts
69 -- @class function
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 buttons
75 -- @class function
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.
80 -- @name keys
81 -- @class function
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.
86 -- @name tags
87 -- @class function
89 --- Kill a client.
90 -- @param -
91 -- @name kill
92 -- @class function
94 --- Swap a client with another one in global client list.
95 -- @param c A client to swap with.
96 -- @name swap
97 -- @class function
99 --- Raise a client on top of others which are on the same layer.
100 -- @param -
101 -- @name raise
102 -- @class function
104 --- Lower a client on bottom of others which are on the same layer.
105 -- @param -
106 -- @name lower
107 -- @class function
109 --- Stop managing a client.
110 -- @param -
111 -- @name unmanage
112 -- @class function
114 --- Add a signal.
115 -- @param name A signal name.
116 -- @param func A function to call when the signal is emitted.
117 -- @name connect_signal
118 -- @class function
120 --- Remove a signal.
121 -- @param name A signal name.
122 -- @param func A function to remove.
123 -- @name disconnect_signal
124 -- @class function
126 --- Emit a signal.
127 -- @param name A signal name.
128 -- @param ... Various arguments, optional.
129 -- @name emit_signal
130 -- @class function
132 --- Get the number of instances.
133 -- @param no_params luadoc is buggy.
134 -- @return The number of client objects alive.
135 -- @name instances
136 -- @class function