set correct position for unmanaged clients
- don't allow to move/resize with them - don't focus unmanaged clients on buttonpress()
This commit is contained in:
		
				
					committed by
					
						 Leonardo Hernández Hernández
						Leonardo Hernández Hernández
					
				
			
			
				
	
			
			
			
						parent
						
							b92c0ff57f
						
					
				
				
					commit
					863eedd05e
				
			
							
								
								
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							| @@ -645,7 +645,8 @@ buttonpress(struct wl_listener *listener, void *data) | ||||
| 	case WLR_BUTTON_PRESSED:; | ||||
| 		/* Change focus if the button was _pressed_ over a client */ | ||||
| 		xytonode(cursor->x, cursor->y, NULL, &c, NULL, NULL, NULL); | ||||
| 		if (c) | ||||
| 		/* Don't focus unmanaged clients */ | ||||
| 		if (c && !client_is_unmanaged(c)) | ||||
| 			focusclient(c, 1); | ||||
|  | ||||
| 		keyboard = wlr_seat_get_keyboard(seat); | ||||
| @@ -1328,9 +1329,12 @@ mapnotify(struct wl_listener *listener, void *data) | ||||
| 	} | ||||
|  | ||||
| 	if (client_is_unmanaged(c)) { | ||||
| 		client_get_geometry(c, &c->geom); | ||||
| 		/* Floating, no border */ | ||||
| 		wlr_scene_node_reparent(c->scene, layers[LyrFloat]); | ||||
| 		c->bw = 0; | ||||
| 		wlr_scene_node_set_position(c->scene, c->geom.x + borderpx, | ||||
| 			c->geom.y + borderpx); | ||||
|  | ||||
| 		/* Insert this independent into independents lists. */ | ||||
| 		wl_list_insert(&independents, &c->link); | ||||
| @@ -1442,7 +1446,7 @@ moveresize(const Arg *arg) | ||||
| 	if (cursor_mode != CurNormal) | ||||
| 		return; | ||||
| 	xytonode(cursor->x, cursor->y, NULL, &grabc, NULL, NULL, NULL); | ||||
| 	if (!grabc) | ||||
| 	if (!grabc || client_is_unmanaged(grabc)) | ||||
| 		return; | ||||
|  | ||||
| 	/* Float the window and tell motionnotify to grab it */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user