[1mdiff --git a/src/app.c b/src/app.c[m
[1mindex f44fdf4f..a2d80bf2 100644[m
[1m--- a/src/app.c[m
[1m+++ b/src/app.c[m
[36m@@ -373,6 +373,14 @@[m [mstatic void init_App_(iApp *d, int argc, char **argv) {[m
#if defined (iPlatformMsys)[m
/* Must scale by UI scaling factor. */[m
mulfv_I2(&d->initialWindowRect.size, desktopDPI_Win32());[m
[32m+[m[32m#endif[m
[32m+[m[32m#if defined (iPlatformLinux)[m
[32m+[m[32m /* Scale by the primary (?) monitor DPI. */ {[m
[32m+[m[32m float vdpi;[m
[32m+[m[32m SDL_GetDisplayDPI(0, NULL, NULL, &vdpi);[m
[32m+[m[32m const float factor = vdpi / 96.0f;[m
[32m+[m[32m mulfv_I2(&d->initialWindowRect.size, iMax(factor, 1.0f));[m
[32m+[m[32m }[m
#endif[m
init_Prefs(&d->prefs);[m
setCStr_String(&d->prefs.downloadDir, downloadDir_App_);[m
[1mdiff --git a/src/ui/window.c b/src/ui/window.c[m
[1mindex 8df92706..f8123a17 100644[m
[1m--- a/src/ui/window.c[m
[1m+++ b/src/ui/window.c[m
[36m@@ -685,7 +685,12 @@[m [mstatic float pixelRatio_Window_(const iWindow *d) {[m
#if defined (iPlatformMsys)[m
iUnused(d);[m
return desktopDPI_Win32();[m
[31m-#else[m
[32m+[m[32m#elif defined (iPlatformLinux)[m
[32m+[m[32m float vdpi = 0.0f;[m
[32m+[m[32m SDL_GetDisplayDPI(SDL_GetWindowDisplayIndex(d->win), NULL, NULL, &vdpi);[m
[32m+[m[32m const float factor = vdpi / 96.0f;[m
[32m+[m[32m return iMax(1.0f, factor);[m
[32m+[m[32m#else[m[41m [m
int dx, x;[m
SDL_GetRendererOutputSize(d->render, &dx, NULL);[m
SDL_GetWindowSize(d->win, &x, NULL);[m
[36m@@ -764,6 +769,7 @@[m [mvoid init_Window(iWindow *d, iRect rect) {[m
useExecutableIconResource_SDLWindow(d->win);[m
#endif[m
#if defined (iPlatformLinux)[m
[32m+[m[32m SDL_SetWindowMinimumSize(d->win, minSize.x * d->pixelRatio, minSize.y * d->pixelRatio);[m
/* Load the window icon. */ {[m
int w, h, num;[m
const iBlock *icon = &imageLagrange64_Embedded;[m
[36m@@ -1033,7 +1039,7 @@[m [miInt2 rootSize_Window(const iWindow *d) {[m
}[m
[m
iInt2 coord_Window(const iWindow *d, int x, int y) {[m
[31m-#if defined (iPlatformMsys)[m
[32m+[m[32m#if defined (iPlatformMsys) || defined (iPlatformLinux)[m
/* On Windows, surface coordinates are in pixels. */[m
return init_I2(x, y);[m
#else[m
text/plain
This content has been proxied by September (ba2dc).