Merge branch 'fix/ddcutil-hang'
This commit is contained in:
commit
46ef2b6e53
1 changed files with 22 additions and 6 deletions
|
|
@ -69,19 +69,35 @@ Singleton {
|
||||||
// Detect DDC monitors
|
// Detect DDC monitors
|
||||||
Process {
|
Process {
|
||||||
id: ddcProc
|
id: ddcProc
|
||||||
command: ["ddcutil", "detect", "--brief"]
|
property list<var> ddcMonitors: []
|
||||||
|
command: ["ddcutil", "detect", "--sleep-multiplier=0.5"]
|
||||||
stdout: StdioCollector {
|
stdout: StdioCollector {
|
||||||
onStreamFinished: {
|
onStreamFinished: {
|
||||||
// Do not filter out invalid displays. For some reason --brief returns some invalid which works fine
|
// Do not filter out invalid displays. For some reason --brief returns some invalid which works fine
|
||||||
var displays = text.trim().split("\n\n")
|
var displays = text.trim().split("\n\n")
|
||||||
root.ddcMonitors = displays.map(d => {
|
|
||||||
var modelMatch = d.match(/Monitor:.*:(.*):.*/)
|
|
||||||
|
ddcProc.ddcMonitors = displays.map(d => {
|
||||||
|
|
||||||
|
var ddcModelMatc = d.match(/This monitor does not support DDC\/CI/)
|
||||||
|
var modelMatch = d.match(/Model:\s*(.*)/)
|
||||||
var busMatch = d.match(/I2C bus:[ ]*\/dev\/i2c-([0-9]+)/)
|
var busMatch = d.match(/I2C bus:[ ]*\/dev\/i2c-([0-9]+)/)
|
||||||
|
var ddcModel = ddcModelMatc ? ddcModelMatc.length > 0 : false
|
||||||
|
var model = modelMatch ? modelMatch[1] : "Unknown"
|
||||||
|
var bus = busMatch ? busMatch[1] : "Unknown"
|
||||||
|
Logger.log(
|
||||||
|
"Detected DDC Monitor:", model,
|
||||||
|
"on bus", bus, "is DDC:", !ddcModel
|
||||||
|
)
|
||||||
return {
|
return {
|
||||||
"model": modelMatch ? modelMatch[1] : "",
|
"model": model,
|
||||||
"busNum": busMatch ? busMatch[1] : ""
|
"busNum": bus,
|
||||||
|
"isDdc": !ddcModel,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
root.ddcMonitors = ddcProc.ddcMonitors.filter(m => m.isDdc)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue