Comments (7)
@B0rax yeah, there was a bug in "check for unique monitor names" logic. Please re-try, I've pushed a fix to Master.
from display-switch.
mh I just found this https://www.eightforums.com/threads/tutorial-how-to-change-device-names-in-device-manager.15321/
maybe using that to change the name will work, I'll try tomorrow morning and report back
from display-switch.
that did not work, it seems to use the driver description and not the device name
from display-switch.
I think these are two separate problems:
- The app is not adaptive enough to deal with display names that are not unique.
- The app is not using the "true" display name on Windows when the "generic" display driver is in use.
I've pushed a quick commit to deal with problem 1 above: I added some logic to add a numeric index to the names if they are not unique, e.g. you'll get "Generic PnP monitor #1", "Generic PnP monitor #2", etc. Which is not great, but will allow you to target the right monitor with just "1" and "2" as the "monitor_id" in the config, if the index is stable.
I'll see what can be done about problem 2 later, will need to do some experimentation on Windows. Meanwhile, could you please run the following command from PowerShell:
Get-WmiObject -Query "Select * FROM WMIMonitorID" -Namespace root\wmi
(this would give an indication if Windows has any additional info about these monitors).
from display-switch.
Output: https://gist.github.com/phit/71549439133f4ba38687405f3dba67fd
The index appears to be stable, at least in the device manager, but I actually found some drivers for the older of the two, so one has a name now. However I only installed it on one of my PCs so far, I'll check in a couple hours on my other PC if your workaround works, I assume I'm not the only person that has never installed any display specific drivers.
Now I'm running into a bunch of other issues with the displays, but I'll make separate issues for that if its not the monitors DDC implementations fault (which it probably is).
from display-switch.
With this new commit it is still not working for me.
From the log file:
08:06:56 [INFO] Display 'Generic PnP Monitor' is currently set to Hdmi1(0x11)
08:06:56 [INFO] Display 'Generic PnP Monitor' is currently set to DisplayPort1(0xf)
08:07:11 [DEBUG] (1) display_switch::app: Detected device change. Removed device: "05e3:0612"
08:07:11 [INFO] Monitored device is ("05e3:0612") is disconnected
08:07:11 [INFO] Display 'Generic PnP Monitor' is not configured to switch on USB disconnect
08:07:11 [INFO] Display 'Generic PnP Monitor' is not configured to switch on USB disconnect
My config file looks like this:
usb_device = "05E3:0612"
[monitor1]
monitor_id = 1
on_usb_connect = "Hdmi1"
on_usb_disconnect = "DisplayPort1"
[monitor2]
monitor_id = 2
on_usb_connect = "DisplayPort1"
on_usb_disconnect = "Hdmi1"
from display-switch.
That worked! Thank you 👍
from display-switch.
Related Issues (20)
- rusb callbacks never hit on macOS 12.4 HOT 1
- Doesn't open on Windows HOT 1
- main branch build fails with --locked because version differs between Cargo.toml and Cargo.lock HOT 1
- DDC error, even though I am not even trying to control a DDC monitor HOT 1
- Dual display setup with unconfigured monitor throwing an error HOT 2
- 100% CPU usage on Linux HOT 1
- Daisy chaining 2 displays with only 1 that supports DDC drops the second monitor when changing HOT 3
- `build.rs`'s `rerun-if-changed` directives don't expand `*.swift` HOT 1
- [Question] I'm considering user-friendly crossplatform UI. Anything already in the works? HOT 2
- [Question] Does this require installation? HOT 1
- [linux] laptop connected to dual monitors via a dock HOT 1
- Arch linux needs newer ddc-i2c HOT 1
- Switch on system (Application) boot HOT 1
- FR expand ~ in on_usb_connect_execute HOT 1
- USB Monitor Controls
- 1.3.0 on Windows doesn't detect USB changes HOT 2
- Support multiple command executions with `on_usb_<event>_execute` HOT 1
- Error when installing and no .ini or log files?
- Sceptre C35 InputSources
- index out of bounds HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from display-switch.