id = "ddcutil"
name = "ddcutil"
homepage = "https://www.ddcutil.com/"
description = "Control monitor settings using DDC/CI and USB."
executables = ["ddcutil", "ddcui"]
platforms = ["linux"]
[dotfiles]
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"]