LOGIN / SIGN UP
2
Claes Nästén
2008-02-15 14:17 ee68c..8cfaf
Re-indent and minor testing of pekwm::manager.
    Re-indent to a line width of 112 instead of 80, caused most log messages to
    fit on one line.
    
    Added x11::window:map_all, not to be commonly used but is practical where
    there's many child windows.

src/pekwm_manager.cpp
 
26 @@ -26,6 +26,8 @@
26 #include "config.h"
27 #endif // HAVE_CONFIG_H
28
29 #include <iostream>
30
31 #include "toolkit_exception.h"
32 #include "pekwm.h"
33 #include "pekwm_action.h"
...
121 @@ -119,7 +121,7 @@
121 while (! m_shutdown) {
122 // Look for new event, waiting max EVENT_TIMEOUT milliseconds.
123 try {
122 if (m_x_display->event_next (&event, EVENT_TIMEOUT)) {
125 if (m_x_display->event_next (&event, 0)) { // FIXME: Use timeout, does not work
126 switch (event.type) {
127 case MapRequest:
128 handle_map_request (&event);
...
179 @@ -177,14 +179,12 @@
179 }
180 }
181 } catch (toolkit::exception &ex) {
180 LOG.msg (toolkit::log::LOG_WARNING,
181 "failed to get event with error %s", ex.get_msg ());
184 LOG.msg (toolkit::log::LOG_WARNING, "failed to get event with error %s", ex.get_msg ());
185 }
186
187 // Handle timers, other processing.
188 while ((action = m_timer->get_timed_out ()) != 0) {
187 LOG.msg (toolkit::log::LOG_DEBUG,
188 "handle timer event %p", action);
191 LOG.msg (toolkit::log::LOG_DEBUG, "handle timer event %p", action);
192 handle_action (action);
193 }
194
...
209 @@ -209,14 +209,12 @@
209 pekwm::client *client = pekwm::client::find (ev->xmaprequest.window);
210
211 if (client) {
212 LOG.msg (toolkit::log::LOG_DEBUG,
213 "manager::handle_map_request, map %d found client %p",
214 LOG.msg (toolkit::log::LOG_DEBUG, "manager::handle_map_request, map %d found client %p",
215 ev->xmap.window, client);
216 } else {
217 client = create_client (ev->xmap.window);
218
219 LOG.msg (toolkit::log::LOG_DEBUG,
220 "manager::handle_map_request, map %d new client %p",
221 LOG.msg (toolkit::log::LOG_DEBUG, "manager::handle_map_request, map %d new client %p",
222 ev->xmap.window, client);
223 }
224 }
...
230 @@ -232,8 +230,7 @@
230 // Start by looking for window.
231 pekwm::client *client = pekwm::client::find (ev->xunmap.window);
232
235 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
236 "manager::handle_unmap_notify, unmap %d found client %p",
235 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_unmap_notify, unmap %d found client %p",
236 ev->xunmap.window, client);
237 }
238
...
245 @@ -248,8 +245,7 @@
245 // Find the client destroyed
246 pekwm::client *client = pekwm::client::find (ev->xdestroywindow.window);
247
251 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
252 "manager::handle_destroy_notify, destroy %d found client %p",
250 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_destroy_notify, destroy %d found client %p",
251 ev->xdestroywindow.window, client);
252 }
253
...
257 @@ -261,8 +257,7 @@
257 void
258 manager::handle_configure_request (XEvent *ev)
259 {
264 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
265 "manager::handle_configure_request");
262 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_configure_request");
263 }
264
265 /**
...
268 @@ -273,8 +268,7 @@
268 void
269 manager::handle_client_message (XEvent *ev)
270 {
276 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
277 "manager::handle_client_message");
273 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_client_message");
274 }
275
276 /**
...
279 @@ -285,8 +279,7 @@
279 void
280 manager::handle_colormap_notify (XEvent *ev)
281 {
288 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
289 "manager::handle_colormap_notify");
284 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_colormap_notify");
285 }
286
287 /**
...
290 @@ -297,8 +290,7 @@
290 void
291 manager::handle_property_notify (XEvent *ev)
292 {
300 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
301 "manager::handle_property_notify");
295 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_property_notify");
296 }
297
298 /**
...
301 @@ -309,8 +301,7 @@
301 void
302 manager::handle_expose (XEvent *ev)
303 {
312 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
313 "manager::handle_expose");
306 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_expose");
307 }
308
309 /**
...
312 @@ -321,8 +312,7 @@
312 void
313 manager::handle_key_press (XEvent *ev)
314 {
324 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
325 "manager::handle_key_press");
317 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_key_press");
318 }
319
320 /**
...
323 @@ -333,8 +323,7 @@
323 void
324 manager::handle_key_release (XEvent *ev)
325 {
336 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
337 "manager::handle_key_release");
328 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_key_release");
329 }
330
331 /**
...
334 @@ -345,8 +334,7 @@
334 void
335 manager::handle_button_press (XEvent *ev)
336 {
348 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
349 "manager::handle_button_press");
339 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_button_press");
340 }
341
342 /**
...
345 @@ -357,8 +345,7 @@
345 void
346 manager::handle_button_release (XEvent *ev)
347 {
360 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
361 "manager::handle_button_release");
350 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_button_release");
351 }
352
353 /**
...
356 @@ -369,8 +356,7 @@
356 void
357 manager::handle_motion_notify (XEvent *ev)
358 {
372 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
373 "manager::handle_motion_notify");
361 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_motion_notify");
362 }
363
364 /**
...
367 @@ -381,8 +367,7 @@
367 void
368 manager::handle_enter_notify (XEvent *ev)
369 {
384 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
385 "manager::handle_enter_notify");
372 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_enter_notify");
373 }
374
375 /**
...
378 @@ -393,8 +378,7 @@
378 void
379 manager::handle_leave_notify (XEvent *ev)
380 {
396 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
397 "manager::handle_leave_notify");
383 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_leave_notify");
384 }
385
386 /**
...
389 @@ -405,8 +389,7 @@
389 void
390 manager::handle_focus_in (XEvent *ev)
391 {
408 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
409 "manager::handle_focus_in");
394 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_focus_in");
395 }
396
397 /**
...
400 @@ -417,8 +400,7 @@
400 void
401 manager::handle_focus_out (XEvent *ev)
402 {
420 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
421 "manager::handle_focus_out");
405 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "manager::handle_focus_out");
406 }
407
408 /**
...
464 @@ -482,19 +464,22 @@
464 try {
465 // Get attributes to figure if it's a client
466 x11::window_attributes attr (m_x_display, x11_window);
485 if (! attr.get_x11_attributes ()->override_redirect
486 && attr.get_x11_attributes ()->map_state != IsUnmapped) {
469 if (! attr.get_x11_attributes ()->override_redirect) {
470 // && attr.get_x11_attributes ()->map_state != IsUnmapped) {
471
472 // No window was found, this is a new window.
473 if (is_dockapp (x11_window)) {
474 client = new pekwm::client_dockapp (m_display, x11_window);
475 } else {
476 client = new pekwm::client_app (m_display, x11_window);
477
478 // Initialize the client and make it visible
479 init_client (client);
480 client->map();
481 }
482 }
483 } catch (toolkit::exception &ex) {
502 LOG.msg (toolkit::log::LOG_WARNING,
503 "failed to create client for window %d with error %s",
486 LOG.msg (toolkit::log::LOG_WARNING, "failed to create client for window %d with error %s",
487 x11_window, ex.get_msg ());
488 }
489
...
563 @@ -578,6 +563,9 @@
563 frame->map ();
564 frame_group->map ();
565
566 // Set the client active
567 frame_group->activate_client (client);
568
569 return frame_group;
570 }
571 }
...

src/x11_window.cpp
 
99 @@ -99,9 +99,8 @@
99 m_height = height;
100 m_depth = depth;
101
102 LOG.msg (toolkit::log::LOG_DEBUG,
103 "Creating new X11 window with size: %dx%d @ %dx%d",
104 m_width, m_height, m_x, m_y);
105 LOG.msg (toolkit::log::LOG_DEBUG, "Creating new X11 window %p with size: %dx%d @ %dx%d",
106 this, m_width, m_height, m_x, m_y);
107
108 // Get visual from parent if no visual set.
109 if (! m_x_visual) {
...
112 @@ -113,7 +112,8 @@
112 XCreateWindow (m_x_display->get_x11_display (),
113 m_parent->get_x11_window (),
114 m_x, m_y, m_width, m_height, 0 /* border width */,
116 m_depth, m_window_class, m_x_visual->get_x11_visual (),
116 // FIXME: m_depth, m_window_class, m_x_visual->get_x11_visual (),
117 CopyFromParent, m_window_class, CopyFromParent,
118 attributes.get_value_mask (),
119 attributes.get_x11_attributes ());
120
...
138 @@ -138,8 +138,7 @@
138 int
139 window::move (int x, int y)
140 {
141 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
142 "window::move, %p move to @ %dx%d", this, x, y);
143 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::move, %p move to @ %dx%d", this, x, y);
144
145 m_x = x;
146 m_y = y;
...
156 @@ -157,17 +156,14 @@
156 int
157 window::resize (unsigned int width, unsigned int height) throw (toolkit::exception&)
158 {
160 assert (width);
161 assert (height);
161 assert (width && height);
162
164 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
165 "window::resize, %p resize to %dx%d", this, width, height);
165 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::resize, %p resize to %dx%d", this, width, height);
166
167 m_width = width;
168 m_height = height;
169
171 return XResizeWindow (m_x_display->get_x11_display (), m_x11_window,
172 width, height);
172 return XResizeWindow (m_x_display->get_x11_display (), m_x11_window, width, height);
173 }
174
175 /**
...
174 @@ -178,14 +174,27 @@
174 int
175 window::map (void)
176 {
181 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
182 "window::map, mapping %p", this);
179 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::map, mapping %p", this);
180
181 m_state = x11::window::WINDOW_STATE_UNFOCUSED;
182 return XMapWindow (m_x_display->get_x11_display (), m_x11_window);
183 }
184
185 /**
186 * Maps the window and all it's sub windows.
187 *
188 * @return XMapSubwindows return value.
189 */
190 int
191 window::map_all (void)
192 {
193 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::map_all, mapping %p", this);
194
195 m_state = x11::window::WINDOW_STATE_UNFOCUSED;
196 return XMapSubwindows (m_x_display->get_x11_display (), m_x11_window);
197 }
198
199 /**
200 * Unmaps the window.
201 *
202 * @return XUnmapWindow return value.
...
202 @@ -193,8 +202,7 @@
202 int
203 window::unmap (void)
204 {
196 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
197 "window::unmap, unmapping %p", this);
207 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::unmap, unmapping %p", this);
208
209 m_state = x11::window::WINDOW_STATE_UNMAPPED;
210 return XUnmapWindow (m_x_display->get_x11_display (), m_x11_window);
...
221 @@ -213,16 +221,13 @@
221 {
222 assert (parent);
223
216 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE,
217 "window::reparent, %p to %p @ %dx%d", this, parent, x, y);
226 LOG.msg (toolkit::log::LOG_DEBUG_VERBOSE, "window::reparent, %p to %p @ %dx%d", this, parent, x, y);
227
228 // Assign new parent
229 m_parent = parent;
230
231 // Reparent
224 return XReparentWindow (m_x_display->get_x11_display (),
225 m_x11_window, parent->get_x11_window (),
226 x, y);
235 return XReparentWindow (m_x_display->get_x11_display (), m_x11_window, parent->get_x11_window (), x, y);
236 }
237
238 /**
...