]> git.sur5r.net Git - i3/i3/blobdiff - include/manage.h
Merge branch 'master' into next
[i3/i3] / include / manage.h
index 65542d91c088ad0253c46365d8a89cda50aaa7cf..bd1a14f76ec4184ad559356bcf6ade3a113e80d3 100644 (file)
@@ -1,37 +1,42 @@
 /*
- * vim:ts=8:expandtab
+ * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
+ * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
  *
- * © 2009 Michael Stapelberg and contributors
- *
- * See file LICENSE for license information.
+ * manage.c: Initially managing new windows (or existing ones on restart).
  *
  */
-#include <xcb/xcb.h>
+#pragma once
 
 #include "data.h"
 
-#ifndef _MANAGE_H
-#define _MANAGE_H
-
 /**
  * Go through all existing windows (if the window manager is restarted) and
  * manage them
  *
  */
-void manage_existing_windows(xcb_connection_t *conn, xcb_property_handlers_t
-                             *prophs, xcb_window_t root);
+void manage_existing_windows(xcb_window_t root);
+
+/**
+ * Restores the geometry of each window by reparenting it to the root window
+ * at the position of its frame.
+ *
+ * This is to be called *only* before exiting/restarting i3 because of evil
+ * side-effects which are to be expected when continuing to run i3.
+ *
+ */
+void restore_geometry(void);
 
 /**
  * Do some sanity checks and then reparent the window.
  *
  */
-void manage_window(xcb_property_handlers_t *prophs, xcb_connection_t *conn,
-                   xcb_window_t window,
+void manage_window(xcb_window_t window,
                    xcb_get_window_attributes_cookie_t cookie,
                    bool needs_to_be_mapped);
 
+#if 0
 /**
  * reparent_window() gets called when a new window was opened and becomes a
  * child of the root window, or it gets called by us when we manage the