XCMSDB(1)

๐Ÿ“ฆ
version 7.7+11build1 ยท 3 versions
, in alpine 3.24, arch rolling, debian trixie, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– xcmsdb ๐Ÿ’–

โœจ NAME โœจ

okay so the name is xcmsdb, and it's a Device Color Characterization utility for the X Color Management System ๐ŸŽ€

๐ŸŒธ SYNOPSIS ๐ŸŒธ

xcmsdb [ -query ] [ -remove ] [ -format 32|16|8 ] [ -help ] [ -version ]
[ filename ]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay bestie, so xcmsdb is how you load, query, or remove Device Color Characterization data. That data lives in properties on the root window of the screen, exactly like section 7, Device Color Characterization, of the ICCCM says ๐Ÿ“–โœจ

Device Color Characterization data (also called the Device Profile) is literally an integral part of Xlib's X Color Management System (Xcms) ๐Ÿ’…. Without it, colors can't get converted properly between device-independent and device-dependent forms. Main character energy for real ๐Ÿ‘‘

Xcms uses 3x3 matrices stored in the XDCCC_LINEAR_RGB_MATRICES property to convert color specs between CIEXYZ and RGB Intensity (XcmsRGBi, also called linear RGB) ๐ŸŒˆ. Then it uses display gamma info stored in the XDCCC_LINEAR_RGB_CORRECTION property to convert between RGBi and RGB device (XcmsRGB, also called device RGB) ๐Ÿซถ

Also, Xcms lets clients register function sets in addition to its built-in one for CRT color monitors ๐Ÿ–ฅ๏ธ. Those extra function sets can stash their device profile info in other properties, in their own function-set-specific format. Xcmsdb has no idea what those non-standard properties are, so it just doesn't touch them ๐Ÿ™ˆ

The ASCII readable contents of filename get transformed so they can be stored in properties ๐Ÿ’œ. If you don't give a file, it reads from standard input instead. This only happens when you're not using -query or -remove.

๐ŸŽ€ OPTIONS ๐ŸŽ€

xcmsdb program accepts the following options:

  • -query โ€” tries to read the XDCCC properties off the screen's root window ๐Ÿ‘€. If it works, it makes the data more readable and sends it to standard out โœจ
  • -remove โ€” tries to remove the XDCCC properties on the screen's root window ๐Ÿ—‘๏ธ
  • -format 32|16|8 โ€” sets the property format (32, 16, or 8 bits per entry) for the XDCCC_LINEAR_RGB_CORRECTION property ๐Ÿ”ฅ. The more bits per entry, the more precise the encoded floating point values get. Default is 32 bits per entry ๐Ÿ’…
  • -help โ€” prints a summary of the available options and exits ๐Ÿงš
  • -version โ€” prints the program version and exits ๐ŸŒธ

๐Ÿ“ SEE ALSO ๐Ÿ“

xprop(1), Xlib documentation ๐Ÿ“š

๐ŸŒˆ ENVIRONMENT ๐ŸŒˆ

  • DISPLAY โ€” this is how it figures out which display and screen to use ๐Ÿ’–

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Chuck Adams, Tektronix Inc. ๐Ÿซถ Al Tabayoyon, SynChromatics Inc. (added multi-visual support) ๐Ÿ’œ


๐Ÿฆ‹ that's the whole tea, bestie ๐Ÿ’… this page is from X Version 11, the xcmsdb 1.0.7 release, and it's the XCMSDB(1) manual page ๐ŸŽ€โœจ love you, mean it ๐Ÿ’–๐Ÿซถ