awful.prompt: add 'font' to run() args
[awesome.git] / luadoc / client.lua
blob92cd94f8f938743004e44839ee5962d017df160d
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 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.
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 client.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 client.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 client.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 client.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 client.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 client.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 client.tags
87 -- @class function
89 --- Kill a client.
90 -- @param -
91 -- @name client.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 client.swap
97 -- @class function
99 --- Raise a client on top of others which are on the same layer.
100 -- @param -
101 -- @name client.raise
102 -- @class function
104 --- Lower a client on bottom of others which are on the same layer.
105 -- @param -
106 -- @name client.lower
107 -- @class function
109 --- Redraw a client by unmapping and mapping it quickly.
110 -- @param -
111 -- @name client.redraw
112 -- @class function
114 --- Stop managing a client.
115 -- @param -
116 -- @name client.unmanage
117 -- @class function
119 --- Add a signal.
120 -- @param name A signal name.
121 -- @param func A function to call when the signal is emitted.
122 -- @name client.add_signal
123 -- @class function
125 --- Remove a signal.
126 -- @param name A signal name.
127 -- @param func A function to remove.
128 -- @name client.remove_signal
129 -- @class function
131 --- Emit a signal.
132 -- @param name A signal name.
133 -- @param ... Various arguments, optional.
134 -- @name client.emit_signal
135 -- @class function