diff --git a/doc/ENV.md b/doc/ENV.md deleted file mode 100644 index 001c3011..00000000 --- a/doc/ENV.md +++ /dev/null @@ -1,5 +0,0 @@ -Platforms that support both X11 and Wayland (Linux, namely) support launching Milsko programs with following environment variables: - -- `MW_BACKEND`: set to either `wayland` or `x11` to force which display protocol Wayland uses -- `MW_FORCE_CSD`: set to force the wayland backend to use CSD instead of SSD -- `MW_LIGHT_THEME`/`MW_DARK_THEME`: set to have either wayland or x11 ignore the system's appearence settings and either just use light theme/dark theme. diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 8822f68a..6647672d 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -41,11 +41,6 @@ struct _MwLLCommon { MwBool supports_transparency; MwLLHandler handler; - -#if defined(USE_WAYLAND) || defined(USE_X11) - /* 0 = default, 1 = light, 2 = dark */ - int theme_override; -#endif }; struct _MwLLCommonColor { @@ -369,9 +364,9 @@ MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px); MWDECL void (*MwFLFontFree)(void* handle); #ifdef _WIN32 -MWDECL void* MwLL_winmmLib; -MWDECL long(__stdcall* MwLL_PFN_timeGetTime)(void); -MWDECL unsigned int(__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); +MWDECL void *MwLL_winmmLib; +MWDECL long (__stdcall* MwLL_PFN_timeGetTime)(void); +MWDECL unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); #endif #ifdef __cplusplus diff --git a/src/backend/wayland/wayland.c b/src/backend/wayland/wayland.c index 6d34e491..34d2e130 100644 --- a/src/backend/wayland/wayland.c +++ b/src/backend/wayland/wayland.c @@ -942,13 +942,11 @@ static void dark_theme_listener(MwLL handle, MwU32 new_value) { static void detect_dark_theme(MwLL handle) { MwU32 value = 0; - if(handle->common.theme_override != 0) { - handle->wayland.dark_theme = (handle->common.theme_override == 2) ? 1 : 0; - } else { - MwLLDBusPortalGet(&wl_call_tbl.dbus, &handle->wayland.dbus, "org.freedesktop.portal.Settings", "org.freedesktop.appearance", "color-scheme", &value); - handle->wayland.dark_theme = (value == 1) ? 1 : 0; - MwLLDBusPortalWatch(&wl_call_tbl.dbus, &handle->wayland.dbus, "org.freedesktop.portal.Settings"); - } + MwLLDBusPortalGet(&wl_call_tbl.dbus, &handle->wayland.dbus, "org.freedesktop.portal.Settings", "org.freedesktop.appearance", "color-scheme", &value); + handle->wayland.dark_theme = (value == 1) ? 1 : 0; + + MwLLDBusPortalWatch(&wl_call_tbl.dbus, &handle->wayland.dbus, "org.freedesktop.portal.Settings"); + MwLLDispatch(handle, dark_theme, &handle->wayland.dark_theme); } #endif @@ -1383,8 +1381,9 @@ static int MwLLPendingImpl(MwLL handle) { } #ifdef USE_DBUS - if(wl_call_tbl.has_dbus || handle->common.theme_override == 0) { + if(wl_call_tbl.has_dbus) { if(handle->wayland.dark_theme_detection) { + handle->wayland.dark_theme_detection = MwFALSE; detect_dark_theme(handle); MwLLDispatch(handle, draw, NULL); @@ -1908,22 +1907,10 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { static int MwLLWaylandCallInitImpl(void) { #ifdef __linux__ - MwBool loadWayland = MwFALSE; - char* milsko_backend_env = getenv("MILSKO_BACKEND"); - char* mw_backend_env = getenv("MW_BACKEND"); - - if(milsko_backend_env || mw_backend_env) { - if(milsko_backend_env) { - /* - * (deprecated since 1.5+ but we have no reason to ever remove the old variable. - * MW_BACKEND is just the one that's documented) - */ - printf("[WARNING] MILSKO_BACKEND env is deprecated, use MW_BACKEND instead.\n"); - loadWayland |= (strcmp(milsko_backend_env, "wayland") == 0); - } else { - loadWayland |= (strcmp(mw_backend_env, "wayland") == 0); - } - + MwBool loadWayland = MwFALSE; + if(getenv("MILSKO_BACKEND")) { + loadWayland |= + (strcmp(getenv("MILSKO_BACKEND"), "wayland") == 0); } else if(getenv("WAYLAND_DISPLAY")) { loadWayland |= (getenv("WAYLAND_DISPLAY") != NULL); } diff --git a/src/backend/x11.c b/src/backend/x11.c index 8b908e47..cc4d22bc 100644 --- a/src/backend/x11.c +++ b/src/backend/x11.c @@ -327,12 +327,9 @@ static XVisualInfo* get_visual_info(Display* display) { static void detect_dark_theme(MwLL handle) { MwU32 value = 0; MwU32 dark_theme = 0; - if(handle->common.theme_override != 0) { - dark_theme = (handle->common.theme_override == 2) ? 1 : 0; - } else { - MwLLDBusPortalGet(&xsymtbl.dbus, &handle->x11.dbus, "org.freedesktop.portal.Settings", "org.freedesktop.appearance", "color-scheme", &value); - dark_theme = (value == 1) ? 1 : 0; - } + MwLLDBusPortalGet(&xsymtbl.dbus, &handle->x11.dbus, "org.freedesktop.portal.Settings", "org.freedesktop.appearance", "color-scheme", &value); + + dark_theme = (value == 1) ? 1 : 0; MwLLDispatch(handle, dark_theme, &dark_theme); } @@ -655,7 +652,7 @@ static int MwLLPendingImpl(MwLL handle) { if(handle->x11.dark_theme_detection) { handle->x11.dark_theme_detection = MwFALSE; #ifdef USE_DBUS - if(xsymtbl.has_dbus || handle->common.theme_override == 0) { + if(xsymtbl.has_dbus) { detect_dark_theme(handle); MwLLDispatch(handle, draw, NULL); } @@ -1406,21 +1403,10 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) { } static int MwLLX11CallInitImpl(void) { - MwBool loadX11 = MwFALSE; - char* milsko_backend_env = getenv("MILSKO_BACKEND"); - char* mw_backend_env = getenv("MW_BACKEND"); - - if(milsko_backend_env || mw_backend_env) { - if(milsko_backend_env) { - /* - * (deprecated since 1.5+ but we have no reason to ever remove the old variable. - * MW_BACKEND is just the one that's documented) - */ - printf("[WARNING] MILSKO_BACKEND env is deprecated, use MW_BACKEND instead.\n"); - loadX11 |= (strcmp(milsko_backend_env, "x11") == 0); - } else { - loadX11 |= (strcmp(mw_backend_env, "x11") == 0); - } + MwBool loadX11 = MwFALSE; + if(getenv("MILSKO_BACKEND")) { + loadX11 |= + (strcmp(getenv("MILSKO_BACKEND"), "x11") == 0); } else if(getenv("DISPLAY")) { loadX11 |= (getenv("DISPLAY") != NULL); } diff --git a/src/lowlevel.c b/src/lowlevel.c index 32070d9e..2fe15356 100644 --- a/src/lowlevel.c +++ b/src/lowlevel.c @@ -1,9 +1,9 @@ #include #ifdef _WIN32 -void* MwLL_winmmLib; -long(__stdcall* MwLL_PFN_timeGetTime)(void); -unsigned int(__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); +void *MwLL_winmmLib; +long (__stdcall* MwLL_PFN_timeGetTime)(void); +unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period); #endif MwLL (*MwLLCreate)(MwLL parent, int x, int y, int width, int height) = NULL; @@ -66,22 +66,10 @@ void (*MwLLRaise)(MwLL handle) = NULL; void (*MwLLClip)(MwLL handle, MwRect* rect) = NULL; void MwLLCreateCommon(MwLL handle) { -#if defined(USE_WAYLAND) || defined(USE_X11) - char* light_theme = getenv("MW_LIGHT_THEME"); - char* dark_theme = getenv("MW_DARK_THEME"); -#endif - handle->common.handler = malloc(sizeof(*handle->common.handler)); memset(handle->common.handler, 0, sizeof(*handle->common.handler)); handle->common.supports_transparency = 0; - -#if defined(USE_WAYLAND) || defined(USE_X11) - if(light_theme || dark_theme) { - handle->common.theme_override = (light_theme != NULL) ? 1 : ((dark_theme != NULL) ? 2 : 0); - } - -#endif } void MwLLDestroyCommon(MwLL handle) {