COM.DDCUTIL.DDCU(7)
โจ com.ddcutil.DdcutilInterface โจ
okay bestie, welcome to COM.DDCUTIL.DDCU(7) โ this is the manual page for the D-Bus service named com.ddcutil.DdcutilInterface, and it's literally the virtual control panel era of your monitor dreams. ๐
๐ NAME ๐
com.ddcutil.DdcutilInterface โ D-Bus service for libddcutil VESA DDC Monitor Virtual Control Panel.
โจ METHODS โจ
here's the whole squad of methods, bestie. signatures stay exactly as they are because we do not mess with types. ๐
Restart (IN s text_options,
IN u syslog_level,
IN u flags,
OUT i error_status,
OUT s error_message);
Detect (IN u flags,
OUT i number_of_displays,
OUT a(iiisssqsu) detected_displays,
OUT i error_status,
OUT s error_message);
ListDetected (IN u flags,
OUT i number_of_displays,
OUT a(iiisssqsu) detected_displays,
OUT i error_status,
OUT s error_message);
GetVcp (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN u flags,
OUT q vcp_current_value,
OUT q vcp_max_value,
OUT s vcp_formatted_value,
OUT i error_status,
OUT s error_message);
GetMultipleVcp (IN i display_number,
IN s edid_txt,
IN ay vcp_code,
IN u flags,
OUT a(yqqs) vcp_current_value,
OUT i error_status,
OUT s error_message);
SetVcp (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN q vcp_new_value,
IN u flags,
OUT i error_status,
OUT s error_message);
SetVcpWithContext (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN q vcp_new_value,
IN s client_context,
IN u flags,
OUT i error_status,
OUT s error_message);
GetVcpMetadata (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN u flags,
OUT s feature_name,
OUT s feature_description,
OUT b is_read_only,
OUT b is_write_only,
OUT b is_rw,
OUT b is_complex,
OUT b is_continuous,
OUT i error_status,
OUT s error_message);
GetCapabilitiesString (IN i display_number,
IN s edid_txt,
IN u flags,
OUT s capabilities_text,
OUT i error_status,
OUT s error_message);
GetCapabilitiesMetadata (IN i display_number,
IN s edid_txt,
IN u flags,
OUT s model_name,
OUT y mccs_major,
OUT y mccs_minor,
OUT a{ys} commands,
OUT a{y(ssa{ys})} capabilities,
OUT i error_status,
OUT s error_message);
GetDisplayState (IN i display_number,
IN s edid_txt,
IN u flags,
OUT i status,
OUT s message);
GetSleepMultiplier (IN i display_number,
IN s edid_txt,
IN u flags,
OUT d current_multiplier,
OUT i error_status,
OUT s error_message);
SetSleepMultiplier (IN i display_number,
IN s edid_txt,
IN d new_multiplier,
IN u flags,
OUT i error_status,
OUT s error_message);
๐ฆ SIGNALS ๐ฆ
these are the little notifications the service can send out into the group chat. ๐ซถ
ConnectedDisplaysChanged (s edid_txt,
i event_type,
u flags);
VcpValueChanged (i display_number,
s edid_txt,
y vcp_code,
q vcp_new_value,
s source_client_name,
s source_client_context,
u flags);
ServiceInitialized (u flags);
๐ธ PROPERTIES ๐ธ
these are the readable/readwrite properties, with their exact types. no cap. โจ
AttributesReturnedByDetectโ readableasStatusValuesโ readablea{is}DdcutilVersionโ readablesDdcutilDynamicSleepโ readwritebDdcutilOutputLevelโ readwriteuDisplayEventTypesโ readablea{is}ServiceInterfaceVersionโ readablesServiceInfoLoggingโ readwritebServiceEmitConnectivitySignalsโ readwritebServiceEmitSignalsโ readwritebServiceFlagOptionsโ readablea{is}ServiceParametersLockedโ readablebServicePollIntervalโ readwriteuServicePollCascadeIntervalโ readwrited
๐ DESCRIPTION ๐
okay so ddcutil-service is a D-Bus service wrapper for libddcutil which implements the VESA DDC Monitor Control Command Set. most things that can be controlled using a monitor's on-screen display can be controlled by this service. iconic, honestly. ๐
โ ๏ธ bestie, do not go feral writing VCP values. each VDU's NVRAM likely has a write-cycle limit/lifespan. the suggested guideline is to limit updates to rates comparable to those observed when using the VDU's onboard controls. avoid coding that might rapidly or infinitely loop, including when recovering from errors and bugs. this is a real caution, not a vibe. ๐
๐จ non-standard manufacturer specific features should only be experimented with caution, some may have irreversible consequences, including bricking the hardware. like, actually bricking it. please be careful. ๐ญ
for many of the methods a VDU can be specified by either passing the DDC display_number or DDC EDID. the EDID is the more stable identifier, it remains unchanged if the number of connected or powered-up VDUs changes, whereas the DDCA display numbers may be reallocated. when passing an EDID, pass -1 for display_number, otherwise both are tied with the display_number having precedence. iykyk. ๐ฆ
methods that accept an base-64 encoded EDID will accept a prefix of the EDID when passed a flags value of 1. this is intended as a convenience for passing EDIDs on the command line. periodt. ๐
๐ METHOD DETAILS ๐
๐ The Restart() method
Restart (IN s text_options,
IN u syslog_level,
IN u flags,
OUT i error_status,
OUT s error_message);
restarts the service with the supplied parameters. simple as that. โจ
if the service is configuration-locked, an com.ddcutil.DdcutilService.Error.ConfigurationLocked error is raised. so yeah, that's the locked-door moment. ๐
IN s text_optionsโ text options to be passed to libddcutilddca_init().IN u syslog_levelโ the libddcutil syslog level.IN u flagsโ for future use.OUT i error_statusโ a libddcutilDDCRCerror status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
๐ The Detect() method
Detect (IN u flags,
OUT i number_of_displays,
OUT a(iiisssqsu) detected_displays,
OUT i error_status,
OUT s error_message);
issues a detect and returns the VDUs detected. it's giving main character energy for your monitor lineup. ๐
the array detected_displays will be of length number_of_displays.
each element of detected_displays array will contain the fields specified by the AttributesReturnedByDetect property. the fields will include the libddcutil display-number and a base64-encoded EDID.
IN u flagsโ if set to8(DETECT_ALL), any invalid VDUs will be included in the results.OUT i number_of_displaysโ the number of VDUs detected (the length ofdetected_displays).OUT a(iiisssqsu) detected_displaysโ an array of structures describing the VDUs.OUT i error_statusโ a libddcutilDDCRCerror status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
๐ฆ The ListDetected() method
ListDetected (IN u flags,
OUT i number_of_displays,
OUT a(iiisssqsu) detected_displays,
OUT i error_status,
OUT s error_message);
returns the currently detected VDUs without performing using a new detect. this method is particularly useful for libddcutil 2.2+ where detection may occur in the background automatically. lowkey convenient. ๐
the array detected_displays will be of length number_of_displays.
each element of detected_displays array will contain the fields specified by the AttributesReturnedByDetect property. the fields will include the libddcutil display-number and a base64-encoded EDID.
IN u flagsโ for future useOUT i number_of_displaysโ no extra description in the source, just the count, bestie. ๐ซถOUT a(iiisssqsu) detected_displaysโ an array of structures describing the VDUs.OUT i error_statusโ a libddcutilDDCRCerror status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.OUT s error_messageโ text message forerror_status.
The GetVcp() method ๐
GetVcp (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN u flags,
OUT q vcp_current_value,
OUT q vcp_max_value,
OUT s vcp_formatted_value,
OUT i error_status,
OUT s error_message);
Okay so this one retrieves the value for a VCP-code for the specified VDU.
For simplicity, the returned vcp_current_value will always be a 16 bit integer. Most VCP values are single byte 8-bit integers, and very few are two-byte 16-bit.
The methodโs flags parameter can be set to 2 (RETURN_RAW_VALUE) โ see ddcutil-service.1 LIMITATIONS for the explanation, bestie.
The vcp_formatted_value contains the current value along with any related info, such as the maximum value. Itโs similar to the output of the ddcutil getvcp shell-command.
IN i display_numberโ the libddcutil/ddcutil display number to query.IN s edid_txtโ the base-64 encoded EDID of the display.IN y vcp_codeโ the VPC-code to query; for example,16(0x10) is brightness.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT q vcp_current_valueโ the current numeric value as a unified 16 bit integer.OUT q vcp_max_valueโ the maximum possible value, to allow for easy calculation of current/max.OUT s vcp_formatted_valueโ a formatted version of the value including related info such as the max-value.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The GetMultipleVcp() method ๐ฆ
GetMultipleVcp (IN i display_number,
IN s edid_txt,
IN ay vcp_code,
IN u flags,
OUT a(yqqs) vcp_current_value,
OUT i error_status,
OUT s error_message);
Retrieves several different VCP values for the specified VDU. This is a convenience method provided to more efficiently utilise D-Bus.
Each entry in the vcp_current_value array is a VCP-code along with its current, maximum and formatted values (the same as those returned by GetVcp).
The methodโs flags parameter can be set to 2 (RETURN_RAW_VALUES) โ yep, plural this time โ see ddcutil-service.1 LIMITATIONS for the explanation.
IN i display_numberโ the libddcutil/ddcutil display number to query.IN s edid_txtโ the base-64 encoded EDID of the display.IN ay vcp_codeโ the VPC-code to query.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT a(yqqs) vcp_current_valueโ an array of VCP-codes and values.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The SetVcp() method ๐
SetVcp (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN q vcp_new_value,
IN u flags,
OUT i error_status,
OUT s error_message);
Set the value for a VCP-code for the specified VDU.
For simplicity, the vcp_new_value is always passed as a 16 bit integer. Most VCP values are single byte 8-bit integers, and very few are two-byte 16-bit.
The methodโs flags parameter can be set to 4 (NO_VERIFY) to disable libddcutil verify and retry. Verification and retry is the default.
IN i display_numberโ the libddcutil/ddcutil display number to alter.IN s edid_txtโ the base-64 encoded EDID of the display.IN y vcp_codeโ the VPC-code to query.IN q vcp_new_valueโ the numeric value as a 16 bit integer.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The SetVcpWithContext() method ๐
SetVcpWithContext (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN q vcp_new_value,
IN s client_context,
IN u flags,
OUT i error_status,
OUT s error_message);
Set the value for a VCP-code for the specified VDU.
For simplicity, the vcp_new_value is always passed as a 16 bit integer. Most VCP values are single byte 8-bit integers, and very few are two-byte 16-bit.
The methodโs flags parameter can be set to 4 (NO_VERIFY) to disable libddcutil verify and retry. Verification and retry is the default.
IN i display_numberโ the libddcutil/ddcutil display number to alter.IN s edid_txtโ the base-64 encoded EDID of the display.IN y vcp_codeโ the VPC-code to query.IN q vcp_new_valueโ the numeric value as a 16 bit integer.IN s client_contextโ a client-context string that will be returned with theVcpValueChangedsignal.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The GetVcpMetadata() method ๐ธ
GetVcpMetadata (IN i display_number,
IN s edid_txt,
IN y vcp_code,
IN u flags,
OUT s feature_name,
OUT s feature_description,
OUT b is_read_only,
OUT b is_write_only,
OUT b is_rw,
OUT b is_complex,
OUT b is_continuous,
OUT i error_status,
OUT s error_message);
Retrieve the metadata for a VCP-code for the specified VDU. Metadata era โจ
IN i display_numberโ the libddcutil/ddcutil display number to query.IN s edid_txtโ the base-64 encoded EDID of the display.IN y vcp_codeโ the VPC-code to query.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT s feature_nameโ the feature name for the VCP-code.OUT s feature_descriptionโ the feature description, if any, of the VCP-code.OUT b is_read_onlyโ true if the feature is read-only.OUT b is_write_onlyโ true if the feature is write-only (for example, a code that turns the VDU off).OUT b is_rwโ true if the feature is readable and writable.OUT b is_complexโ true if the feature is complex (multi-byte).OUT b is_continuousโ true if the feature is a continuous value (it is not an enumeration).OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The GetCapabilitiesString() method ๐
GetCapabilitiesString (IN i display_number,
IN s edid_txt,
IN u flags,
OUT s capabilities_text,
OUT i error_status,
OUT s error_message);
Retrieve the capabilities metadata for a VDU in a format similar to that output by the command ddcutil terse capabilities (similar enough for parsing by common code).
IN i display_numberโ the libddcutil/ddcutil display number to query.IN s edid_txtโ the base-64 encoded EDID of the display.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT s capabilities_textโ the capability string for the VDU.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The GetCapabilitiesMetadata() method ๐
GetCapabilitiesMetadata (IN i display_number,
IN s edid_txt,
IN u flags,
OUT s model_name,
OUT y mccs_major,
OUT y mccs_minor,
OUT a{ys} commands,
OUT a{y(ssa{ys})} capabilities,
OUT i error_status,
OUT s error_message);
Retrieve the capabilities metadata for a VDU in a parsed dictionary structure indexed by VCP code.
The capabilities out parameter is an array of dictionary entries. Each entry consists of a VCP-code along with a struct containing the feature-name, feature-description, and an array of permitted-values. For features that have continuous values, the associated permitted-value array will be empty. For non-continuous features, the permitted-value array will contain a dictionary entry for each permitted value, each entry containing a permitted-value and value-name. Parsed and organized, periodt ๐
IN i display_numberโ the libddcutil/ddcutil display number to query.IN s edid_txtโ the base-64 encoded EDID of the display.IN u flagsโ if1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID.OUT s model_nameโ parsed model name string.OUT y mccs_majorโ MCCS major version number byte.OUT y mccs_minorโ MCCS minor version number byte.OUT a{ys} commandsโ supported commands as a dictionary indexed by command number.OUT a{y(ssa{ys})} capabilitiesโ supported VCP features as a dictionary indexed by VCP-code.OUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred.OUT s error_messageโ text message forerror_status.
The GetDisplayState() method ๐ซถ
GetDisplayState (IN i display_number,
IN s edid_txt,
IN u flags,
OUT i status,
OUT s message);
Retrieve the libddcutil display state.
Depending on the hardware and drivers, this method might return anything useful.
For libddcutil prior to 2.1, the method will return a libddcutil error_status of DDCRC_UNIMPLEMENTED. Important caveat, bestie โ no cap ๐ซถ
IN i display_numberโ the libddcutil/ddcutil display number you wanna query ๐IN s edid_txtโ the base-64 encoded EDID of the display โจIN u flagsโ if it's1(EDID_PREFIX), thenedid_txtgets matched as a unique prefix of the EDID ๐ฆOUT i statusโ a libddcutil display status ๐OUT s messageโ the text message for that display status ๐
๐ธ The GetSleepMultiplier() method ๐ธ
GetSleepMultiplier (IN i display_number,
IN s edid_txt,
IN u flags,
OUT d current_multiplier,
OUT i error_status,
OUT s error_message);
Gets the current libddcutil sleep multiplier for the VDU you specified, bestie ๐
Ngl, in more recent versions of libddcutil this value is generally managed automatically, so you probs won't need it โ but it's here ๐ซถ
IN i display_numberโ the libddcutil/ddcutil display number to query ๐IN s edid_txtโ the base-64 encoded EDID of the display โญIN u flagsโ if it's1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID ๐ฆOUT d current_multiplierโ the sleep multiplier ๐ดOUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred โOUT s error_messageโ text message forerror_status๐ฌ
๐ The SetSleepMultiplier() method ๐
SetSleepMultiplier (IN i display_number,
IN s edid_txt,
IN d new_multiplier,
IN u flags,
OUT i error_status,
OUT s error_message);
Sets the libddcutil sleep multiplier for the specified VDU. Periodt ๐
So in more recent versions of libddcutil this is generally managed automatically, but this method exists for when you genuinely need manual control โ think problem hardware, the messy kind ๐ญ
Heads up bestie: before you take manual control of the sleep-multiplier, set theDdcutilDynamicSleepproperty tofalseso the multiplier doesn't get automatically returned. Fr fr, do this first ๐
If the service is configuration-locked, a com.ddcutil.DdcutilService.Error.ConfigurationLocked error is raised. Locked is locked ๐
IN i display_numberโ the libddcutil/ddcutil display number to query ๐IN s edid_txtโ the base-64 encoded EDID of the display โจIN d new_multiplierโ the sleep multiplier ๐ดIN u flagsโ if it's1(EDID_PREFIX), theedid_txtis matched as a unique prefix of the EDID ๐ฆOUT i error_statusโ a libddcutil DDCRC error status.DDCRC_OK(zero) if no errors have occurred โOUT s error_messageโ text message forerror_status๐ฌ
๐ฅ SIGNAL DETAILS ๐ฅ
โจ The ConnectedDisplaysChanged "signal" โจ
ConnectedDisplaysChanged (s edid_txt,
i event_type,
u flags);
Where the hardware and drivers support it, this signal fires when a display's connection status changes โ cabling, power, or DPMS, any of it ๐
Which of the states listed by the DisplayEventTypes property can actually be signaled is up to the hardware, cabling and drivers (and lowkey there's no way to determine the possibilities programmatically, so don't come for me) ๐ญ
Requires theServiceEmitConnectivitySignalsproperty to be set totrue. No property, no signal ๐ซถ
s edid_txtโ the base-64 encoded EDID of the display ๐i event_typeโ a value matching one of those from theDisplayEventTypesproperty โญu flagsโ for future use ๐ฎ
๐ The VcpValueChanged "signal" ๐
VcpValueChanged (i display_number,
s edid_txt,
y vcp_code,
q vcp_new_value,
s source_client_name,
s source_client_context,
u flags);
This signal gets raised when a SetVcp or SetVcpWithContext method call succeeds. Slay, the value actually changed ๐
i display_numberโ the display number ๐ขs edid_txtโ the base-64 encoded EDID of the display โจy vcp_codeโ the VCP code whose value changed ๐ฏq vcp_new_valueโ the new value ๐s source_client_nameโ (no description given in the original, it just sits there being mysterious) ๐ต๏ธs source_client_contextโ (same deal, no description โ iconic cryptic behavior honestly) ๐u flagsโ not currently in use ๐ซ
๐ The ServiceInitialized "signal" ๐
ServiceInitialized (u flags);
Raised when the service is initialized โจ It gives clients a way to detect restarts and reinstate properties or other settings โ so if the service ghosted you and came back, you'll know ๐ซถ
u flagsโ for future use ๐ฎ
๐ PROPERTY DETAILS ๐
๐ธ The AttributesReturnedByDetect "property" ๐ธ
AttributesReturnedByDetect readable as
The text names of each of the fields in the array of structs returned by the Detect method ๐
๐ฆ The StatusValues "property" ๐ฆ
StatusValues readable a{is}
The list of libddcutil status values and their text names that might show up in the error_status out-parameter of most of the service methods ๐ฌ
โญ The DdcutilVersion "property" โญ
DdcutilVersion readable s
The ddcutil version number for the linked libddcutil ๐ท๏ธ
๐ด The DdcutilDynamicSleep "property" ๐ด
DdcutilDynamicSleep readwrite b
Turns automatic adjustment of the sleep-multiplier on/off ๐ Before you use the SetSleepMultiplier method, set this property to false to stop any automatic retuning of the multiplier. Trust, you want that off first ๐
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ The DdcutilOutputLevel "property" ๐
DdcutilOutputLevel readwrite u
Changes the libddcutil diagnostic output-level ๐ฃ๏ธ See the libddcutil/ddcutil documentation for the details, iykyk ๐
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ The DisplayEventTypes "property" ๐
DisplayEventTypes readable a{is}
A list of the event types sent by the ConnectedDisplaysChanged signal, along with their text names ๐๏ธ Events are included for display connection/disconnection (hotplug), DPMS-sleep, and DPMS-wake ๐
If the list is empty, that means the GPU, GPU-driver, or libddcutil version does not support display event detection. Sad but valid ๐ญ
๐ The ServiceInterfaceVersion "property" ๐
ServiceInterfaceVersion readable s
The interface version of this service ๐ท๏ธ As long as the major number stays the same, the service stays backward compatible with existing clients ๐ซถ
๐ The ServiceInfoLogging "property" ๐
ServiceInfoLogging readwrite b
Enables/disables info and debug level logging inside the service executable ๐ชต (the service uses glib logging, fyi) โจ
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ก The ServiceEmitConnectivitySignals "property" ๐ก
ServiceEmitConnectivitySignals readwrite b
Because VDU connectivity change detection involves some polling, this property lets you disable it when it's unecessary ๐ด Like, for example, when the configuration of VDUs is fixed and nothing's ever gonna change ๐
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ The ServiceEmitSignals "property" ๐
ServiceEmitSignals readwrite b
Deprecated ๐ฌ The name was too generic, so it got replaced by ServiceEmitConnectivitySignals. RIP to a real one ๐ชฆ
๐ฉ The ServiceFlagOptions "property" ๐ฉ
ServiceFlagOptions readable a{is}
The list of available flag values that can be passed to the service methods ๐ณ๏ธ Just know that not all options apply to all methods โ read the room ๐
๐ The ServiceParametersLocked "property" ๐
ServiceParametersLocked readable b
Tells you whether the lock command line argument has been used to prevent configuration changes via method calls and property changes ๐ซ The whole vibe check of "can I change this or not" ๐
โฑ๏ธ The ServicePollInterval "property" โฑ๏ธ
ServicePollInterval readwrite u
Query or set the display change detection poll-interval performed by the service (minimum 10 seconds, zero to disable polling) ๐ฐ๏ธ
If libddcutil supports change detection and it actually works for the hardware, drivers and cabling in use, then the service's internal polling may be unecessary โ in that case, turn polling off by setting the interval to zero 0๏ธโฃ
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ The ServicePollCascadeInterval "property" ๐
ServicePollCascadeInterval readwrite d
Query or set the display change detection poll-cascade-interval (minimum 0.1 seconds) โณ When you're dealing with a cascade of events โ say, several VDUs all set to DPMS sleep at once โ polling happens more frequently until the cascade is cleared ๐
Attempting to set this property when the service is configuration-locked will result in a com.ddcutil.DdcutilService.Error.ConfigurationLocked error being raised ๐
๐ AUTHOR ๐
Michael Hamilton ๐ซถ
๐ COPYRIGHT ๐
Copyright (C) 2023,2024 Michael Hamilton.
ddcutilโservice is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version ๐
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details ๐
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ๐ฌ
That's the whole page bestie, you made it ๐ This drop is from the ddcutil-service source, version 12/19/2024 โ go forth and slay your displays ๐
โจ๐
๐ฆ where this page comes from
- nixpkgs unstable: ddcutil-service 1.0.15
- opensuse-leap 16.0: ddcutil-service 1.0.14-bp160.1.4 ยท GPL-2.0-or-later
- opensuse-leap 16.0: ddcutil-service 1.0.14-bp160.1.4 ยท GPL-2.0-or-later
- opensuse-leap 16.0: ddcutil-service 1.0.14-bp160.1.4 ยท GPL-2.0-or-later
- opensuse-leap 16.0: ddcutil-service 1.0.14-bp160.1.4 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms