introduce client_set_scale()
This commit is contained in:
		
							
								
								
									
										6
									
								
								client.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								client.h
									
									
									
									
									
								
							| @@ -331,6 +331,12 @@ client_set_fullscreen(Client *c, int fullscreen) | ||||
| 	wlr_xdg_toplevel_set_fullscreen(c->surface.xdg->toplevel, fullscreen); | ||||
| } | ||||
|  | ||||
| static inline void | ||||
| client_set_scale(struct wlr_surface *s, float scale) { | ||||
| 	wlr_fractional_scale_v1_notify_scale(s, scale); | ||||
| 	wlr_surface_set_preferred_buffer_scale(s, (int32_t)ceilf(scale)); | ||||
| } | ||||
|  | ||||
| static inline uint32_t | ||||
| client_set_size(Client *c, uint32_t width, uint32_t height) | ||||
| { | ||||
|   | ||||
							
								
								
									
										6
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								dwl.c
									
									
									
									
									
								
							| @@ -759,8 +759,7 @@ commitlayersurfacenotify(struct wl_listener *listener, void *data) | ||||
| 	struct wlr_layer_surface_v1_state old_state; | ||||
|  | ||||
| 	if (l->layer_surface->initial_commit) { | ||||
| 		wlr_fractional_scale_v1_notify_scale(layer_surface->surface, l->mon->wlr_output->scale); | ||||
| 		wlr_surface_set_preferred_buffer_scale(layer_surface->surface, (int32_t)ceilf(l->mon->wlr_output->scale)); | ||||
| 		client_set_scale(layer_surface->surface, l->mon->wlr_output->scale); | ||||
|  | ||||
| 		/* Temporarily set the layer's current state to pending | ||||
| 		 * so that we can easily arrange it */ | ||||
| @@ -800,8 +799,7 @@ commitnotify(struct wl_listener *listener, void *data) | ||||
| 		 */ | ||||
| 		applyrules(c); | ||||
| 		if (c->mon) { | ||||
| 			wlr_surface_set_preferred_buffer_scale(client_surface(c), (int)ceilf(c->mon->wlr_output->scale)); | ||||
| 			wlr_fractional_scale_v1_notify_scale(client_surface(c), c->mon->wlr_output->scale); | ||||
| 			client_set_scale(client_surface(c), c->mon->wlr_output->scale); | ||||
| 		} | ||||
| 		setmon(c, NULL, 0); /* Make sure to reapply rules in mapnotify() */ | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user