Index: uspace/lib/ui/include/types/ui/window.h
===================================================================
--- uspace/lib/ui/include/types/ui/window.h	(revision 6d527cffd20fa5648c8b88cbe556d850c86e2c69)
+++ uspace/lib/ui/include/types/ui/window.h	(revision 06d0c81437c83c6c3cef6766e8e582c877832b47)
@@ -44,4 +44,18 @@
 typedef struct ui_window ui_window_t;
 
+/** Window placement hint */
+typedef enum {
+	/** Use default (automatic) placement */
+	ui_wnd_place_default = 0,
+	/** Place window to the top-left corner of the screen */
+	ui_wnd_place_top_left,
+	/** Place window to the top-right corner of the screen */
+	ui_wnd_place_top_right,
+	/** Place window to the bottom-left corner of the screen */
+	ui_wnd_place_bottom_left,
+	/** Place window to the bottom-right corner of the screen */
+	ui_wnd_place_bottom_right
+} ui_wnd_placement_t;
+
 /** Window parameters */
 typedef struct {
@@ -50,4 +64,6 @@
 	/** Window caption */
 	const char *caption;
+	/** Window placement */
+	ui_wnd_placement_t placement;
 } ui_wnd_params_t;
 
Index: uspace/lib/ui/src/window.c
===================================================================
--- uspace/lib/ui/src/window.c	(revision 6d527cffd20fa5648c8b88cbe556d850c86e2c69)
+++ uspace/lib/ui/src/window.c	(revision 06d0c81437c83c6c3cef6766e8e582c877832b47)
@@ -102,4 +102,6 @@
 {
 	ui_window_t *window;
+	display_info_t info;
+	gfx_coord2_t pos;
 	display_wnd_params_t dparams;
 	display_window_t *dwindow = NULL;
@@ -122,4 +124,38 @@
 		if (rc != EOK)
 			goto error;
+
+		if (params->placement != ui_wnd_place_default) {
+			rc = display_get_info(ui->display, &info);
+			if (rc != EOK)
+				goto error;
+
+			pos.x = 0;
+			pos.y = 0;
+
+			switch (params->placement) {
+			case ui_wnd_place_default:
+				assert(false);
+			case ui_wnd_place_top_left:
+				pos.x = info.rect.p0.x - params->rect.p0.x;
+				pos.y = info.rect.p0.y - params->rect.p0.y;
+				break;
+			case ui_wnd_place_top_right:
+				pos.x = info.rect.p1.x - params->rect.p1.x;
+				pos.y = info.rect.p0.y - params->rect.p0.y;
+				break;
+			case ui_wnd_place_bottom_left:
+				pos.x = info.rect.p0.x - params->rect.p0.x;
+				pos.y = info.rect.p1.y - params->rect.p1.y;
+				break;
+			case ui_wnd_place_bottom_right:
+				pos.x = info.rect.p1.x - params->rect.p1.x;
+				pos.y = info.rect.p1.y - params->rect.p1.y;
+				break;
+			}
+
+			rc = display_window_move(dwindow, &pos);
+			if (rc != EOK)
+				goto error;
+		}
 
 		rc = display_window_get_gc(dwindow, &gc);
