summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2020-04-25 01:18:28 -0500
committerDevin J. Pohly <djpohly@gmail.com>2020-04-25 01:18:28 -0500
commit6cad6985176c4e648273885795b1a52ff38fcec9 (patch)
treea34748fec015dd37345d6c927c73a1884e3b7feb
parent9b9ef0bae554a9449c652c00fd48e20af6f1deb7 (diff)
fix multi-dpi scaling
-rw-r--r--README.md18
-rw-r--r--dwl.c4
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())