Skip to content

Add UI for input source switching (VCP code 0x60)#727

Open
Ashesh3 wants to merge 1 commit into
emoacht:masterfrom
Ashesh3Projects:feature/input-switcher
Open

Add UI for input source switching (VCP code 0x60)#727
Ashesh3 wants to merge 1 commit into
emoacht:masterfrom
Ashesh3Projects:feature/input-switcher

Conversation

@Ashesh3
Copy link
Copy Markdown

@Ashesh3 Ashesh3 commented Jan 18, 2026

Note

This PR was developed with AI assistance

Summary

Adds a graphical user interface for switching monitor input sources directly from the Monitorian tray popup. This complements the existing command-line input switching functionality by providing a quick, visual way to change inputs.

  • Adds an input source button next to each monitor's brightness slider
  • Shows a popup with available input sources (auto-detected via VCP code 0x60)
  • Allows users to configure custom labels for inputs (e.g., rename "HDMI 1" to "Work PC")
  • Allows hiding unused inputs from the quick-switch menu
  • Settings are persisted per-monitor

How it works

  1. Enable "Enable switching input source" in the right-click settings menu
  2. Click the input source icon (monitor with signal lines) next to any monitor
  3. Select an input from the dropdown to switch immediately
  4. Use "Configure..." to customize input labels or hide unused inputs

Closes

Screenshots

image
image
image
image

@emoacht
Copy link
Copy Markdown
Owner

emoacht commented Apr 1, 2026

Thank you for the PR.
I appreciate the amount of work you put into developing this PR. I was really impressed by the way you built on the existing codebase to add this feature, even though it differs from what I would have implemented myself.

That said, I am rejecting this PR for two main reasons.

  1. In the previous issues referenced in this PR, I have repeatedly made it clear that switching input source will not become part of standard version. You should have been aware of that. This is not because I do not want to spend my time to implement it myself. I am not sure what your intention was in submitting this PR without any prior discussion, as stated in contributing guideline.

  2. In my view, there is a fundamental problem with the idea of switching input sources solely through the GUI. If a user has only one monitor connected to PC and switches the input source to another one, the user will instantly lose the access to the GUI. As such, the user will easily get trapped in a "can-opener in the can" situation and end up being forced to resort to the monitor's OSD menu.
    Of course, this situation can be mitigated by restricting when this function can be used, or by limiting the switchable input sources as you implemented in this PR. Even so, it is undeniable that users may still end up in such situation, and I can imagine that some of them will be very upset.
    Therefore, I am against offering a function that effectively leaves a user with no way back. This is why I believe that a hot key that cycles through input sources is the appropriate and safe method for switching. Commands are different story.

If you want to discuss it further, please open an issue.

@Ashesh3
Copy link
Copy Markdown
Author

Ashesh3 commented Apr 3, 2026

Hey @emoacht , Thank you for the kind words.

  1. I understand this feature won’t be incorporated. My intention was just to leave it available for anyone who might want a self-compiled build with this functionality. In hindsight, I should have followed the contribution guidelines and opened a discussion or used a fork instead of submitting a PR directly. I apologize for that. Please feel free to close the PR, no concerns from my side.

  2. Monitors that support multiple inputs (e.g., dual HDMI) always provide a hardware button or OSD menu to switch between them. Without that, such a product wouldn’t be viable in the market. This feature is meant as a shortcut for convenience. Users can still switch back using the monitor’s physical controls, or by using this software on both connected systems. I don’t see it as a major lock-out risk, but I understand your concern. This is just my perspective, not an attempt to push for merging the feature.

Thank you again for building and maintaining this project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants