commit f5f92de

Devine Lu Linvega  ·  2025-06-24 22:34:53 +0000 UTC
parent bd6bf1d
Center window
1 files changed,  +9, -1
+9, -1
 1@@ -909,6 +909,8 @@ static unsigned int rL1, rL2;
 2 
 3 #define CONINBUFSIZE 256
 4 
 5+int screen_width, screen_height;
 6+
 7 Uint8
 8 emu_dei(const Uint8 port)
 9 {
10@@ -1148,8 +1150,10 @@ display_floating(Display *dpy, Window win)
11 static unsigned int
12 display_init(void)
13 {
14+	Screen *screen;
15 	Visual *visual;
16 	XClassHint class = {"uxn11", "Uxn"};
17+	int anchor_x, anchor_y;
18 	/* start display */
19 	display = XOpenDisplay(NULL);
20 	if(!display)
21@@ -1158,6 +1162,9 @@ display_init(void)
22 	visual = DefaultVisual(display, 0);
23 	if(visual->class != TrueColor)
24 		return !fprintf(stderr, "Display: True-color visual failed\n");
25+	/* center */
26+	screen = ScreenOfDisplay(display, 0);
27+	screen_width = screen->width, screen_height = screen->height;
28 	window = XCreateSimpleWindow(display, RootWindow(display, 0), 0, 0, WIDTH, HEIGHT, 1, 0, 0);
29 	display_hidecursor();
30 	display_floating(display, window);
31@@ -1214,7 +1221,7 @@ main(int argc, char **argv)
32 {
33 	int i = 1;
34 	if(argc == 2 && argv[1][0] == '-' && argv[1][1] == 'v')
35-		return !fprintf(stdout, "Uxn11 - Varvara Emulator, 17 May 2025.\n");
36+		return !fprintf(stdout, "Uxn11 - Varvara Emulator, 24 Jun 2025.\n");
37 	else if(argc == 1)
38 		return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
39 	else if(!display_init())
40@@ -1229,6 +1236,7 @@ main(int argc, char **argv)
41 			console_input('\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA);
42 		}
43 	}
44+	XMoveWindow(display, window, screen_width / 2 - uxn_screen.width / 2, screen_height / 2 - uxn_screen.height / 2);
45 	emu_run();
46 	console_close();
47 	XDestroyImage(ximage), XDestroyWindow(display, window), XCloseDisplay(display);