From 00d302a8196fd4d8d006d78c10e08014b220403e Mon Sep 17 00:00:00 2001 From: Palanix Date: Mon, 4 Apr 2022 16:08:29 +0200 Subject: [PATCH] Updated patch now allowing setting x and y MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Leonardo Hernández Hernández 0 otherwise you will not have a displayed screen. }; /* keyboard */ diff --git a/dwl.c b/dwl.c index fa76db2..ef2d2f1 100644 --- a/dwl.c +++ b/dwl.c @@ -212,6 +212,10 @@ typedef struct { const Layout *lt; enum wl_output_transform rr; int x, y; + int resx; + int resy; + float rate; + int adaptive; } MonitorRule; typedef struct { @@ -876,15 +880,19 @@ createmon(struct wl_listener *listener, void *data) strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, LENGTH(m->ltsymbol)); wlr_output_state_set_scale(&state, r->scale); wlr_output_state_set_transform(&state, r->rr); + + if(r->name) + wlr_output_state_set_custom_mode(&state, r->resx, r->resy, + r->rate > 0 ? (int)(r->rate * 1000) : 0); + else + wlr_output_state_set_mode(&state, wlr_output_preferred_mode(wlr_output)); + + wlr_output_state_set_adaptive_sync_enabled(&state, r->adaptive); break; } } - /* The mode is a tuple of (width, height, refresh rate), and each - * monitor supports only a specific set of modes. We just pick the - * monitor's preferred mode; a more sophisticated compositor would let - * the user configure it. */ - wlr_output_state_set_mode(&state, wlr_output_preferred_mode(wlr_output)); + wlr_output_init_render(wlr_output, alloc, drw); /* Set up event listeners */ LISTEN(&wlr_output->events.frame, &m->frame, rendermon); -- 2.43.2