mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-11-03 09:01:45 -05:00 
			
		
		
		
	fix smartborders
This commit is contained in:
		
							parent
							
								
									0bbf1f65da
								
							
						
					
					
						commit
						0d3a1d0c8a
					
				
					 1 changed files with 24 additions and 8 deletions
				
			
		
							
								
								
									
										32
									
								
								dwl.c
									
										
									
									
									
								
							
							
						
						
									
										32
									
								
								dwl.c
									
										
									
									
									
								
							| 
						 | 
					@ -808,8 +808,12 @@ commitnotify(struct wl_listener *listener, void *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	Client *c = wl_container_of(listener, c, commit);
 | 
						Client *c = wl_container_of(listener, c, commit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (client_surface(c)->mapped)
 | 
						if (client_surface(c)->mapped) {
 | 
				
			||||||
		resize(c, c->geom, (c->isfloating && !c->isfullscreen), 1);
 | 
							if (c->mon && c->mon->lt[c->mon->sellt]->arrange && !c->isfullscreen && !c->isfloating)
 | 
				
			||||||
 | 
								c->mon->lt[c->mon->sellt]->arrange(c->mon);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								resize(c, c->geom, (c->isfloating && !c->isfullscreen), (c->isfloating && !c->isfullscreen));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* mark a pending resize as completed */
 | 
						/* mark a pending resize as completed */
 | 
				
			||||||
	if (c->resize && c->resize <= c->surface.xdg->current.configure_serial)
 | 
						if (c->resize && c->resize <= c->surface.xdg->current.configure_serial)
 | 
				
			||||||
| 
						 | 
					@ -1069,6 +1073,8 @@ createnotify(struct wl_listener *listener, void *data)
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
createpointer(struct wlr_pointer *pointer)
 | 
					createpointer(struct wlr_pointer *pointer)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						bool is_trackpad = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (wlr_input_device_is_libinput(&pointer->base)) {
 | 
						if (wlr_input_device_is_libinput(&pointer->base)) {
 | 
				
			||||||
		struct libinput_device *libinput_device = (struct libinput_device*)
 | 
							struct libinput_device *libinput_device = (struct libinput_device*)
 | 
				
			||||||
			wlr_libinput_get_device_handle(&pointer->base);
 | 
								wlr_libinput_get_device_handle(&pointer->base);
 | 
				
			||||||
| 
						 | 
					@ -1078,10 +1084,12 @@ createpointer(struct wlr_pointer *pointer)
 | 
				
			||||||
			libinput_device_config_tap_set_drag_enabled(libinput_device, tap_and_drag);
 | 
								libinput_device_config_tap_set_drag_enabled(libinput_device, tap_and_drag);
 | 
				
			||||||
			libinput_device_config_tap_set_drag_lock_enabled(libinput_device, drag_lock);
 | 
								libinput_device_config_tap_set_drag_lock_enabled(libinput_device, drag_lock);
 | 
				
			||||||
			libinput_device_config_tap_set_button_map(libinput_device, button_map);
 | 
								libinput_device_config_tap_set_button_map(libinput_device, button_map);
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (libinput_device_config_scroll_has_natural_scroll(libinput_device))
 | 
								if (libinput_device_config_scroll_has_natural_scroll(libinput_device)) {
 | 
				
			||||||
			libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling);
 | 
									libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling);
 | 
				
			||||||
 | 
									is_trackpad = true;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (libinput_device_config_dwt_is_available(libinput_device))
 | 
							if (libinput_device_config_dwt_is_available(libinput_device))
 | 
				
			||||||
			libinput_device_config_dwt_set_enabled(libinput_device, disable_while_typing);
 | 
								libinput_device_config_dwt_set_enabled(libinput_device, disable_while_typing);
 | 
				
			||||||
| 
						 | 
					@ -1101,9 +1109,17 @@ createpointer(struct wlr_pointer *pointer)
 | 
				
			||||||
		if (libinput_device_config_send_events_get_modes(libinput_device))
 | 
							if (libinput_device_config_send_events_get_modes(libinput_device))
 | 
				
			||||||
			libinput_device_config_send_events_set_mode(libinput_device, send_events_mode);
 | 
								libinput_device_config_send_events_set_mode(libinput_device, send_events_mode);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (libinput_device_config_accel_is_available(libinput_device)) {
 | 
							/* different profiles for trackpad and mouse */
 | 
				
			||||||
			libinput_device_config_accel_set_profile(libinput_device, accel_profile);
 | 
							if (is_trackpad) {
 | 
				
			||||||
			libinput_device_config_accel_set_speed(libinput_device, accel_speed);
 | 
								if (libinput_device_config_accel_is_available(libinput_device)) {
 | 
				
			||||||
 | 
									libinput_device_config_accel_set_profile(libinput_device, accel_profile_trackpad);
 | 
				
			||||||
 | 
									libinput_device_config_accel_set_speed(libinput_device, accel_speed_trackpad);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								if (libinput_device_config_accel_is_available(libinput_device)) {
 | 
				
			||||||
 | 
									libinput_device_config_accel_set_profile(libinput_device, accel_profile);
 | 
				
			||||||
 | 
									libinput_device_config_accel_set_speed(libinput_device, accel_speed);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue