@@ -63,17 +63,19 @@ twin_window_t *twin_window_create(twin_screen_t *screen,
6363 width += left + right ;
6464 height += top + bottom ;
6565#else
66- /* No-WM: ignore position, clamp to screen, no decorations */
66+ /* No-WM: the single window always covers the entire screen
67+ * regardless of what the application requested. The screen
68+ * dimensions are authoritative -- they come from the backend
69+ * (hardware resolution for fbdev, window size for SDL, etc.).
70+ */
6771 left = 0 ;
6872 top = 0 ;
6973 right = 0 ;
7074 bottom = 0 ;
7175 x = 0 ;
7276 y = 0 ;
73- if (width > screen -> width )
74- width = screen -> width ;
75- if (height > screen -> height )
76- height = screen -> height ;
77+ width = screen -> width ;
78+ height = screen -> height ;
7779#endif
7880
7981 window -> client .left = left ;
@@ -156,14 +158,12 @@ void twin_window_configure(twin_window_t *window,
156158#if defined(CONFIG_WINDOW_MANAGER )
157159 _twin_window_style_size (style , & border );
158160#else
159- /* No-WM: ignore position, clamp to screen, zero margins */
161+ /* No-WM: always match the screen provided by the backend. */
160162 border .left = border .right = border .top = border .bottom = 0 ;
161163 x = 0 ;
162164 y = 0 ;
163- if (width > window -> screen -> width )
164- width = window -> screen -> width ;
165- if (height > window -> screen -> height )
166- height = window -> screen -> height ;
165+ width = window -> screen -> width ;
166+ height = window -> screen -> height ;
167167#endif
168168
169169 twin_pixmap_disable_update (window -> pixmap );
0 commit comments