From 6cad6985176c4e648273885795b1a52ff38fcec9 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Sat, 25 Apr 2020 01:18:28 -0500 Subject: [PATCH] fix multi-dpi scaling --- README.md | 18 +++++++----------- dwl.c | 4 ++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c8870e7..cc35f1b 100644 --- a/README.md +++ b/README.md @@ -77,17 +77,13 @@ user-level service manager like s6 or `systemd --user`. dwl is a work in progress, and it has not yet reached its feature goals in a number of ways: -- Features not yet implemented: - - xdg-shell popups - - Urgent/attention/focus-request - - Normal/selected/urgent border colors - - layer-shell - - Statusbar support (built-in or external) - - Damage tracking - - Fullscreen/fixed windows (or whatever the Wayland analogues are) - - XWayland -- HiDPI works, but multi-DPI is not as nice as sway, depending on the scale - factors involved. Perhaps scaling filters are needed? +- Urgent/attention/focus-request +- Normal/selected/urgent border colors +- layer-shell +- Statusbar support (built-in or external) +- Damage tracking +- Fullscreen/fixed windows (or whatever the Wayland analogues are) +- XWayland ## Acknowledgements diff --git a/dwl.c b/dwl.c index 8144922..d09748a 100644 --- a/dwl.c +++ b/dwl.c @@ -633,6 +633,8 @@ maprequest(struct wl_listener *listener, void *data) wl_list_insert(&clients, &c->link); wl_list_insert(&fstack, &c->flink); wl_list_insert(&stack, &c->slink); + /* XXX should check all outputs, also needs a send_leave counterpart */ + wlr_surface_send_enter(c->xdg_surface->surface, c->mon->wlr_output); keyboardfocus(c, NULL); } @@ -1033,6 +1035,8 @@ sendmon(Client *c, Monitor *m) if (c->mon == m) return; c->mon = m; + /* XXX should check all outputs, also needs a send_leave counterpart */ + wlr_surface_send_enter(c->xdg_surface->surface, c->mon->wlr_output); c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ if (c == selclient())