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.
 
 
 
qddcswitch/README.md

2.4 KiB

qddcswitch

A Simple frontend for switching display inputs with 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:

     From:
     TRANSLATIONS += \
             locale/qddcswitch_en.ts \
             locale/qddcswitch_fi.ts
    
     To:
     TRANSLATIONS += \
             locale/qddcswitch_en.ts \
             locale/qddcswitch_fi.ts \
             locale/qddcswitch_de.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.