A Simple Qt frontend for switching display inputs with ddcutil.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.4 KiB

# qddcswitch
A Simple frontend for switching display inputs with [ddcutil](https://github.com/rockowitz/ddcutil).
## About
### Features
- Scans displays and all their inputs, allowing you to select which ones to control.
- Control the inputs of the selected displays from a simple window.
- Refresh the input state of the selected displays manually (to circumvent desync).
- Set custom names for displays.
- Save and load displays to/from file.
- Automatically load displays from file on application startup with the switch `-m, --monitorfile <path to file>`
### Requirements
- Qt5
- libddcutil
### Building
This application can be compiled with the provided shell scripts `build_debug.sh` or `build_release.sh`, for debug and release builds respectively.
Using those scripts, the builds are placed in `build_debug` and `build_release` based on which script is run.
## Translations
To add translations for this application:
1. Edit `qddcswitch.pro`, and append the new language file to the `TRANSLATIONS` key, for example:
locale/qddcswitch_en.ts \
locale/qddcswitch_en.ts \
locale/qddcswitch_fi.ts \
2. Either Run `generate_translations.sh` (uses `lupdate`) to generate new `.ts` file for your language, or simply just copy one existing file, in `./locale`
3. Edit the file either with Qt Linquist, or manually with a text editor.
4. Recompile the application. The `qddcswitch.pro` file has instructions to run `lrelease-pro` to generate and then copy the `.qm` files to the build folder, so they should work automatically.
**Note:** The program loads `.qm` files based on your system locale (`env LANGUAGE`). So it should load a translation without recompiling the application too.
Last, you can add your credit(s) to `res/translators.json` if you want to:
"languageCode": "fi",
"translators": [ "Okxa" ]
"languageCode": "de",
"translators": [ "Dr. Translator", "Another Translator" ]
## Known Issues
#### Issues concerning improper DCC implementation of a display
Issues like a display not reporting the correct capabilites or input values. Might result in incorrect display of input state. Nothing I or ddcutil can fix.