mirror of
				https://codeberg.org/dwl/dwl-patches.git
				synced 2025-10-31 03:54:19 +00:00 
			
		
		
		
	 9c5d5d85f3
			
		
	
	
		9c5d5d85f3
		
			
		
	
	
	
	
		
			
			Eliminated wiki. Individual patches have a README.md explanation in their own subdirectory. Simplified submission of new patches and maintenance of existing patches. Instructions page (README.md autodisplayed) is now at https://codeberg.org/dwl/dwl-patches/
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 65e3f3eb1eea35601949499c0cd2c2032773b732 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 fa76db2..0fe3e97 100644
 | |
| --- a/dwl.c
 | |
| +++ b/dwl.c
 | |
| @@ -851,7 +851,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;
 | |
| @@ -895,6 +896,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();
 | |
|  
 | |
| @@ -918,7 +927,7 @@ createmon(struct wl_listener *listener, void *data)
 | |
|  	 */
 | |
|  	m->scene_output = wlr_scene_output_create(scene, wlr_output);
 | |
|  	if (m->m.x < 0 || m->m.y < 0)
 | |
| -		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
 | |
| 
 |