Switch an external monitor's input source (HDMI/DP/USB-C) via ddcutil. Requires ddcutil to be installed and working.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-004 warning
extension files should not contain excessive ungated console logging
File contains 9 ungated console.log/warn/error calls (threshold: 5).
ddcutil.js:72
console.log('[monitor-input-switch] cancelInFlight: force-exiting in-flight ddcutil subprocess')
ddcutil.js:86
console.log(`[monitor-input-switch] subprocess timeout after ${SUBPROCESS_TIMEOUT_MS}ms, killing: ${argv[0]}`)
ddcutil.js:105
console.log('[monitor-input-switch] sysfs pre-check: scanning /sys/class/drm')
ddcutil.js:113
console.log('[monitor-input-switch] sysfs pre-check: enumerate failed, falling through to ddcutil')
ddcutil.js:128
console.log(`[monitor-input-switch] sysfs pre-check: found connected external display (${name})`)
ddcutil.js:135
console.log('[monitor-input-switch] sysfs pre-check: iteration failed, falling through to ddcutil')
ddcutil.js:140
console.log('[monitor-input-switch] sysfs pre-check: no external display connected')
ddcutil.js:149
console.log('[monitor-input-switch] ddcutil detect: starting')
ddcutil.js:156
console.log(`[monitor-input-switch] ddcutil detect: found ${count} monitor(s)`)
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:31
this._itemsSection = new PopupMenu.PopupMenuSection()
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:31
this._itemsSection = new PopupMenu.PopupMenuSection()
Thanks for reviewing my extension! All of concerns raised from previous two versions have been addressed. We have to use "ddcutil" since there's no equivalent in the Gnome for now and plenty of other extensions are also using it, also we've clearly stated in the extension readme that this relies on ddcutil.
Also, as mentioned before, "timeout should be removed before creating a new one".