mirror of
https://codeberg.org/dwl/dwl-patches.git
synced 2025-09-08 12:14:50 +00:00
51 lines
1.4 KiB
Diff
51 lines
1.4 KiB
Diff
From 9d4b0ebb95381525351b05aad6a98f1747ae96e2 Mon Sep 17 00:00:00 2001
|
|
From: Dima Krasner <dima@dimakrasner.com>
|
|
Date: Thu, 21 Jul 2022 21:14:14 +0300
|
|
Subject: [PATCH] extend the display to the right
|
|
|
|
---
|
|
dwl.c | 13 +++++++++++--
|
|
1 file changed, 11 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/dwl.c b/dwl.c
|
|
index d48bf40..fb795e1 100644
|
|
--- a/dwl.c
|
|
+++ b/dwl.c
|
|
@@ -923,7 +923,8 @@ createmon(struct wl_listener *listener, void *data)
|
|
const MonitorRule *r;
|
|
size_t i;
|
|
struct wlr_output_state state;
|
|
- Monitor *m;
|
|
+ Monitor *om, *m;
|
|
+ int max_x = 0, max_x_y = 0, width, height;
|
|
|
|
if (!wlr_output_init_render(wlr_output, alloc, drw))
|
|
return;
|
|
@@ -967,6 +968,14 @@ createmon(struct wl_listener *listener, void *data)
|
|
wlr_output_commit_state(wlr_output, &state);
|
|
wlr_output_state_finish(&state);
|
|
|
|
+ wl_list_for_each(om, &mons, link) {
|
|
+ wlr_output_effective_resolution(om->wlr_output, &width, &height);
|
|
+ if (om->m.x + width > max_x) {
|
|
+ max_x = om->m.x + width;
|
|
+ max_x_y = om->m.y;
|
|
+ }
|
|
+ }
|
|
+
|
|
wl_list_insert(&mons, &m->link);
|
|
printstatus();
|
|
|
|
@@ -990,7 +999,7 @@ createmon(struct wl_listener *listener, void *data)
|
|
*/
|
|
m->scene_output = wlr_scene_output_create(scene, wlr_output);
|
|
if (m->m.x == -1 && m->m.y == -1)
|
|
- wlr_output_layout_add_auto(output_layout, wlr_output);
|
|
+ wlr_output_layout_add(output_layout, wlr_output, max_x, max_x_y);
|
|
else
|
|
wlr_output_layout_add(output_layout, wlr_output, m->m.x, m->m.y);
|
|
}
|
|
--
|
|
2.43.0
|
|
|