When I hot plug my external monitor (usb-c) kanshi fails to apply the profile. However, it works as expected if kanshi is (re)started while the monitor is already plugged in.
Kanshi config:
profile Normal {
output eDP-1 enable scale 2 position 0,0
}
profile Home {
output eDP-1 enable position 420,1080
output "Unknown ASUS PA279 0x00003300" enable scale 2 position 0,0
}
Logs with WAYLAND_DEBUG=1
[2407059.967] wl_display@1.delete_id(16)
[2407059.980] zwlr_output_manager_v1@3.head(new id zwlr_output_head_v1@4278190080)
[2407059.985] zwlr_output_head_v1@4278190080.name("DP-3")
[2407059.988] zwlr_output_head_v1@4278190080.description("Unknown ASUS PA279 0x00003300 (DP-3)")
[2407059.990] zwlr_output_head_v1@4278190080.physical_size(600, 340)
[2407059.994] zwlr_output_head_v1@4278190080.mode(new id zwlr_output_mode_v1@4278190081)
[2407059.998] zwlr_output_mode_v1@4278190081.size(3840, 2160)
[2407060.002] zwlr_output_mode_v1@4278190081.refresh(59997)
[2407060.004] zwlr_output_mode_v1@4278190081.preferred()
...
Same lines for all availables modes
...
[2407060.333] zwlr_output_head_v1@4278190080.enabled(0)
[2407060.336] zwlr_output_manager_v1@3.done(2756)
applying profile 'Home'
[2407060.343] -> zwlr_output_manager_v1@3.create_configuration(new id zwlr_output_configuration_v1@16, 2756)
applying profile output 'Unknown ASUS PA279 0x00003300' on connected head 'DP-3'
[2407060.350] -> zwlr_output_configuration_v1@16.enable_head(new id zwlr_output_configuration_head_v1@13, zwlr_output_head_v1@4278190080)
[2407060.355] -> zwlr_output_configuration_head_v1@13.set_mode(zwlr_output_mode_v1@4278190081)
[2407060.358] -> zwlr_output_configuration_head_v1@13.set_position(0, 0)
[2407060.362] -> zwlr_output_configuration_head_v1@13.set_scale(2.00000000)
applying profile output 'eDP-1' on connected head 'eDP-1'
[2407060.366] -> zwlr_output_configuration_v1@16.enable_head(new id zwlr_output_configuration_head_v1@19, zwlr_output_head_v1@4278190115)
[2407060.371] -> zwlr_output_configuration_head_v1@19.set_position(420, 1080)
[2407060.375] -> zwlr_output_configuration_v1@16.apply()
[2407060.377] wl_registry@2.global(47, "wl_output", 4)
[2407060.383] zwlr_output_head_v1@4278190080.enabled(1)
[2407060.385] zwlr_output_head_v1@4278190080.current_mode(zwlr_output_mode_v1@4278190081)
[2407060.388] zwlr_output_head_v1@4278190080.position(0, 0)
[2407060.392] zwlr_output_head_v1@4278190080.transform(0)
[2407060.395] zwlr_output_head_v1@4278190080.scale(2.00000000)
[2407060.398] zwlr_output_manager_v1@3.done(2796)
[2407060.777] wl_display@1.delete_id(19)
[2407060.787] wl_display@1.delete_id(13)
[2407060.791] zwlr_output_configuration_v1@16.cancelled()
[2407060.794] -> zwlr_output_configuration_v1@16.destroy()
configuration for profile 'Home' cancelled, retrying
Any idea ?
Can you try if 68031d0ae5ff ("Retry to apply profile immediately if we received done") helps?
Yes, it does fix the issue. Thank you!