diff --git a/dvx/dvxApp.c b/dvx/dvxApp.c index 2073f99..d9d98c8 100644 --- a/dvx/dvxApp.c +++ b/dvx/dvxApp.c @@ -1597,7 +1597,18 @@ void dvxApplyColorScheme(AppContextT *ctx) { ctx->cursorFg = ctx->colors.cursorFg; ctx->cursorBg = ctx->colors.cursorBg; - // Repaint everything + // Repaint all windows with new colors + for (int32_t i = 0; i < ctx->stack.count; i++) { + WindowT *win = ctx->stack.windows[i]; + + if (win->widgetRoot) { + wgtInvalidate(win->widgetRoot); + } else { + dvxInvalidateWindow(ctx, win); + } + } + + // Repaint desktop area too (wallpaper/background between windows) dirtyListAdd(&ctx->dirty, 0, 0, d->width, d->height); }