id = "ddcutil" name = "ddcutil" homepage = "https://www.ddcutil.com/" description = "Control monitor settings using DDC/CI and USB." executables = ["ddcutil", "ddcui"] platforms = ["linux"] [dotfiles] # ddcutil's official configuration-file documentation says it first looks for # ddcutil/ddcutilrc and ddcutil/ddcuirc below XDG_CONFIG_HOME, normally # ~/.config/ddcutil/. ddcutilrc is shared with libddcutil; ddcuirc is the # separate ddcui file introduced in release 2.0. # https://www.ddcutil.com/config_file/ # https://www.ddcutil.com/ddcui_release_notes/ paths = [ "[configHome]/ddcutil/ddcutilrc", "[configHome]/ddcutil/ddcuirc", ] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Monitor settings" description = "Query and change monitor settings over DDC/CI. Relative +/- changes, dumpvcp/loadvcp, diagnostics and USB options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["detect"] label = "Detect monitors" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/bookworm/ddcutil/ddcutil.1.en.html" evidence = """ detect "Report monitors" -v, --verbose Show extended detail """ [[commands.subcommand.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["man"] [[commands.subcommand.task]] id = "detect" label = "Detect monitors" fields = ["verbose"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["verbose"] [[commands.subcommand]] path = ["getvcp"] label = "Read a feature" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/bookworm/ddcutil/ddcutil.1.en.html" evidence = """ getvcp [ feature-code | feature-group ] Report a single VCP feature value, or a group of feature values feature-code A feature-code is specified by its 2 character hex feature number, with or without a leading "0x", e.g. 0x10, 10 ALL|KNOWN COLOR PROFILE SCAN -t, --terse, --brief Show brief detail. For command getvcp, the output is in machine readable form. -v, --verbose Show extended detail -d , --dis , --display display-number logical display number (starting from 1) -b,--bus bus-number I2C bus number """ [[commands.subcommand.field]] id = "feature" label = "Feature code or group" description = "Hex code such as 10 (brightness) or a group such as ALL, KNOWN, COLOR, PROFILE, SCAN." type = "string" position = 0 suggestions = [{ value = "10", label = "Brightness (0x10)" }, { value = "12", label = "Contrast (0x12)" }, { value = "ALL", label = "All known features" }, { value = "COLOR", label = "Color features" }] sources = ["man"] [[commands.subcommand.field]] id = "display" label = "Display number" description = "Logical display number, starting from 1. Default is the first detected monitor." type = "integer" option = ["--display", "-d"] sources = ["man"] [[commands.subcommand.field]] id = "bus" label = "I2C bus number" type = "integer" option = ["--bus", "-b"] sources = ["man"] [[commands.subcommand.field]] id = "terse" label = "Machine-readable output" type = "boolean" option = ["--terse", "-t"] sources = ["man"] [[commands.subcommand.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["man"] [[commands.subcommand.task]] id = "brightness" label = "Read brightness" fields = ["feature", "display", "bus"] required = [] set = { feature = ["10"] } [[commands.subcommand.task]] id = "get" label = "Read a feature" fields = ["feature", "display", "bus", "terse"] required = ["feature"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["feature", "display", "terse"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["bus", "verbose"] [[commands.subcommand]] path = ["setvcp"] label = "Set a feature" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/bookworm/ddcutil/ddcutil.1.en.html" evidence = """ setvcp feature-code [+|-] new-value Set a single VCP feature value. If + or - is specified, it must be surrounded by blanks, and indicates a relative value change of a Continuous VCP feature. feature-code new-value Normally, this is a decimal number in the range 0..255, or a hexadecimal number in the range x00..xff. -d , --dis , --display display-number logical display number (starting from 1) -b,--bus bus-number I2C bus number """ [[commands.subcommand.field]] id = "feature" label = "Feature code" description = "Hex feature number such as 10 (brightness)." type = "string" position = 0 suggestions = [{ value = "10", label = "Brightness (0x10)" }, { value = "12", label = "Contrast (0x12)" }] sources = ["man"] [[commands.subcommand.field]] id = "value" label = "New value" description = "Decimal 0..255 or hex x00..xff." type = "string" position = 1 sources = ["man"] [[commands.subcommand.field]] id = "display" label = "Display number" description = "Logical display number, starting from 1. Default is the first detected monitor." type = "integer" option = ["--display", "-d"] sources = ["man"] [[commands.subcommand.field]] id = "bus" label = "I2C bus number" type = "integer" option = ["--bus", "-b"] sources = ["man"] [[commands.subcommand.task]] id = "set" label = "Set a feature" fields = ["feature", "value", "display", "bus"] required = ["feature", "value"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["feature", "value", "display"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["bus"]