diff options
| author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-09-08 12:24:13 -0500 | 
|---|---|---|
| committer | Leonardo Hernández Hernández <leohdz172@proton.me> | 2023-02-13 13:14:29 -0600 | 
| commit | 23ede80f741d8452dbf223226974476ef8860541 (patch) | |
| tree | 8c6c761d754b2d2316669ee54ad082baaa05e5cd | |
| parent | f7d6a34cd98e3c090956c8a263a44972c3ffa05e (diff) | |
allow configure x and y of outputs
| -rw-r--r-- | config.def.h | 6 | ||||
| -rw-r--r-- | dwl.c | 8 | 
2 files changed, 10 insertions, 4 deletions
| diff --git a/config.def.h b/config.def.h index a4f7c13..419e6ef 100644 --- a/config.def.h +++ b/config.def.h @@ -29,12 +29,12 @@ static const Layout layouts[] = {  /* monitors */  static const MonitorRule monrules[] = { -	/* name       mfact nmaster scale layout       rotate/reflect */ +	/* name       mfact nmaster scale layout       rotate/reflect                x    y */  	/* example of a HiDPI laptop monitor: -	{ "eDP-1",    0.5,  1,      2,    &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL }, +	{ "eDP-1",    0.5,  1,      2,    &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL    -1,  -1 },  	*/  	/* defaults */ -	{ NULL,       0.55, 1,      1,    &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL }, +	{ NULL,       0.55, 1,      1,    &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL,   -1,  -1 },  };  /* keyboard */ @@ -194,6 +194,7 @@ typedef struct {  	float scale;  	const Layout *lt;  	enum wl_output_transform rr; +	int x, y;  } MonitorRule;  typedef struct { @@ -908,6 +909,8 @@ createmon(struct wl_listener *listener, void *data)  			wlr_xcursor_manager_load(cursor_mgr, r->scale);  			m->lt[0] = m->lt[1] = r->lt;  			wlr_output_set_transform(wlr_output, r->rr); +			m->m.x = r->x; +			m->m.y = r->y;  			break;  		}  	} @@ -953,7 +956,10 @@ createmon(struct wl_listener *listener, void *data)  	 * output (such as DPI, scale factor, manufacturer, etc).  	 */  	m->scene_output = wlr_scene_output_create(scene, wlr_output); -	wlr_output_layout_add_auto(output_layout, wlr_output); +	if (m->m.x < 0 || m->m.y < 0) +		wlr_output_layout_add_auto(output_layout, wlr_output); +	else +		wlr_output_layout_add(output_layout, wlr_output, m->m.x, m->m.y);  }  void | 
