From ef4400d8440cc462ca4145aa7ddbf169f8abf7f6 Mon Sep 17 00:00:00 2001 From: speedie Date: Mon, 19 Jun 2023 02:23:46 +0200 Subject: [PATCH] Fix loading from file dynamically on Wayland --- libs/draw.c | 25 ++++++++++++++++++++----- spmenu.c | 4 ++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/libs/draw.c b/libs/draw.c index df3558f..defffed 100644 --- a/libs/draw.c +++ b/libs/draw.c @@ -544,17 +544,32 @@ int drawcaps(int x, int y, int w) { void drawmenu(void) { #if USEWAYLAND if (protocol) { - readfile(); drawmenu_layer(); +#if USEIMAGE + drawimage(); +#endif + if (listfile) { + readfile(); + + if (listchanged) { + resizeclient(); + match(); + + for (int i = 0; i < itemnumber; i++) { + if (sel && sel->right && (sel = sel->right) == next) { + curr = next; + } + } + + drawmenu_layer(); + } + } + wl_surface_set_buffer_scale(state.surface, 1); wl_surface_attach(state.surface, state.buffer, 0, 0); wl_surface_damage(state.surface, 0, 0, state.width, state.height); wl_surface_commit(state.surface); - -#if USEIMAGE - drawimage(); -#endif } else { drawmenu_layer(); } diff --git a/spmenu.c b/spmenu.c index 38fb038..f0c79be 100644 --- a/spmenu.c +++ b/spmenu.c @@ -249,12 +249,12 @@ static char *fonts[] = { font }; #include "libs/rtl.h" #include "libs/rtl.c" #include "libs/sort.c" +#include "libs/match.h" +#include "libs/match.c" #include "libs/draw.c" #include "libs/schemes.c" #include "libs/argv.h" #include "libs/argv.c" -#include "libs/match.h" -#include "libs/match.c" // include x11 code #include "libs/x11/inc.c"