diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-10-31 23:33:23 -0600 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-10-31 23:46:02 -0600 |
commit | 3cc22de712415342e4865eef099fcfde49bcf734 (patch) | |
tree | 93ce38e072d2eacbba8c3d142be965e3bd4588c7 | |
parent | 846ce52b926797dc51f9fcdc2d121ee63fb68580 (diff) |
client: don't change border color during drags
Fixes: https://github.com/djpohly/dwl/issues/318
-rw-r--r-- | dwl.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1185,8 +1185,9 @@ focusclient(Client *c, int lift) c->isurgent = 0; client_restack_surface(c); - /* Don't change border color if there is an exclusive focus */ - if (!exclusive_focus) + /* Don't change border color if there is an exclusive focus or we are + * handling a drag operation */ + if (!exclusive_focus && !seat->drag) for (i = 0; i < 4; i++) wlr_scene_rect_set_color(c->border[i], focuscolor); } @@ -2261,6 +2262,9 @@ void startdrag(struct wl_listener *listener, void *data) { struct wlr_drag *drag = data; + /* During drag the focus isn't sent to clients, this causes that + * we don't update border color acording the pointer coordinates */ + focusclient(NULL, 0); if (!drag->icon) return; |