Index: uspace/lib/gui/window.c
===================================================================
--- uspace/lib/gui/window.c	(revision a116f7f21065dc843ec427459d1985c4a05ff08f)
+++ uspace/lib/gui/window.c	(revision 2c7fdaa52e822972ed823b3dc82058faf31a152b)
@@ -591,5 +591,5 @@
 }
 
-window_t *window_open(const char *winreg, bool is_main, bool is_decorated,
+window_t *window_open(const char *winreg, window_flags_t flags,
     const char *caption)
 {
@@ -598,6 +598,6 @@
 		return NULL;
 	
-	win->is_main = is_main;
-	win->is_decorated = is_decorated;
+	win->is_main = flags & WINDOW_MAIN;
+	win->is_decorated = flags & WINDOW_DECORATED;
 	win->is_focused = true;
 	prodcons_initialize(&win->events);
@@ -632,5 +632,5 @@
 	service_id_t in_dsid;
 	service_id_t out_dsid;
-	rc = win_register(reg_sess, &in_dsid, &out_dsid);
+	rc = win_register(reg_sess, flags, &in_dsid, &out_dsid);
 	async_hangup(reg_sess);
 	if (rc != EOK) {
Index: uspace/lib/gui/window.h
===================================================================
--- uspace/lib/gui/window.h	(revision a116f7f21065dc843ec427459d1985c4a05ff08f)
+++ uspace/lib/gui/window.h	(revision 2c7fdaa52e822972ed823b3dc82058faf31a152b)
@@ -65,6 +65,7 @@
  * Allocate all resources for new window and register it in the compositor.
  * If the window is declared as main, its closure causes termination of the
- * whole application. Note that opened window does not have any surface yet. */
-extern window_t *window_open(const char *, bool, bool, const char *);
+ * whole application. Note that opened window does not have any surface yet.
+ */
+extern window_t *window_open(const char *, window_flags_t, const char *);
 
 /**
