mirror of
				https://github.com/DreamMaoMao/maomaowm.git
				synced 2025-11-03 09:01:47 -05:00 
			
		
		
		
	fix: dont use floating window as scroller root client
This commit is contained in:
		
							parent
							
								
									381b358a2b
								
							
						
					
					
						commit
						6ee6e51660
					
				
					 2 changed files with 6 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -357,7 +357,8 @@ void scroller(Monitor *m) {
 | 
			
		|||
	if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
 | 
			
		||||
		!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
 | 
			
		||||
		root_client = m->sel;
 | 
			
		||||
	} else if (m->prevsel && !client_is_unmanaged(m->prevsel)) {
 | 
			
		||||
	} else if (m->prevsel && ISTILED(m->prevsel) &&
 | 
			
		||||
			   !client_is_unmanaged(m->prevsel)) {
 | 
			
		||||
		root_client = m->prevsel;
 | 
			
		||||
	} else {
 | 
			
		||||
		root_client = center_select(m);
 | 
			
		||||
| 
						 | 
				
			
			@ -394,7 +395,7 @@ void scroller(Monitor *m) {
 | 
			
		|||
			  (m->prevsel->scroller_proportion * max_client_width) +
 | 
			
		||||
					  (root_client->scroller_proportion * max_client_width) >
 | 
			
		||||
				  m->w.width - 2 * scroller_structs - cur_gappih) &&
 | 
			
		||||
			 scroller_prefer_center)) {
 | 
			
		||||
			 ISTILED(m->prevsel) && scroller_prefer_center)) {
 | 
			
		||||
			target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2;
 | 
			
		||||
		} else {
 | 
			
		||||
			target_geom.x = root_client->geom.x > m->w.x + (m->w.width) / 2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -344,7 +344,8 @@ void vertical_scroller(Monitor *m) {
 | 
			
		|||
	if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
 | 
			
		||||
		!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
 | 
			
		||||
		root_client = m->sel;
 | 
			
		||||
	} else if (m->prevsel && !client_is_unmanaged(m->prevsel)) {
 | 
			
		||||
	} else if (m->prevsel && ISTILED(m->prevsel) &&
 | 
			
		||||
			   !client_is_unmanaged(m->prevsel)) {
 | 
			
		||||
		root_client = m->prevsel;
 | 
			
		||||
	} else {
 | 
			
		||||
		root_client = center_select(m);
 | 
			
		||||
| 
						 | 
				
			
			@ -381,7 +382,7 @@ void vertical_scroller(Monitor *m) {
 | 
			
		|||
			  (m->prevsel->scroller_proportion * max_client_height) +
 | 
			
		||||
					  (root_client->scroller_proportion * max_client_height) >
 | 
			
		||||
				  m->w.height - 2 * scroller_structs - cur_gappiv) &&
 | 
			
		||||
			 scroller_prefer_center)) {
 | 
			
		||||
			 ISTILED(m->prevsel) && scroller_prefer_center)) {
 | 
			
		||||
			target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2;
 | 
			
		||||
		} else {
 | 
			
		||||
			target_geom.y = root_client->geom.y > m->w.y + (m->w.height) / 2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue