Index: uspace/app/fontviewer/fontviewer.c
===================================================================
--- uspace/app/fontviewer/fontviewer.c	(revision c21d4d64870698b91707f203def6398db79bff84)
+++ uspace/app/fontviewer/fontviewer.c	(revision e37378be371206fc6a2cca9751d21738dc94a2e8)
@@ -38,4 +38,5 @@
 #include <stdlib.h>
 #include <stdbool.h>
+#include <str.h>
 #include <str_error.h>
 #include <window.h>
@@ -245,18 +246,39 @@
 }
 
+static void print_syntax(void)
+{
+	printf("Syntax: %s [-d <display>]\n", NAME);
+}
+
 int main(int argc, char *argv[])
 {
-	if (argc < 2) {
-		printf("Compositor server not specified.\n");
-		return 1;
-	}
-
-	if (argc < 3) {
+	const char *display_svc = DISPLAY_DEFAULT;
+	int i;
+
+	i = 1;
+	while (i < argc) {
+		if (str_cmp(argv[i], "-d") == 0) {
+			++i;
+			if (i >= argc) {
+				printf("Argument missing.\n");
+				print_syntax();
+				return 1;
+			}
+
+			display_svc = argv[i++];
+		} else {
+			printf("Invalid option '%s'.\n", argv[i]);
+			print_syntax();
+			return 1;
+		}
+	}
+
+	if (i < argc) {
 		font_path = NULL;
 	} else {
-		font_path = argv[2];
-	}
-
-	main_window = window_open(argv[1], NULL, WINDOW_MAIN, "fontviewer");
+		font_path = argv[i];
+	}
+
+	main_window = window_open(display_svc, NULL, WINDOW_MAIN, "fontviewer");
 	if (!main_window) {
 		printf("Cannot open main window.\n");
