Omahub
← All plugins
P

DDC Input Switcher

by PropSuite

Visually configure and toggle monitor input sources using DDC/CI.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
c2b1bcf
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
c2b1bcf
Reviewed
1 month ago

The plugin is a legitimate DDC/CI monitor input switcher. It uses a bash helper that only interacts with ddcutil for VCP feature 0x60, validates all inputs, and writes only to its own state files plus an opt-in Hyprland binding file with a fixed format. No malicious behavior or dangerous shell usage was found.

  • The helper script sources a config file from the user's state directory; if an attacker could modify that file, they could inject shell commands, but this requires prior local access.
  • When a hotkey is enabled, the plugin writes to ~/.config/hypr/propsuite-dell-input.lua and runs hyprctl reload; this is opt-in and the generated content is safe.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/HazIQ-DevOps/omarchy-ddc-input-switcher --enable
Hardware #bar #quickshell #system

DDC Input Switcher for Omarchy

A native Omarchy Shell bar plugin for visually switching monitor inputs with DDC/CI. Click the bar widget to open a themed popup with a large A/B switch, monitor selection, source dropdowns, and persistent hotkey settings.

Features

  • Native Omarchy Panel, Dropdown, and Toggle controls
  • Live current-input display in the bar and popup
  • Visual Source A / Source B configuration
  • DisplayPort, HDMI-1, and HDMI-2 support
  • Automatic or explicit ddcutil display selection
  • Configurable global hotkey presets
  • Automatic source-pair swapping when both dropdowns would match
  • VCP writes restricted to input-source feature 0x60
  • Theme-aware and compatible with horizontal or vertical bars

Requirements

  • Omarchy with the Quickshell-based omarchy-shell
  • ddcutil
  • A monitor with DDC/CI enabled in its on-screen settings
  • User access to the relevant /dev/i2c-* device

Install the dependency through Omarchy if necessary:

omarchy pkg add ddcutil

Install

omarchy plugin add https://github.com/HazIQ-DevOps/omarchy-ddc-input-switcher.git --enable

The plugin is placed in the right bar section by default.

Enable a persistent hotkey (optional)

Hotkeys are disabled by default. Selecting a preset in the popup is the explicit opt-in that allows the plugin to create its own Hyprland binding module.

Omarchy loads user bindings from ~/.config/hypr/bindings.lua. Add this once:

require("hypr.propsuite-dell-input")

The plugin owns only ~/.config/hypr/propsuite-dell-input.lua; changing the hotkey in the popup regenerates that small file and reloads Hyprland. It never rewrites bindings.lua or unrelated bindings. If you leave the setting on Disabled, a fresh installation does not create a Hyprland file.

Then reload and validate:

hyprctl reload
hyprctl configerrors

Use

  1. Click the monitor-input widget in the Omarchy bar.
  2. Pick a monitor or leave it on Auto detect.
  3. Choose Source A and Source B.
  4. Choose a hotkey preset or disable the hotkey.
  5. Click the large toggle row to switch.

Settings are stored inline in ~/.config/omarchy/shell.json and apply immediately. The small helper cache lives under $XDG_STATE_HOME (normally ~/.local/state) so the plugin's Git checkout stays clean and updateable.

Remove

  1. Set the popup's hotkey to Disabled.
  2. Remove require("hypr.propsuite-dell-input") from ~/.config/hypr/bindings.lua if you added it.
  3. Remove the plugin:
omarchy plugin remove propsuite.dell-input

The plugin deliberately leaves user configuration and state available for a future reinstall. To clean up those plugin-owned files too, move them to the desktop trash and reload Hyprland:

gio trash ~/.config/hypr/propsuite-dell-input.lua
gio trash ~/.local/state/omarchy/plugins/propsuite.dell-input
hyprctl reload
hyprctl configerrors

Troubleshooting

Discover displays and read the current source:

~/.config/omarchy/plugins/propsuite.dell-input/ddc-input displays
~/.config/omarchy/plugins/propsuite.dell-input/ddc-input get

If no display appears, enable DDC/CI in the monitor menu and verify ddcutil detect --brief works as your normal user.

Security model

Omarchy plugins run as trusted user code. This plugin invokes ddcutil only for display discovery, reading VCP 0x60, and setting VCP 0x60 to one of the three supported input values (0x0f, 0x11, 0x12). Monitor numbers, source names, and hotkey values are validated before use.

License

MIT