Index: uspace/lib/ui/src/label.c
===================================================================
--- uspace/lib/ui/src/label.c	(revision a2f173be0f2c6ba06f576d61326899b73d022e05)
+++ uspace/lib/ui/src/label.c	(revision 08a79303a715754f41a33fb39fcd8fa4b49b65da)
@@ -68,4 +68,5 @@
 
 	label->res = resource;
+	label->halign = gfx_halign_left;
 	*rlabel = label;
 	return EOK;
@@ -92,4 +93,14 @@
 {
 	label->rect = *rect;
+}
+
+/** Set label horizontal text alignment.
+ *
+ * @param label Label
+ * @param halign Horizontal alignment
+ */
+void ui_label_set_halign(ui_label_t *label, gfx_halign_t halign)
+{
+	label->halign = halign;
 }
 
@@ -135,8 +146,21 @@
 		goto error;
 
-	pos = label->rect.p0;
+	switch (label->halign) {
+	case gfx_halign_left:
+	case gfx_halign_justify:
+		pos.x = label->rect.p0.x;
+		break;
+	case gfx_halign_center:
+		pos.x = (label->rect.p0.x + label->rect.p1.x) / 2;
+		break;
+	case gfx_halign_right:
+		pos.y = label->rect.p1.x;
+		break;
+	}
+
+	pos.y = label->rect.p0.y;
 
 	gfx_text_fmt_init(&fmt);
-	fmt.halign = gfx_halign_left;
+	fmt.halign = label->halign;
 	fmt.valign = gfx_valign_top;
 
