]> git.decadent.org.uk Git - ion3-doc.git/blob - hookref.tex
[svn-upgrade] Integrating new upstream version, ion3 (20070318)
[ion3-doc.git] / hookref.tex
1
2 \begin{function}
3     \index{clientwin-do-manage-alt@\code{clientwin_do_manage_alt}}
4     \hookname{clientwin_do_manage_alt}
5     \hookparams{(WClientWin, table)}
6     \begin{funcdesc}
7       Called when we want to manage a new client window.
8       The table argument contains the following fields:
9       
10       \begin{tabularx}{\linewidth}{llX}
11           \tabhead{Field & Type & Description}
12           \var{switchto} & bool & Do we want to switch to the client window. \\
13           \var{jumpto} & bool & Do we want to jump to the client window. \\
14           \var{userpos} & bool & Geometry set by user. \\
15           \var{dockapp} & bool & Client window is a dockapp. \\
16           \var{maprq} & bool & Map request (and not initialisation scan). \\
17           \var{gravity} & number & Window gravity. \\
18           \var{geom} & table & Requested geometry; \var{x}, \var{y}, \var{w}, \var{h}.\\
19           \var{tfor} & WClientWin & Transient for window.
20       \end{tabularx}
21
22       This hook is not called in protected mode and can be used for
23       arbitrary placement policies (deciding in which workspace a new
24       \type{WClientWin} should go). In this case, you can call
25 \begin{verbatim}
26 reg:attach(cwin)
27 \end{verbatim}
28       where \var{reg} is the region where the window should go, and
29       \var{cwin} is the first argument of the function added to the
30       hook.
31     \end{funcdesc}
32 \end{function}
33
34
35 \begin{function}
36     \index{clientwin-mapped-hook@\code{clientwin_mapped_hook}}
37     \hookname{clientwin_mapped_hook}
38     \hookparams{WClientWin}
39     \begin{funcdesc}
40       Called when we have started to manage a client window.
41     \end{funcdesc}
42 \end{function}
43
44
45 \begin{function}
46     \index{clientwin-property-change-hook@\code{clientwin_property_change_hook}}
47     \hookname{clientwin_property_change_hook}
48     \hookparams{(WClientWin, integer)}
49     \begin{funcdesc}
50       Called when the property identified by the parameter atom id
51       (integer) has changed on a client window.
52     \end{funcdesc}
53 \end{function}
54
55
56 \begin{function}
57     \index{clientwin-unmapped-hook@\code{clientwin_unmapped_hook}}
58     \hookname{clientwin_unmapped_hook}
59     \hookparams{number}
60     \begin{funcdesc}
61       Called when we no longer manage a client window. The parameter
62       is the X ID of the window; see \fnref{WClientWin.xid}.
63     \end{funcdesc}
64 \end{function}
65
66
67 \begin{function}
68     \index{frame-managed-changed-hook@\code{frame_managed_changed_hook}}
69     \hookname{frame_managed_changed_hook}
70     \hookparams{table}
71     \begin{funcdesc}
72       Called when there are changes in the objects managed by a frame
73       or their order. The table parameter has the following fields:
74
75       \begin{tabularx}{\linewidth}{llX}
76           \tabhead{Field & Type & Description}
77           \var{reg} & WFrame & The frame in question \\
78           \var{mode} & string & \var{"switchonly"}, \var{"reorder"},
79                                 \var{"add"} or \var{"remove"} \\
80           \var{sw} & bool & Switch occured \\
81           \var{sub} & WRegion & The managed region (primarily) affected \\
82       \end{tabularx}
83     \end{funcdesc}
84 \end{function}
85
86
87 \begin{function}
88     \index{ioncore-sigchld-hook@\code{ioncore_sigchld_hook}}
89     \hookname{ioncore_sigchld_hook}
90     \hookparams{integer}
91     \begin{funcdesc}
92       Called when a child process has exited. The parameter
93       is the PID of the process.
94     \end{funcdesc}
95 \end{function}
96
97 \begin{function}
98     \index{ioncore-deinit-hook@\code{ioncore_deinit_hook}}
99     \hookname{ioncore_deinit_hook}
100     \hookparams{()}
101     \begin{funcdesc}
102       Called when Ion is deinitialising and about to quit.
103     \end{funcdesc}
104 \end{function}
105
106 %ioncore_handle_event_alt -- not available to lua side
107
108 \begin{function}
109     \index{ioncore-post-layout-setup-hook@\code{ioncore_post_layout_setup_hook}}
110     \hookname{ioncore_post_layout_setup_hook}
111     \hookparams{()}
112     \begin{funcdesc}
113       Called when Ion has done all initialisation and is almost ready to
114       enter the mainloop, except no windows are yet being managed.
115     \end{funcdesc}
116 \end{function}
117
118
119 \begin{function}
120     \index{ioncore-snapshot-hook@\code{ioncore_snapshot_hook}}
121     \hookname{ioncore_snapshot_hook}
122     \hookparams{()}
123     \begin{funcdesc}
124       Called to signal scripts and modules to save their state (if any).
125     \end{funcdesc}
126 \end{function}
127
128
129 \begin{function}
130     \index{tiling-placement-alt@\code{tiling_placement_alt}}
131     \hookname{tiling_placement_alt}
132     \hookparams{table}
133     \begin{funcdesc}
134       Called when a client window is about to be managed by a \type{WTiling}
135       to allow for alternative placement policies. The table has the
136       following fields:
137       \begin{tabularx}{\linewidth}{llX}
138           \tabhead{Field & Type & Description}
139           \var{tiling} & \type{WTiling} & The tiling \\
140           \var{reg} & \type{WRegion} & The region (always a WClientWin at 
141               the moment) to be placed \\
142           \var{mp} & \type{table} & This table contains the same fields as
143             the parameter of \fnref{clientwin_do_manage_alt} \\
144           \var{res_frame} & \type{WFrame} & A succesfull handler should 
145             return the target frame here. \\
146       \end{tabularx}
147       This hook is just for placing within a given workspace after the
148       workspace has been decided by the default workspace selection
149       policy. It is called in protected mode. For arbitrary placement
150       policies, \fnref{clientwin_do_manage_alt} should be used; it
151       isn't called in protected mode,
152     \end{funcdesc}
153 \end{function}
154
155
156 \begin{function}
157     \index{region-do-warp-alt@\code{region_do_warp_alt}}
158     \hookname{region_do_warp_alt}
159     \hookparams{WRegion}
160     \begin{funcdesc}
161       This alt-hook exist to allow for alternative pointer warping
162       implementations.
163     \end{funcdesc}
164 \end{function}
165
166
167 \begin{function}
168     \index{screen-managed-changed-hook@\code{screen_managed_changed_hook}}
169     \hookname{screen_managed_changed_hook}
170     \hookparams{table}
171     \begin{funcdesc}
172       Called when there are changes in the objects managed by a screen
173       or their order. The table parameter is similar to that of
174       \fnref{frame_managed_changed_hook}.
175     \end{funcdesc}
176 \end{function}
177
178
179 \begin{function}
180     \index{region-notify-hook@\code{region_notify_hook}}
181     \hookname{region_notify_hook}
182     \hookparams{(WRegion, string)}
183     \begin{funcdesc}
184       Signalled when something (minor) has changed in relation to 
185       the first parameter region. The string argument gives the
186       change:
187       
188       \begin{tabularx}{\linewidth}{lX}
189           \tabhead{String & Description}
190           \code{deinit} & The region is about to be deinitialised. \\
191           \code{activated} & The region has received focus. \\
192           \code{inactivated} & The region has lost focus. \\
193           \code{activity} & There's been activity in the region itself. \\
194           \code{sub_activity} & There's been activity in some sub-region. \\
195           \code{name} & The name of the region has changed. \\
196           \code{unset_manager} & The region no longer has a manager. \\
197           \code{set_manager} & The region now has a manager. \\
198           \code{tag} & Tagging state has changed. \\
199           \code{pseudoactivated} & The region has become pseudoactive
200                       (see below). \\
201           \code{pseudoinactivated} & The region is no longer pseudoactive. \\
202       \end{tabularx}
203
204       A region is pseudoactive, when a) it is itself not active (does
205       not not have the focus, and may not even have a window that could
206       have it), but b) some region managed by it is active.
207     \end{funcdesc}
208 \end{function}
209
210