emersion/kanshi

kanshi uses last matching output when two external monitors are identical

Closed this issue ยท 2 comments

I have two identical external monitors connected to their own DP outputs. When I run kanshi it finds my configuration, but will use the last output for both monitors. Nothing seems to get applied in the end. Positioning remains the same as before I ran kanshi

Here's my config:

{
	output eDP-1
}

{
	output eDP-1 position 0,360
	output DP-3 position 1920,0
	output DP-6 position 4480,0
}

Kanshi output:

Connected outputs:
output DP-6 vendor LEN product P24q-10 serial U4P00001
output eDP-1 vendor AUO product 0x243D serial 0x0
output DP-3 vendor LEN product P24q-10 serial U4P00001
Matching configuration: Some([MatchedOutput { connected: ConnectedOutput { name: "eDP-1", edid: EDID { header: Header { vendor: ['A', 'U', 'O'], product: 9277, serial: 0, week: 0, year: 26, version: 1, revision: 4 }, display: Display { video_input: 149, width: 31, height: 17, gamma: 120, features: 2 }, chromaticity: (), established_timing: (), standard_timing: (), descriptors: [DetailedTiming, DetailedTiming, UnspecifiedText("AUO"), UnspecifiedText("B140HAN02.4")] } }, saved: SavedOutput { name: "eDP-1", vendor: "", product: "", serial: "", enabled: true, width: 0, height: 0, rate: 0.0, x: 0, y: 360, primary: false, scale: 0 } }, MatchedOutput { connected: ConnectedOutput { name: "DP-6", edid: EDID { header: Header { vendor: ['L', 'E', 'N'], product: 24997, serial: 16843009, week: 51, year: 28, version: 1, revision: 4 }, display: Display { video_input: 165, width: 53, height: 30, gamma: 120, features: 24 }, chromaticity: (), established_timing: (), standard_timing: (), descriptors: [DetailedTiming, SerialNumber("U4P00001"), RangeLimits, ProductName("P24q-10")] } }, saved: SavedOutput { name: "DP-3", vendor: "", product: "", serial: "", enabled: true, width: 0, height: 0, rate: 0.0, x: 1920, y: 0, primary: false, scale: 0 } }, MatchedOutput { connected: ConnectedOutput { name: "DP-6", edid: EDID { header: Header { vendor: ['L', 'E', 'N'], product: 24997, serial: 16843009, week: 51, year: 28, version: 1, revision: 4 }, display: Display { video_input: 165, width: 53, height: 30, gamma: 120, features: 24 }, chromaticity: (), established_timing: (), standard_timing: (), descriptors: [DetailedTiming, SerialNumber("U4P00001"), RangeLimits, ProductName("P24q-10")] } }, saved: SavedOutput { name: "DP-6", vendor: "", product: "", serial: "", enabled: true, width: 0, height: 0, rate: 0.0, x: 4480, y: 0, primary: false, scale: 0 } }])
output eDP-1 position 0,360
output DP-6 position 1920,0
output DP-6 position 4480,0

As you can see, kanshi outputs DP-6 for both monitors.

This log is from the now-defunct Rust version of kanshi. Please try again with the latest commit (and the latest sway commit).

Thanks! I indeed had the rust version in my path. Sorry for taking up your time ๐Ÿ˜“