Index: uspace/lib/c/generic/io/window.c
===================================================================
--- uspace/lib/c/generic/io/window.c	(revision 235d31de52ec23ea2a4cb3b7837814333820b9cd)
+++ uspace/lib/c/generic/io/window.c	(revision 1e3375ba536b2e46b62f2b38cc6c096253dc0b18)
@@ -40,8 +40,9 @@
 #include <stdio.h>
 
-int win_register(async_sess_t *sess, service_id_t *in, service_id_t *out)
+int win_register(async_sess_t *sess, window_flags_t flags, service_id_t *in,
+    service_id_t *out)
 {
 	async_exch_t *exch = async_exchange_begin(sess);
-	int ret = async_req_0_2(exch, WINDOW_REGISTER, in, out);
+	int ret = async_req_1_2(exch, WINDOW_REGISTER, flags, in, out);
 	async_exchange_end(exch);
 	
Index: uspace/lib/c/include/io/window.h
===================================================================
--- uspace/lib/c/include/io/window.h	(revision 235d31de52ec23ea2a4cb3b7837814333820b9cd)
+++ uspace/lib/c/include/io/window.h	(revision 1e3375ba536b2e46b62f2b38cc6c096253dc0b18)
@@ -42,4 +42,10 @@
 #include <io/kbd_event.h>
 #include <io/pos_event.h>
+
+typedef enum {
+	WINDOW_MAIN = 1,
+	WINDOW_DECORATED = 2,
+	WINDOW_RESIZEABLE = 4
+} window_flags_t;
 
 typedef enum {
@@ -108,5 +114,6 @@
 } window_event_t;
 
-extern int win_register(async_sess_t *, service_id_t *, service_id_t *);
+extern int win_register(async_sess_t *, window_flags_t, service_id_t *,
+    service_id_t *);
 
 extern int win_get_event(async_sess_t *, window_event_t *);
