Files
fastfetch/doc/json_schema.json
T

4404 lines
241 KiB
JSON
Raw Normal View History

{
2024-02-26 16:39:41 +08:00
"$schema": "https://json-schema.org/draft-07/schema",
2023-06-18 02:07:34 +08:00
"$defs": {
"colors": {
"oneOf": [
{
"type": "string",
"$comment": "https://github.com/fastfetch-cli/fastfetch/wiki/Color-Format-Specification",
"examples": [
"reset_", "bright_", "dim_", "italic_", "underline_", "blink_", "inverse_", "hidden_", "strike_", "light_",
"black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "default"
]
},
{
"type": "null",
"$comment": "Disable default color"
}
2023-08-03 14:30:53 +08:00
]
2023-06-18 12:32:47 +08:00
},
"key": {
"description": "Key of the module\nOne whitespace character (` `) can be used to hide the key",
"type": "string",
"minLength": 1
2023-06-18 12:32:47 +08:00
},
"keyColor": {
"description": "Color of the module key to override the global setting `display.color.key`",
"$ref": "#/$defs/colors"
2023-06-18 12:32:47 +08:00
},
"keyWidth": {
"description": "Width of the module key to override the global setting `display.keyWidth`",
"type": "integer",
"minimum": 1
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"description": "Set the icon to be displayed by `display.keyType: \"icon\"`",
"type": "string"
},
"outputColor": {
"description": "Output color of the module to override the global setting `display.color.output`",
"$ref": "#/$defs/colors"
},
2024-11-14 14:22:24 +08:00
"percentType": {
"description": "Set the percentage output type",
"oneOf": [
{
"type": "number",
2025-04-04 18:15:54 +08:00
"description": "0 to use global setting, 1 for percentage number, 2 for multi-color bar, 3 for both, 6 for bar only, 9 for colored number, 10 for monochrome bar",
2024-11-14 14:22:24 +08:00
"minimum": 0,
"maximum": 255,
"default": 9
},
{
"type": "array",
2025-04-04 18:15:54 +08:00
"description": "Array of string flags",
2024-11-14 14:22:24 +08:00
"items": {
"enum": [
"num",
"bar",
"hide-others",
"num-color",
"bar-monochrome"
]
},
"uniqueItems": true,
2024-11-14 14:22:24 +08:00
"default": [
"num",
"num-color"
]
}
]
},
"percent": {
2025-04-04 18:15:54 +08:00
"description": "Thresholds for percentage colors",
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"properties": {
"green": {
"type": "integer",
"minimum": 0,
"maximum": 100,
2025-04-04 18:15:54 +08:00
"description": "Values less than green will be shown in green"
},
"yellow": {
"type": "integer",
"minimum": 0,
"maximum": 100,
2025-04-04 18:15:54 +08:00
"description": "Values greater than green and less than yellow will be shown in yellow.\nValues greater than yellow will be shown in red"
2024-11-14 14:22:24 +08:00
},
"type": {
"$ref": "#/$defs/percentType"
}
}
2024-02-26 16:39:41 +08:00
},
"temperature": {
"description": "Detect and display temperature if supported",
"oneOf": [
{
"type": "boolean",
"default": false
},
{
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2024-02-26 16:39:41 +08:00
"properties": {
"green": {
"type": "integer",
"minimum": 0,
"maximum": 100,
2025-04-04 18:15:54 +08:00
"description": "Values (in celsius) less than green will be shown in green"
2024-02-26 16:39:41 +08:00
},
"yellow": {
"type": "integer",
"minimum": 0,
"maximum": 100,
2025-04-04 18:15:54 +08:00
"description": "Values (in celsius) greater than green and less than yellow will be shown in yellow.\nValues greater than yellow will be shown in red"
2024-02-26 16:39:41 +08:00
}
}
}
]
},
"systems": {
"type": "string",
"enum": [
"Android",
"Linux",
"DragonFly",
"MidnightBSD",
"FreeBSD",
"macOS",
"Windows",
"SunOS",
"OpenBSD",
"NetBSD",
"Haiku"
]
},
"architectures": {
"type": "string",
"enum": [
"x86_64",
"i386",
"ia64",
"aarch64",
"arm",
"mips",
"powerpc",
"riscv",
"s390x",
"loongarch",
"sparc",
"alpha",
"hppa",
"m68k"
]
},
"conditions": {
"description": "Only show the module if conditions are met",
"type": "object",
"additionalProperties": false,
"properties": {
"system": {
"description": "System name to match",
"oneOf": [
{
"$ref": "#/$defs/systems"
},
{
"type": "array",
"uniqueItems": true,
"items": {
"$ref": "#/$defs/systems"
},
"description": "Array of system names to match"
},
{
"type": "null",
"description": "Null to disable this condition"
}
]
},
"!system": {
"description": "System name to not match",
"oneOf": [
{
"$ref": "#/$defs/systems"
},
{
"type": "array",
"uniqueItems": true,
"items": {
"$ref": "#/$defs/systems"
},
"description": "Array of system names to not match"
},
{
"type": "null",
"description": "Null to disable this condition"
}
]
},
"arch": {
"description": "Architecture to match",
"oneOf": [
{
"$ref": "#/$defs/architectures"
},
{
"type": "array",
"uniqueItems": true,
"items": {
"$ref": "#/$defs/architectures"
},
"description": "Array of architectures to match"
},
{
"type": "null",
"description": "Null to disable this condition"
}
]
},
"!arch": {
"description": "Architecture to not match",
"oneOf": [
{
"$ref": "#/$defs/architectures"
},
{
"type": "array",
"uniqueItems": true,
"items": {
"$ref": "#/$defs/architectures"
},
"description": "Array of architectures to not match"
},
{
"type": "null",
"description": "Null to disable this condition"
}
]
},
"succeeded": {
"description": "Whether the module succeeded in the last run",
"oneOf": [
{
"type": "boolean",
"description": "True to only show the module if it succeeded, false to only show it if it failed"
},
{
"type": "null",
"description": "Null to disable this condition"
}
]
}
}
},
2025-07-30 14:30:36 +08:00
"spaceBeforeUnit": {
"type": "string",
"description": "Whether to put a space before the unit",
"oneOf": [
{
"const": "default",
"description": "Use the default behavior of the module"
},
{
"const": "always",
"description": "Always add a space before the unit"
},
{
"const": "never",
"description": "Never add a space before the unit"
}
]
},
"batteryFormat": {
"description": "Output format of the module `Battery`. See Wiki for formatting syntax\n 1. {manufacturer}: Battery manufacturer\n 2. {model-name}: Battery model name\n 3. {technology}: Battery technology\n 4. {capacity}: Battery capacity (percentage num)\n 5. {status}: Battery status\n 6. {temperature}: Battery temperature (formatted)\n 7. {cycle-count}: Battery cycle count\n 8. {serial}: Battery serial number\n 9. {manufacture-date}: Battery manufactor date\n 10. {capacity-bar}: Battery capacity (percentage bar)\n 11. {time-days}: Battery time remaining days\n 12. {time-hours}: Battery time remaining hours\n 13. {time-minutes}: Battery time remaining minutes\n 14. {time-seconds}: Battery time remaining seconds\n 15. {time-formatted}: Battery time remaining (formatted)",
"type": "string"
},
"biosFormat": {
2025-05-29 10:13:39 +08:00
"description": "Output format of the module `BIOS`. See Wiki for formatting syntax\n 1. {date}: Bios date\n 2. {release}: Bios release\n 3. {vendor}: Bios vendor\n 4. {version}: Bios version\n 5. {type}: Firmware type",
"type": "string"
},
"bluetoothFormat": {
"description": "Output format of the module `Bluetooth`. See Wiki for formatting syntax\n 1. {name}: Name\n 2. {address}: Address\n 3. {type}: Type\n 4. {battery-percentage}: Battery percentage number\n 5. {connected}: Is connected\n 6. {battery-percentage-bar}: Battery percentage bar",
"type": "string"
},
"bluetoothradioFormat": {
"description": "Output format of the module `BluetoothRadio`. See Wiki for formatting syntax\n 1. {name}: Radio name for discovering\n 2. {address}: Address\n 3. {lmp-version}: LMP version\n 4. {lmp-subversion}: LMP subversion\n 5. {version}: Bluetooth version\n 6. {vendor}: Vendor\n 7. {discoverable}: Discoverable\n 8. {connectable}: Connectable / Pairable",
"type": "string"
},
"boardFormat": {
"description": "Output format of the module `Board`. See Wiki for formatting syntax\n 1. {name}: Board name\n 2. {vendor}: Board vendor\n 3. {version}: Board version\n 4. {serial}: Board serial number",
"type": "string"
},
"bootmgrFormat": {
"description": "Output format of the module `Bootmgr`. See Wiki for formatting syntax\n 1. {name}: Name / description\n 2. {firmware-path}: Firmware file path\n 3. {firmware-name}: Firmware file name\n 4. {secure-boot}: Is secure boot enabled\n 5. {order}: Boot order",
"type": "string"
},
"brightnessFormat": {
"description": "Output format of the module `Brightness`. See Wiki for formatting syntax\n 1. {percentage}: Screen brightness (percentage num)\n 2. {name}: Screen name\n 3. {max}: Maximum brightness value\n 4. {min}: Minimum brightness value\n 5. {current}: Current brightness value\n 6. {percentage-bar}: Screen brightness (percentage bar)\n 7. {is-builtin}: Is built-in screen",
"type": "string"
},
"btrfsFormat": {
"description": "Output format of the module `Btrfs`. See Wiki for formatting syntax\n 1. {name}: Name / Label\n 2. {uuid}: UUID\n 3. {devices}: Associated devices\n 4. {features}: Enabled features\n 5. {used}: Size used\n 6. {allocated}: Size allocated\n 7. {total}: Size total\n 8. {used-percentage}: Used percentage num\n 9. {allocated-percentage}: Allocated percentage num\n 10. {used-percentage-bar}: Used percentage bar\n 11. {allocated-percentage-bar}: Allocated percentage bar\n 12. {node-size}: Node size\n 13. {sector-size}: Sector size",
"type": "string"
},
"cameraFormat": {
"description": "Output format of the module `Camera`. See Wiki for formatting syntax\n 1. {name}: Device name\n 2. {vendor}: Vendor\n 3. {colorspace}: Color space\n 4. {id}: Identifier\n 5. {width}: Width (in px)\n 6. {height}: Height (in px)",
"type": "string"
},
"chassisFormat": {
"description": "Output format of the module `Chassis`. See Wiki for formatting syntax\n 1. {type}: Chassis type\n 2. {vendor}: Chassis vendor\n 3. {version}: Chassis version\n 4. {serial}: Chassis serial number",
"type": "string"
},
"commandFormat": {
"description": "Output format of the module `Command`. See Wiki for formatting syntax\n 1. {result}: Command result",
"type": "string"
},
"cpuFormat": {
2025-08-28 16:36:00 +08:00
"description": "Output format of the module `CPU`. See Wiki for formatting syntax\n 1. {name}: Name\n 2. {vendor}: Vendor\n 3. {cores-physical}: Physical core count\n 4. {cores-logical}: Logical core count\n 5. {cores-online}: Online core count\n 6. {freq-base}: Base frequency (formatted)\n 7. {freq-max}: Max frequency (formatted)\n 8. {temperature}: Temperature (formatted)\n 9. {core-types}: Logical core count grouped by frequency\n 10. {packages}: Processor package count\n 11. {march}: X86-64 CPU microarchitecture",
"type": "string"
},
"cpucacheFormat": {
"description": "Output format of the module `CPUCache`. See Wiki for formatting syntax\n 1. {result}: Separate result\n 2. {sum}: Sum result",
"type": "string"
},
"cpuusageFormat": {
"description": "Output format of the module `CPUUsage`. See Wiki for formatting syntax\n 1. {avg}: CPU usage (percentage num, average)\n 2. {max}: CPU usage (percentage num, maximum)\n 3. {max-index}: CPU core index of maximum usage\n 4. {min}: CPU usage (percentage num, minimum)\n 5. {min-index}: CPU core index of minimum usage\n 6. {avg-bar}: CPU usage (percentage bar, average)\n 7. {max-bar}: CPU usage (percentage bar, maximum)\n 8. {min-bar}: CPU usage (percentage bar, minimum)",
"type": "string"
},
"cursorFormat": {
"description": "Output format of the module `Cursor`. See Wiki for formatting syntax\n 1. {theme}: Cursor theme\n 2. {size}: Cursor size",
"type": "string"
},
"datetimeFormat": {
"description": "Output format of the module `DateTime`. See Wiki for formatting syntax\n 1. {year}: Year\n 2. {year-short}: Last two digits of year\n 3. {month}: Month\n 4. {month-pretty}: Month with leading zero\n 5. {month-name}: Month name\n 6. {month-name-short}: Month name short\n 7. {week}: Week number on year\n 8. {weekday}: Weekday\n 9. {weekday-short}: Weekday short\n 10. {day-in-year}: Day in year\n 11. {day-in-month}: Day in month\n 12. {day-in-week}: Day in week\n 13. {hour}: Hour\n 14. {hour-pretty}: Hour with leading zero\n 15. {hour-12}: Hour 12h format\n 16. {hour-12-pretty}: Hour 12h format with leading zero\n 17. {minute}: Minute\n 18. {minute-pretty}: Minute with leading zero\n 19. {second}: Second\n 20. {second-pretty}: Second with leading zero\n 21. {offset-from-utc}: Offset from UTC in the ISO 8601 format\n 22. {timezone-name}: Locale-dependent timezone name or abbreviation\n 23. {day-pretty}: Day in month with leading zero",
"type": "string"
},
"deFormat": {
"description": "Output format of the module `DE`. See Wiki for formatting syntax\n 1. {process-name}: DE process name\n 2. {pretty-name}: DE pretty name\n 3. {version}: DE version",
"type": "string"
},
"displayFormat": {
"description": "Output format of the module `Display`. See Wiki for formatting syntax\n 1. {width}: Screen configured width (in pixels)\n 2. {height}: Screen configured height (in pixels)\n 3. {refresh-rate}: Screen configured refresh rate (in Hz)\n 4. {scaled-width}: Screen scaled width (in pixels)\n 5. {scaled-height}: Screen scaled height (in pixels)\n 6. {name}: Screen name\n 7. {type}: Screen type (Built-in or External)\n 8. {rotation}: Screen rotation (in degrees)\n 9. {is-primary}: True if being the primary screen\n 10. {physical-width}: Screen physical width (in millimeters)\n 11. {physical-height}: Screen physical height (in millimeters)\n 12. {inch}: Physical diagonal length in inches\n 13. {ppi}: Pixels per inch (PPI)\n 14. {bit-depth}: Bits per color channel\n 15. {hdr-enabled}: True if high dynamic range (HDR) mode is enabled\n 16. {manufacture-year}: Year of manufacturing\n 17. {manufacture-week}: Nth week of manufacturing in the year\n 18. {serial}: Serial number\n 19. {platform-api}: The platform API used when detecting the display\n 20. {hdr-compatible}: True if the display is HDR compatible\n 21. {scale-factor}: HiDPI scale factor\n 22. {preferred-width}: Screen preferred width (in pixels)\n 23. {preferred-height}: Screen preferred height (in pixels)\n 24. {preferred-refresh-rate}: Screen preferred refresh rate (in Hz)",
"type": "string"
},
"diskFormat": {
2025-08-28 16:36:00 +08:00
"description": "Output format of the module `Disk`. See Wiki for formatting syntax\n 1. {size-used}: Size used\n 2. {size-total}: Size total\n 3. {size-percentage}: Size percentage num\n 4. {files-used}: Files used\n 5. {files-total}: Files total\n 6. {files-percentage}: Files percentage num\n 7. {is-external}: True if external volume\n 8. {is-hidden}: True if hidden volume\n 9. {filesystem}: Filesystem\n 10. {name}: Label / name\n 11. {is-readonly}: True if read-only\n 12. {create-time}: Create time in local timezone\n 13. {size-percentage-bar}: Size percentage bar\n 14. {files-percentage-bar}: Files percentage bar\n 15. {days}: Days after creation\n 16. {hours}: Hours after creation\n 17. {minutes}: Minutes after creation\n 18. {seconds}: Seconds after creation\n 19. {milliseconds}: Milliseconds after creation\n 20. {mountpoint}: Mount point / drive letter\n 21. {mount-from}: Mount from (device path)\n 22. {years}: Years integer after creation\n 23. {days-of-year}: Days of year after creation\n 24. {years-fraction}: Years fraction after creation\n 25. {size-free}: Size free\n 26. {size-available}: Size available",
"type": "string"
},
"diskioFormat": {
"description": "Output format of the module `DiskIO`. See Wiki for formatting syntax\n 1. {size-read}: Size of data read [per second] (formatted)\n 2. {size-written}: Size of data written [per second] (formatted)\n 3. {name}: Device name\n 4. {dev-path}: Device raw file path\n 5. {bytes-read}: Size of data read [per second] (in bytes)\n 6. {bytes-written}: Size of data written [per second] (in bytes)\n 7. {read-count}: Number of reads\n 8. {write-count}: Number of writes",
"type": "string"
},
"dnsFormat": {
"description": "Output format of the module `DNS`. See Wiki for formatting syntax\n 1. {result}: DNS result",
"type": "string"
},
"editorFormat": {
"description": "Output format of the module `Editor`. See Wiki for formatting syntax\n 1. {type}: Type (Visual / Editor)\n 2. {name}: Name\n 3. {exe-name}: Exe name of real path\n 4. {path}: Full path of real path\n 5. {version}: Version",
"type": "string"
},
"fontFormat": {
"description": "Output format of the module `Font`. See Wiki for formatting syntax\n 1. {font1}: Font 1\n 2. {font2}: Font 2\n 3. {font3}: Font 3\n 4. {font4}: Font 4\n 5. {combined}: Combined fonts for display",
"type": "string"
},
"gamepadFormat": {
"description": "Output format of the module `Gamepad`. See Wiki for formatting syntax\n 1. {name}: Name\n 2. {serial}: Serial number\n 3. {battery-percentage}: Battery percentage num\n 4. {battery-percentage-bar}: Battery percentage bar",
"type": "string"
},
"gpuFormat": {
"description": "Output format of the module `GPU`. See Wiki for formatting syntax\n 1. {vendor}: GPU vendor\n 2. {name}: GPU name\n 3. {driver}: GPU driver\n 4. {temperature}: GPU temperature\n 5. {core-count}: GPU core count\n 6. {type}: GPU type\n 7. {dedicated-total}: GPU total dedicated memory\n 8. {dedicated-used}: GPU used dedicated memory\n 9. {shared-total}: GPU total shared memory\n 10. {shared-used}: GPU used shared memory\n 11. {platform-api}: The platform API used when detecting the GPU\n 12. {frequency}: Current frequency in GHz\n 13. {index}: GPU vendor specific index\n 14. {dedicated-percentage-num}: Dedicated memory usage percentage num\n 15. {dedicated-percentage-bar}: Dedicated memory usage percentage bar\n 16. {shared-percentage-num}: Shared memory usage percentage num\n 17. {shared-percentage-bar}: Shared memory usage percentage bar\n 18. {core-usage-num}: Core usage percentage num\n 19. {core-usage-bar}: Core usage percentage bar\n 20. {memory-type}: Memory type (Windows only)",
"type": "string"
},
"hostFormat": {
"description": "Output format of the module `Host`. See Wiki for formatting syntax\n 1. {family}: Product family\n 2. {name}: Product name\n 3. {version}: Product version\n 4. {sku}: Product sku\n 5. {vendor}: Product vendor\n 6. {serial}: Product serial number\n 7. {uuid}: Product uuid",
"type": "string"
},
"iconsFormat": {
"description": "Output format of the module `Icons`. See Wiki for formatting syntax\n 1. {icons1}: Icons part 1\n 2. {icons2}: Icons part 2",
"type": "string"
},
"initsystemFormat": {
"description": "Output format of the module `InitSystem`. See Wiki for formatting syntax\n 1. {name}: Init system name\n 2. {exe}: Init system exe path\n 3. {version}: Init system version path\n 4. {pid}: Init system pid",
"type": "string"
},
"kernelFormat": {
"description": "Output format of the module `Kernel`. See Wiki for formatting syntax\n 1. {sysname}: Sysname\n 2. {release}: Release\n 3. {version}: Version\n 4. {arch}: Architecture\n 5. {display-version}: Display version\n 6. {page-size}: Page size",
"type": "string"
},
"keyboardFormat": {
"description": "Output format of the module `Keyboard`. See Wiki for formatting syntax\n 1. {name}: Name\n 2. {serial}: Serial number",
"type": "string"
},
"lmFormat": {
"description": "Output format of the module `LM`. See Wiki for formatting syntax\n 1. {service}: LM service\n 2. {type}: LM type\n 3. {version}: LM version",
"type": "string"
},
"loadavgFormat": {
"description": "Output format of the module `Loadavg`. See Wiki for formatting syntax\n 1. {loadavg1}: Load average over 1min\n 2. {loadavg2}: Load average over 5min\n 3. {loadavg3}: Load average over 15min",
"type": "string"
},
"localeFormat": {
"description": "Output format of the module `Locale`. See Wiki for formatting syntax\n 1. {result}: Locale code",
"type": "string"
},
"localipFormat": {
"description": "Output format of the module `LocalIp`. See Wiki for formatting syntax\n 1. {ipv4}: IPv4 address\n 2. {ipv6}: IPv6 address\n 3. {mac}: MAC address\n 4. {ifname}: Interface name\n 5. {is-default-route}: Is default route\n 6. {mtu}: MTU size in bytes\n 7. {speed}: Link speed (formatted)\n 8. {flags}: Interface flags",
"type": "string"
},
"mediaFormat": {
"description": "Output format of the module `Media`. See Wiki for formatting syntax\n 1. {combined}: Pretty media name\n 2. {title}: Media name\n 3. {artist}: Artist name\n 4. {album}: Album name\n 5. {status}: Status",
"type": "string"
},
"memoryFormat": {
"description": "Output format of the module `Memory`. See Wiki for formatting syntax\n 1. {used}: Used size\n 2. {total}: Total size\n 3. {percentage}: Percentage used (num)\n 4. {percentage-bar}: Percentage used (bar)",
"type": "string"
},
"monitorFormat": {
"description": "Output format of the module `Monitor`. See Wiki for formatting syntax\n 1. {name}: Display name\n 2. {width}: Native resolution width in pixels\n 3. {height}: Native resolution height in pixels\n 4. {physical-width}: Physical width in millimeters\n 5. {physical-height}: Physical height in millimeters\n 6. {inch}: Physical diagonal length in inches\n 7. {ppi}: Pixels per inch (PPI)\n 8. {manufacture-year}: Year of manufacturing\n 9. {manufacture-week}: Nth week of manufacturing in the year\n 10. {serial}: Serial number\n 11. {refresh-rate}: Maximum refresh rate in Hz\n 12. {hdr-compatible}: True if the display is HDR compatible",
"type": "string"
},
"mouseFormat": {
"description": "Output format of the module `Mouse`. See Wiki for formatting syntax\n 1. {name}: Mouse name\n 2. {serial}: Mouse serial number",
"type": "string"
},
"netioFormat": {
"description": "Output format of the module `NetIO`. See Wiki for formatting syntax\n 1. {rx-size}: Size of data received [per second] (formatted)\n 2. {tx-size}: Size of data sent [per second] (formatted)\n 3. {ifname}: Interface name\n 4. {is-default-route}: Is default route\n 5. {rx-bytes}: Size of data received [per second] (in bytes)\n 6. {tx-bytes}: Size of data sent [per second] (in bytes)\n 7. {rx-packets}: Number of packets received [per second]\n 8. {tx-packets}: Number of packets sent [per second]\n 9. {rx-errors}: Number of errors received [per second]\n 10. {tx-errors}: Number of errors sent [per second]\n 11. {rx-drops}: Number of packets dropped when receiving [per second]\n 12. {tx-drops}: Number of packets dropped when sending [per second]",
"type": "string"
},
"openclFormat": {
"description": "Output format of the module `OpenCL`. See Wiki for formatting syntax\n 1. {version}: Platform version\n 2. {name}: Platform name\n 3. {vendor}: Platform vendor",
"type": "string"
},
"openglFormat": {
"description": "Output format of the module `OpenGL`. See Wiki for formatting syntax\n 1. {version}: OpenGL version\n 2. {renderer}: OpenGL renderer\n 3. {vendor}: OpenGL vendor\n 4. {slv}: OpenGL shading language version\n 5. {library}: OpenGL library used",
"type": "string"
},
"osFormat": {
"description": "Output format of the module `OS`. See Wiki for formatting syntax\n 1. {sysname}: Name of the kernel\n 2. {name}: Name of the OS\n 3. {pretty-name}: Pretty name of the OS, if available\n 4. {id}: ID of the OS\n 5. {id-like}: ID like of the OS\n 6. {variant}: Variant of the OS\n 7. {variant-id}: Variant ID of the OS\n 8. {version}: Version of the OS\n 9. {version-id}: Version ID of the OS\n 10. {codename}: Version codename of the OS\n 11. {build-id}: Build ID of the OS\n 12. {arch}: Architecture of the OS",
"type": "string"
},
"packagesFormat": {
"description": "Output format of the module `Packages`. See Wiki for formatting syntax\n 1. {all}: Number of all packages\n 2. {pacman}: Number of pacman packages\n 3. {pacman-branch}: Pacman branch on manjaro\n 4. {dpkg}: Number of dpkg packages\n 5. {rpm}: Number of rpm packages\n 6. {emerge}: Number of emerge packages\n 7. {eopkg}: Number of eopkg packages\n 8. {xbps}: Number of xbps packages\n 9. {nix-system}: Number of nix-system packages\n 10. {nix-user}: Number of nix-user packages\n 11. {nix-default}: Number of nix-default packages\n 12. {apk}: Number of apk packages\n 13. {pkg}: Number of pkg packages\n 14. {flatpak-system}: Number of flatpak-system app packages\n 15. {flatpak-user}: Number of flatpak-user app packages\n 16. {snap}: Number of snap packages\n 17. {brew}: Number of brew packages\n 18. {brew-cask}: Number of brew-cask packages\n 19. {macports}: Number of macports packages\n 20. {scoop-user}: Number of scoop-user packages\n 21. {scoop-global}: Number of scoop-global packages\n 22. {choco}: Number of choco packages\n 23. {pkgtool}: Number of pkgtool packages\n 24. {paludis}: Number of paludis packages\n 25. {winget}: Number of winget packages\n 26. {opkg}: Number of opkg packages\n 27. {am-system}: Number of am-system packages\n 28. {sorcery}: Number of sorcery packages\n 29. {lpkg}: Number of lpkg packages\n 30. {lpkgbuild}: Number of lpkgbuild packages\n 31. {guix-system}: Number of guix-system packages\n 32. {guix-user}: Number of guix-user packages\n 33. {guix-home}: Number of guix-home packages\n 34. {linglong}: Number of linglong packages\n 35. {pacstall}: Number of pacstall packages\n 36. {mport}: Number of mport packages\n 37. {am-user}: Number of am-user (aka appman) packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {hpkg-system}: Number of hpkg-system packages\n 40. {hpkg-user}: Number of hpkg-user packages\n 41. {pisi}: Number of pisi packages\n 42. {soar}: Number of soar packages\n 43. {nix-all}: Total number of all nix packages\n 44. {flatpak-all}: Total number of all flatpak app packages\n 45. {brew-all}: Total number of all brew packages\n 46. {guix-all}: Total number of all guix packages\n 47. {hpkg-all}: Total number of all hpkg packages",
"type": "string"
},
"physicaldiskFormat": {
"description": "Output format of the module `PhysicalDisk`. See Wiki for formatting syntax\n 1. {size}: Device size (formatted)\n 2. {name}: Device name\n 3. {interconnect}: Device interconnect type\n 4. {dev-path}: Device raw file path\n 5. {serial}: Serial number\n 6. {physical-type}: Device kind (SSD or HDD)\n 7. {removable-type}: Device kind (Removable or Fixed)\n 8. {readonly-type}: Device kind (Read-only or Read-write)\n 9. {revision}: Product revision\n 10. {temperature}: Device temperature (formatted)",
"type": "string"
},
"physicalmemoryFormat": {
"description": "Output format of the module `PhysicalMemory`. See Wiki for formatting syntax\n 1. {bytes}: Size (in bytes)\n 2. {size}: Size formatted\n 3. {max-speed}: Max speed (in MT/s)\n 4. {running-speed}: Running speed (in MT/s)\n 5. {type}: Type (DDR4, DDR5, etc.)\n 6. {form-factor}: Form factor (SODIMM, DIMM, etc.)\n 7. {locator}: Bank/Device Locator (BANK0/SIMM0, BANK0/SIMM1, etc.)\n 8. {vendor}: Vendor\n 9. {serial}: Serial number\n 10. {part-number}: Part number\n 11. {is-ecc-enabled}: True if ECC enabled",
"type": "string"
},
"playerFormat": {
"description": "Output format of the module `Player`. See Wiki for formatting syntax\n 1. {player}: Pretty player name\n 2. {name}: Player name\n 3. {id}: Player Identifier\n 4. {url}: URL name",
"type": "string"
},
"poweradapterFormat": {
"description": "Output format of the module `PowerAdapter`. See Wiki for formatting syntax\n 1. {watts}: Power adapter watts\n 2. {name}: Power adapter name\n 3. {manufacturer}: Power adapter manufacturer\n 4. {model}: Power adapter model\n 5. {description}: Power adapter description\n 6. {serial}: Power adapter serial number",
"type": "string"
},
"processesFormat": {
"description": "Output format of the module `Processes`. See Wiki for formatting syntax\n 1. {result}: Process count",
"type": "string"
},
"publicipFormat": {
"description": "Output format of the module `PublicIp`. See Wiki for formatting syntax\n 1. {ip}: Public IP address\n 2. {location}: Location",
"type": "string"
},
"shellFormat": {
"description": "Output format of the module `Shell`. See Wiki for formatting syntax\n 1. {process-name}: Shell process name\n 2. {exe}: The first argument of the command line when running the shell\n 3. {exe-name}: Shell base name of arg0\n 4. {version}: Shell version\n 5. {pid}: Shell pid\n 6. {pretty-name}: Shell pretty name\n 7. {exe-path}: Shell full exe path\n 8. {tty}: Shell tty used",
"type": "string"
},
"soundFormat": {
"description": "Output format of the module `Sound`. See Wiki for formatting syntax\n 1. {is-main}: Is main sound device\n 2. {name}: Device name\n 3. {volume-percentage}: Volume (in percentage num)\n 4. {identifier}: Identifier\n 5. {volume-percentage-bar}: Volume (in percentage bar)\n 6. {platform-api}: Platform API used",
"type": "string"
},
"swapFormat": {
2025-07-15 22:44:49 +08:00
"description": "Output format of the module `Swap`. See Wiki for formatting syntax\n 1. {used}: Used size\n 2. {total}: Total size\n 3. {percentage}: Percentage used (num)\n 4. {percentage-bar}: Percentage used (bar)\n 5. {name}: Name",
"type": "string"
},
"terminalFormat": {
"description": "Output format of the module `Terminal`. See Wiki for formatting syntax\n 1. {process-name}: Terminal process name\n 2. {exe}: The first argument of the command line when running the terminal\n 3. {exe-name}: Terminal base name of arg0\n 4. {pid}: Terminal pid\n 5. {pretty-name}: Terminal pretty name\n 6. {version}: Terminal version\n 7. {exe-path}: Terminal full exe path\n 8. {tty}: Terminal tty / pts used",
"type": "string"
},
"terminalfontFormat": {
"description": "Output format of the module `TerminalFont`. See Wiki for formatting syntax\n 1. {combined}: Terminal font combined\n 2. {name}: Terminal font name\n 3. {size}: Terminal font size\n 4. {styles}: Terminal font styles",
"type": "string"
},
"terminalsizeFormat": {
"description": "Output format of the module `TerminalSize`. See Wiki for formatting syntax\n 1. {rows}: Terminal rows\n 2. {columns}: Terminal columns\n 3. {width}: Terminal width (in pixels)\n 4. {height}: Terminal height (in pixels)",
"type": "string"
},
"terminalthemeFormat": {
"description": "Output format of the module `TerminalTheme`. See Wiki for formatting syntax\n 1. {fg-color}: Terminal foreground color\n 2. {fg-type}: Terminal foreground type (Dark / Light)\n 3. {bg-color}: Terminal background color\n 4. {bg-type}: Terminal background type (Dark / Light)",
"type": "string"
},
"titleFormat": {
2025-05-29 10:13:39 +08:00
"description": "Output format of the module `Title`. See Wiki for formatting syntax\n 1. {user-name}: User name\n 2. {host-name}: Host name\n 3. {home-dir}: Home directory\n 4. {exe-path}: Executable path of current process\n 5. {user-shell}: User's default shell\n 6. {user-name-colored}: User name (colored)\n 7. {at-symbol-colored}: @ symbol (colored)\n 8. {host-name-colored}: Host name (colored)\n 9. {full-user-name}: Full user name",
"type": "string"
},
"themeFormat": {
"description": "Output format of the module `Theme`. See Wiki for formatting syntax\n 1. {theme1}: Theme part 1\n 2. {theme2}: Theme part 2",
"type": "string"
},
"tpmFormat": {
"description": "Output format of the module `TPM`. See Wiki for formatting syntax\n 1. {version}: TPM device version\n 2. {description}: TPM general description",
"type": "string"
},
"uptimeFormat": {
"description": "Output format of the module `Uptime`. See Wiki for formatting syntax\n 1. {days}: Days after boot\n 2. {hours}: Hours after boot\n 3. {minutes}: Minutes after boot\n 4. {seconds}: Seconds after boot\n 5. {milliseconds}: Milliseconds after boot\n 6. {boot-time}: Boot time in local timezone\n 7. {years}: Years integer after boot\n 8. {days-of-year}: Days of year after boot\n 9. {years-fraction}: Years fraction after boot\n 10. {formatted}: Formatted uptime",
"type": "string"
},
"usersFormat": {
"description": "Output format of the module `Users`. See Wiki for formatting syntax\n 1. {name}: User name\n 2. {host-name}: Host name\n 3. {session-name}: Session name\n 4. {client-ip}: Client IP\n 5. {login-time}: Login Time in local timezone\n 6. {days}: Days after login\n 7. {hours}: Hours after login\n 8. {minutes}: Minutes after login\n 9. {seconds}: Seconds after login\n 10. {milliseconds}: Milliseconds after login\n 11. {years}: Years integer after login\n 12. {days-of-year}: Days of year after login\n 13. {years-fraction}: Years fraction after login",
"type": "string"
},
"versionFormat": {
"description": "Output format of the module `Version`. See Wiki for formatting syntax\n 1. {project-name}: Project name\n 2. {version}: Version\n 3. {version-tweak}: Version tweak\n 4. {build-type}: Build type (debug or release)\n 5. {sysname}: System name\n 6. {arch}: Architecture\n 7. {cmake-built-type}: CMake build type when compiling (Debug, Release, RelWithDebInfo, MinSizeRel)\n 8. {compile-time}: Date time when compiling\n 9. {compiler}: Compiler used when compiling\n 10. {libc}: Libc used when compiling",
"type": "string"
},
"vulkanFormat": {
"description": "Output format of the module `Vulkan`. See Wiki for formatting syntax\n 1. {driver}: Driver name\n 2. {api-version}: API version\n 3. {conformance-version}: Conformance version\n 4. {instance-version}: Instance version",
"type": "string"
},
"wallpaperFormat": {
"description": "Output format of the module `Wallpaper`. See Wiki for formatting syntax\n 1. {file-name}: File name\n 2. {full-path}: Full path",
"type": "string"
},
"weatherFormat": {
"description": "Output format of the module `Weather`. See Wiki for formatting syntax\n 1. {result}: Weather result",
"type": "string"
},
"wmFormat": {
"description": "Output format of the module `WM`. See Wiki for formatting syntax\n 1. {process-name}: WM process name\n 2. {pretty-name}: WM pretty name\n 3. {protocol-name}: WM protocol name\n 4. {plugin-name}: WM plugin name\n 5. {version}: WM version",
"type": "string"
},
"wifiFormat": {
"description": "Output format of the module `Wifi`. See Wiki for formatting syntax\n 1. {inf-desc}: Interface description\n 2. {inf-status}: Interface status\n 3. {status}: Connection status\n 4. {ssid}: Connection SSID\n 5. {bssid}: Connection BSSID\n 6. {protocol}: Connection protocol\n 7. {signal-quality}: Connection signal quality (percentage num)\n 8. {rx-rate}: Connection RX rate\n 9. {tx-rate}: Connection TX rate\n 10. {security}: Connection Security algorithm\n 11. {signal-quality-bar}: Connection signal quality (percentage bar)\n 12. {channel}: Connection channel number\n 13. {band}: Connection channel band in GHz",
"type": "string"
},
"wmthemeFormat": {
"description": "Output format of the module `WMTheme`. See Wiki for formatting syntax\n 1. {result}: WM theme",
"type": "string"
},
"zpoolFormat": {
"description": "Output format of the module `Zpool`. See Wiki for formatting syntax\n 1. {name}: Zpool name\n 2. {state}: Zpool state\n 3. {used}: Size used\n 4. {total}: Size total\n 5. {used-percentage}: Size percentage num\n 6. {fragmentation-percentage}: Fragmentation percentage num\n 7. {used-percentage-bar}: Size percentage bar\n 8. {fragmentation-percentage-bar}: Fragmentation percentage bar",
"type": "string"
2023-06-18 02:07:34 +08:00
}
},
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2023-07-21 09:46:38 +08:00
"title": "JSON config",
2025-04-04 18:15:54 +08:00
"description": "JSON config file for fastfetch. Usually located at `~/.config/fastfetch/config.jsonc`",
"properties": {
"$schema": {
"type": "string",
"description": "JSON schema URL, for JSON validation and IDE intelligence",
2023-07-21 09:46:38 +08:00
"format": "uri",
"default": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"
},
"logo": {
2024-06-21 10:05:54 +08:00
"description": "Fastfetch logo configurations\nSee also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options",
"oneOf": [
{
"description": "Disable logo",
2024-06-21 10:05:54 +08:00
"type": "null",
"const": null
},
{
"description": "Set the source file of the logo or built-in ASCII art name",
"type": "string"
},
{
"description": "Fastfetch logo configurations",
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"properties": {
"type": {
2025-04-04 18:15:54 +08:00
"description": "Set the type of the logo",
"oneOf": [
{
"const": "auto",
"description": "If something is given, first try built-in, then file. Otherwise detect logo"
},
{
"const": "builtin",
"description": "Built-in ASCII art"
},
{
"const": "small",
"description": "Built-in ASCII art, small version (not all logos support this option)"
},
{
"const": "file",
"description": "Text file, printed with color code replacement"
},
{
"const": "file-raw",
"description": "Text file, printed as is"
},
{
"const": "data",
"description": "Text data, printed with color code replacement"
},
{
"const": "data-raw",
"description": "Text data, printed as is"
},
{
"const": "sixel",
"description": "Image file, printed as sixel codes"
},
{
"const": "kitty",
"description": "Image file, printed using kitty graphics protocol"
},
{
"const": "kitty-direct",
"description": "Image file, tells the terminal emulator to read image data from the specified file"
},
{
"const": "kitty-icat",
"description": "Image file, uses `kitten icat` to display the image. Requires binary `kitten` to be installed"
},
{
"const": "iterm",
"description": "Image file, uses `iTerm` image protocol"
},
{
"const": "chafa",
"description": "Image file, prints `ASCII` art image generated by `libchafa`"
},
{
"const": "raw",
"description": "Image file, printed as `raw` binary string image"
},
{
"const": "none",
"description": "Disable logo printing"
}
],
"default": "auto"
},
"source": {
"type": "string",
"description": "Set the source file of the logo"
},
"color": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Override colors in the logo",
"properties": {
"1": {
"description": "Color 1",
"$ref": "#/$defs/colors"
},
"2": {
"description": "Color 2",
"$ref": "#/$defs/colors"
},
"3": {
"description": "Color 3",
"$ref": "#/$defs/colors"
},
"4": {
"description": "Color 4",
"$ref": "#/$defs/colors"
},
"5": {
"description": "Color 5",
"$ref": "#/$defs/colors"
},
"6": {
"description": "Color 6",
"$ref": "#/$defs/colors"
},
"7": {
"description": "Color 7",
"$ref": "#/$defs/colors"
},
"8": {
"description": "Color 8",
"$ref": "#/$defs/colors"
},
"9": {
"description": "Color 9",
"$ref": "#/$defs/colors"
}
2024-02-28 09:17:29 +08:00
}
},
"width": {
"oneOf": [
{
"type": "null",
"description": "Auto detect width (default)"
},
{
"type": "integer",
"description": "Set the width of the logo (in characters). Required for some image protocols",
"minimum": 1
}
]
},
"height": {
"oneOf": [
{
"type": "null",
"description": "Auto detect width (default)"
},
{
"type": "integer",
"description": "Set the height of the logo (in characters). Required for some image protocols",
"minimum": 1
}
]
},
"padding": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"description": "Set the padding of the logo",
"properties": {
"top": {
"type": "integer",
"description": "Set the top padding of the logo",
"minimum": 0
},
"left": {
"type": "integer",
"description": "Set the left padding of the logo",
"minimum": 0
},
"right": {
"type": "integer",
"description": "Set the right padding of the logo",
"minimum": 0
}
2024-02-28 09:17:29 +08:00
}
},
"printRemaining": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Whether to print the remaining logo if it has more lines than modules to display",
"default": true
},
"preserveAspectRatio": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Whether to preserve the aspect ratio of the logo. Supported by iTerm image protocol only",
"default": false
},
"recache": {
"type": "boolean",
"description": "If true, regenerate image logo cache",
"default": false
},
"position": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Set the position where the logo should be displayed",
"enum": [
"left",
"top",
"right"
],
"default": "left"
2023-09-03 22:20:11 +08:00
},
"chafa": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Chafa configuration. See chafa documentation for details",
"properties": {
"fgOnly": {
"type": "boolean",
"description": "Produce character-cell output using foreground colors only",
"default": false
},
"symbols": {
"type": "string",
"description": "Specify character symbols to employ in final output"
},
"canvasMode": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Determine how colors are used in the output. This value maps to enum ChafaCanvasMode.",
"oneOf": [
{
"const": "TRUECOLOR",
"description": "Use 24-bit true colors"
},
{
"const": "INDEXED_256",
"description": "Use 256 colors"
},
{
"const": "INDEXED_240",
"description": "Use 240 colors, but avoid using the lower 16 whose values vary between terminal environments"
},
{
"const": "INDEXED_16",
"description": "Use 16 colors using the aixterm ANSI extension"
},
{
"const": "FGBG_BGFG",
"description": "Use default foreground and background colors, plus inversion"
},
{
"const": "FGBG",
"description": "Use default foreground and background colors. No ANSI codes will be used"
},
{
"const": "INDEXED_8",
"description": "Use 8 colors, compatible with original ANSI X3.64"
},
{
"const": "INDEXED_16_8",
"description": "Use 16 FG colors (8 of which enabled with bold/bright) and 8 BG colors"
}
]
},
"colorSpace": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Set color space used for quantization. This value maps to enum ChafaColorSpace.",
"oneOf": [
{
"const": "RGB",
"description": "RGB color space. Fast but imprecise"
},
{
"const": "DIN99D",
"description": "DIN99d color space. Slower, but good perceptual color precision"
}
]
},
"ditherMode": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Set output dither mode (No effect with 24-bit color). This value maps to enum ChafaDitherMode.",
"oneOf": [
{
"const": "NONE",
"description": "No dithering"
},
{
"const": "ORDERED",
"description": "Ordered dithering (Bayer or similar)"
},
{
"const": "DIFFUSION",
"description": "Error diffusion dithering (Floyd-Steinberg or similar)"
}
]
}
2024-02-28 09:17:29 +08:00
}
}
2024-02-28 09:17:29 +08:00
}
}
]
},
"general": {
"description": "Fastfetch general configurations",
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"properties": {
2023-08-15 17:10:09 +08:00
"thread": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Use separate threads for HTTP requests",
2023-08-15 17:10:09 +08:00
"default": true
},
"escapeBedrock": {
"type": "boolean",
"description": "On Bedrock Linux, whether to escape the bedrock jail",
"default": true
},
"playerName": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "The name of the player to use for Media and Player modules. Linux only"
},
2023-07-31 23:11:39 +08:00
"dsForceDrm": {
"description": "Force display detection to use DRM. Linux only",
"oneOf": [
{
2024-02-26 16:39:41 +08:00
"type": "boolean",
"const": false,
2023-12-14 15:49:43 +08:00
"description": "Try `wayland`, then `x11`, then `drm`"
},
{
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Use `/sys/class/drm` only",
"const": "sysfs-only"
},
{
2024-02-26 16:39:41 +08:00
"type": "boolean",
"const": true,
2025-04-04 18:15:54 +08:00
"description": "Try `libdrm` first, then `sysfs` if libdrm fails"
}
2023-12-14 15:49:43 +08:00
],
"default": false
2023-07-31 23:11:39 +08:00
},
2023-06-25 14:33:13 +08:00
"wmiTimeout": {
"type": "integer",
"description": "Set the timeout (ms) for WMI queries, `-1` for no timeout. Windows only",
2023-07-31 23:11:39 +08:00
"default": 5000
2023-09-09 12:01:13 +08:00
},
"processingTimeout": {
"type": "integer",
"description": "Set the timeout (ms) when waiting for child processes, `-1` for no timeout",
"default": 5000
2024-06-25 16:15:35 +08:00
},
"preRun": {
"type": "string",
"description": "Set the command to be executed before printing logos",
"default": ""
},
2024-10-02 00:43:31 +08:00
"detectVersion": {
"type": "boolean",
"description": "Whether to detect and display component versions. Mainly for benchmarking",
"default": true
}
2024-02-28 09:17:29 +08:00
}
},
"display": {
2025-04-04 18:15:54 +08:00
"description": "Configure how things should be displayed",
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"properties": {
"stat": {
2024-08-12 16:16:47 +08:00
"description": "Show time usage (in ms) for individual modules with optional threshold",
"oneOf": [
{
"type": "boolean",
"default": false
},
{
"type": "integer",
"minimum": 1
}
]
},
"pipe": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Whether to disable colors (auto-detected based on isatty(1) by default)",
"default": false
},
"showErrors": {
"type": "boolean",
"description": "Print occurring errors to the console. False to ignore errored modules",
"default": false
},
"disableLinewrap": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Whether to disable line wrap during execution",
"default": true
},
"hideCursor": {
"type": "boolean",
2025-04-04 18:15:54 +08:00
"description": "Whether to hide the cursor during execution",
"default": true
},
"separator": {
"type": "string",
"description": "Set the separator between key and value",
"default": ": "
},
"color": {
"description": "Set the color of the keys and title",
"oneOf": [
{
2025-04-04 18:15:54 +08:00
"description": "Set both the colors of keys and title",
2023-06-18 02:07:34 +08:00
"$ref": "#/$defs/colors"
},
{
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"properties": {
"keys": {
"description": "Set the color of the keys",
2023-06-18 02:07:34 +08:00
"$ref": "#/$defs/colors"
},
"title": {
"description": "Set the color of the title",
2023-06-18 02:07:34 +08:00
"$ref": "#/$defs/colors"
},
"output": {
"description": "Set the color of the module output",
"$ref": "#/$defs/colors"
2024-05-28 16:13:06 +08:00
},
"separator": {
"description": "Set the color of the key-value separator",
"$ref": "#/$defs/colors"
}
2024-02-28 09:17:29 +08:00
}
}
]
},
2023-08-04 16:05:25 +08:00
"brightColor": {
"description": "Set if the keys, title and ASCII logo should be printed in bright color",
2023-08-04 16:05:25 +08:00
"type": "boolean",
"default": true
},
2024-07-24 15:12:25 +08:00
"key": {
"type": "object",
"additionalProperties": false,
"description": "Set how module keys should be displayed",
"properties": {
"width": {
"description": "Align the width of keys to number of characters, 0 to disable",
"type": "integer",
"minimum": 0,
"default": 0
},
"type": {
"type": "string",
2024-07-24 16:41:22 +08:00
"description": "Set whether to show icon before string keys",
"oneOf": [
{
"const": "none",
"description": "Disable keys"
},
{
"const": "string",
"description": "Show string keys"
},
{
"const": "icon",
"description": "Show icon keys (requires newest nerd font)"
},
{
"const": "both",
"description": "Show both icon and string keys"
}
2024-07-24 15:12:25 +08:00
],
"default": "string"
},
"paddingLeft": {
"type": "integer",
"description": "Set the left padding of keys",
"minimum": 0,
"default": 0
}
}
2024-07-24 11:13:37 +08:00
},
2023-10-29 00:17:24 +08:00
"size": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Set how size values should be displayed",
2023-10-29 00:17:24 +08:00
"properties": {
"binaryPrefix": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Set the binary prefix to use when formatting sizes",
"oneOf": [
{
"const": "iec",
"description": "1024 Bytes = 1 KiB, 1024 KiB = 1 MiB, ... (standard)"
},
{
"const": "si",
2025-02-27 21:10:57 +08:00
"description": "1000 Bytes = 1 kB, 1000 kB = 1 MB, ..."
},
{
"const": "jedec",
2025-02-27 21:10:57 +08:00
"description": "1024 Bytes = 1 KB, 1024 KB = 1 MB, ..."
}
2025-04-04 18:15:54 +08:00
],
"default": "iec"
},
2023-10-29 00:17:24 +08:00
"maxPrefix": {
"type": "string",
"description": "Set the largest binary prefix to use when formatting sizes",
2023-10-29 00:17:24 +08:00
"enum": ["B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"],
"default": "YB"
},
"ndigits": {
"type": "integer",
"description": "Set the number of digits to keep after the decimal point when formatting sizes",
2023-10-29 00:17:24 +08:00
"minimum": 0,
"maximum": 9,
"default": 2
2025-07-30 14:30:36 +08:00
},
"spaceBeforeUnit": {
"$ref": "#/$defs/spaceBeforeUnit"
2023-10-29 00:17:24 +08:00
}
}
},
"temp": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"description": "Set how temperature values should be displayed",
"properties": {
"unit": {
"type": "string",
2025-04-04 18:15:54 +08:00
"description": "Set the unit of temperature",
"oneOf": [
{
"const": "C",
"description": "Celsius"
},
{
"const": "F",
"description": "Fahrenheit"
},
{
"const": "K",
"description": "Kelvin"
},
{
"const": "D",
"description": "Default (alias for Celsius)"
}
],
2025-02-14 10:31:13 +08:00
"default": "D"
},
"ndigits": {
"type": "integer",
"description": "Set the number of digits to keep after the decimal point when formatting temperature values",
"minimum": 0,
"maximum": 9,
"default": 1
},
"color": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Set colors used in different states of temperature values",
"properties": {
"green": {
"description": "Color used in green state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "green"
},
"yellow": {
"description": "Color used in yellow state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "light_yellow"
},
"red": {
"description": "Color used in red state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "light_red"
}
}
2025-07-30 14:30:36 +08:00
},
"spaceBeforeUnit": {
"$ref": "#/$defs/spaceBeforeUnit"
}
}
},
"bar": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
"description": "Set the bar configuration",
"properties": {
"char": {
"type": "object",
"additionalProperties": false,
"description": "Set the characters used in the bar",
"properties": {
"elapsed": {
"type": "string",
"description": "Set the character to use in elapsed part",
"default": "■"
},
"total": {
"type": "string",
"description": "Set the character to use in total part",
"default": "-"
}
}
},
"border": {
"oneOf": [
{
"type": "null",
"description": "Disable bar borders"
},
{
"type": "object",
"additionalProperties": false,
"description": "Set the string to use of borders of percentage bars",
"properties": {
"left": {
"type": "string",
"description": "Set the string to use at left border",
"default": "[ "
},
"right": {
"type": "string",
"description": "Set the string to use at right border",
"default": " ]"
},
"leftElapsed": {
"type": "string",
"description": "If both leftElapsed and rightElapsed are set, the border will be used as parts of bar content",
"default": ""
},
"rightElapsed": {
"type": "string",
"description": "If both leftElapsed and rightElapsed are set, the border will be used as parts of bar content",
"default": ""
}
}
}
]
},
"color": {
"oneOf": [
{
"type": "null",
"description": "Disable color in percentage bars"
},
{
"type": "object",
"additionalProperties": false,
"description": "Set the color to use of percentage bars",
"properties": {
"elapsed": {
"description": "Color to use in the elapsed part of percentage bars\nBy default, auto selected by percent.color.{green,yellow,red}",
"$ref": "#/$defs/colors",
"default": "auto"
},
"total": {
"description": "Color to use in the total part of percentage bars",
"$ref": "#/$defs/colors",
"default": "light_white"
},
"border": {
"description": "Color to use in the borders of percentage bars",
"$ref": "#/$defs/colors",
"default": "light_white"
}
}
}
]
},
2023-08-16 16:46:21 +08:00
"width": {
"type": "integer",
"description": "Set the width of the bar, in number of characters",
2023-08-16 16:46:21 +08:00
"minimum": 1,
"default": 10
}
}
},
2023-10-29 00:17:24 +08:00
"percent": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Set how percentage values should be displayed",
2023-10-29 00:17:24 +08:00
"properties": {
"type": {
2024-11-14 14:22:24 +08:00
"$ref": "#/$defs/percentType"
2023-10-29 00:17:24 +08:00
},
"ndigits": {
"type": "number",
"description": "Set the number of digits to keep after the decimal point when formatting percentage numbers",
2023-10-29 00:17:24 +08:00
"minimum": 0,
"maximum": 9,
"default": 0
2024-01-20 19:59:13 +08:00
},
"color": {
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2025-04-04 18:15:54 +08:00
"description": "Set colors used in different states of percentage bars and numbers",
2024-01-20 19:59:13 +08:00
"properties": {
"green": {
"description": "Color used in green state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "green"
2024-01-20 19:59:13 +08:00
},
"yellow": {
"description": "Color used in yellow state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "light_yellow"
2024-01-20 19:59:13 +08:00
},
"red": {
"description": "Color used in red state",
2025-04-04 18:15:54 +08:00
"$ref": "#/$defs/colors",
"default": "light_red"
2024-01-20 19:59:13 +08:00
}
}
2025-07-30 14:30:36 +08:00
},
"spaceBeforeUnit": {
"$ref": "#/$defs/spaceBeforeUnit"
2025-07-30 15:06:16 +08:00
},
"width": {
"type": "integer",
"description": "Set the width of the percentage number, in number of characters",
"minimum": 0,
"default": 0
}
2023-10-29 00:17:24 +08:00
}
2023-08-24 09:35:17 +08:00
},
"freq": {
"type": "object",
"additionalProperties": false,
"description": "Set how frequency values should be displayed",
"properties": {
"ndigits": {
"type": "integer",
2025-04-04 18:15:54 +08:00
"description": "Set the number of digits to keep after the decimal point when formatting frequency values\nA positive value will show the frequency in GHz with decimal\n-1 will show the frequency in MHz",
"minimum": -1,
"maximum": 9,
"default": 2
2025-07-30 14:30:36 +08:00
},
"spaceBeforeUnit": {
"$ref": "#/$defs/spaceBeforeUnit"
}
}
},
"duration": {
"type": "object",
"description": "Set how duration values should be displayed",
"properties": {
"abbreviation": {
"type": "boolean",
"description": "Set whether to abbreviate duration values\nIf true, the output will be in the form of \"1h 2m\" instead of \"1 hour, 2 mins\"",
"default": false
},
"spaceBeforeUnit": {
"$ref": "#/$defs/spaceBeforeUnit"
}
}
},
2025-07-16 10:30:45 +08:00
"fraction": {
"type": "object",
"additionalProperties": false,
"description": "Set how ordinary fraction numbers should be displayed",
"properties": {
"ndigits": {
"oneOf": [
{
"type": "number",
"description": "Set the number of digits to keep after the decimal point when formatting ordinary fraction numbers",
"minimum": 0,
"maximum": 9
},
{
"type": "null",
"description": "The number of digits will be automatically determined based on the value"
}
],
"default": null
}
}
},
"noBuffer": {
"type": "boolean",
"description": "Whether to disable the stdout application buffer",
"default": false
},
"constants": {
"type": "array",
"description": "List of strings to be used in custom format of modules",
"items": {
"type": "string"
}
}
2024-02-28 09:17:29 +08:00
}
},
"modules": {
"description": "Fastfetch modules to run",
"type": "array",
"items": {
"anyOf": [
{
2023-06-17 22:37:33 +08:00
"type": "string",
"description": "Run module with default configurations",
2023-06-17 22:37:33 +08:00
"enum": [
2023-06-20 14:41:01 +08:00
"battery",
"bios",
"bluetooth",
2024-07-28 00:05:07 +08:00
"bluetoothradio",
2023-06-20 14:41:01 +08:00
"board",
2024-05-16 18:48:17 +08:00
"bootmgr",
2023-06-20 14:41:01 +08:00
"break",
"brightness",
2024-09-15 10:42:22 +08:00
"btrfs",
2024-04-23 22:45:12 +08:00
"camera",
2023-06-20 14:41:01 +08:00
"chassis",
"cpu",
2024-06-05 19:15:25 +08:00
"cpucache",
2023-06-20 14:41:01 +08:00
"cpuusage",
"command",
"colors",
"cursor",
"datetime",
"display",
"disk",
2023-10-09 19:24:25 +08:00
"diskio",
2023-06-20 14:41:01 +08:00
"de",
2024-06-12 19:52:25 +08:00
"dns",
2024-05-22 16:13:36 +08:00
"editor",
2023-06-20 14:41:01 +08:00
"font",
"gamepad",
"gpu",
"host",
"icons",
2024-06-05 19:15:25 +08:00
"initsystem",
"keyboard",
2023-06-20 14:41:01 +08:00
"kernel",
2023-06-20 23:01:18 +08:00
"lm",
2024-05-08 16:41:33 +08:00
"loadavg",
2023-06-20 14:41:01 +08:00
"locale",
"localip",
"media",
"memory",
2024-10-01 12:10:15 +08:00
"monitor",
"mouse",
2023-09-27 00:05:37 +08:00
"netio",
2023-06-20 14:41:01 +08:00
"opencl",
"opengl",
"os",
"packages",
2023-12-18 15:53:15 +08:00
"physicaldisk",
2024-05-16 18:48:17 +08:00
"physicalmemory",
2023-06-20 14:41:01 +08:00
"player",
"poweradapter",
"processes",
"publicip",
"separator",
"shell",
"sound",
"swap",
"terminal",
"terminalfont",
2023-07-26 10:27:40 +08:00
"terminalsize",
2024-01-22 18:50:11 +08:00
"terminaltheme",
2023-06-20 14:41:01 +08:00
"title",
"theme",
2024-09-25 22:55:57 +08:00
"tpm",
2023-06-20 14:41:01 +08:00
"uptime",
"users",
2023-08-21 09:19:16 +08:00
"version",
2023-06-20 14:41:01 +08:00
"vulkan",
"wallpaper",
"weather",
"wm",
"wifi",
2024-09-03 10:08:23 +08:00
"wmtheme",
"zpool"
2023-06-17 22:37:33 +08:00
]
},
{
2023-06-17 22:37:33 +08:00
"type": "object",
"description": "Run module with custom configurations",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
}
},
"oneOf": [
2023-06-17 22:37:33 +08:00
{
"title": "Break",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"const": "break",
"description": "Print a empty line"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Battery",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"const": "battery",
"description": "Print battery capacity, status, etc"
},
"useSetupApi": {
"description": "Set if `SetupAPI` should be used on Windows to detect battery info, which supports multi batteries, but slower. Windows only",
"type": "boolean",
"default": false
},
"temp": {
"$ref": "#/$defs/temperature"
},
"percent": {
"$ref": "#/$defs/percent"
2023-06-17 22:37:33 +08:00
},
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/batteryFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "BIOS",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Print information of 1st-stage bootloader (name, version, release date, etc)",
"const": "bios"
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/biosFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Bluetooth",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
2024-07-28 00:05:07 +08:00
"description": "List (connected) bluetooth devices",
2023-06-20 14:41:01 +08:00
"const": "bluetooth"
2023-06-17 22:37:33 +08:00
},
"showDisconnected": {
"description": "Set if disconnected bluetooth devices should be printed",
2023-06-17 22:37:33 +08:00
"type": "boolean",
"default": false
},
"percent": {
"$ref": "#/$defs/percent"
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
2024-07-28 00:05:07 +08:00
},
"format": {
"$ref": "#/$defs/bluetoothFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-07-28 00:05:07 +08:00
}
}
},
{
"title": "Bluetooth Radio",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "List bluetooth radios width supported version and vendor",
"const": "bluetoothradio"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
2024-07-24 14:05:46 +08:00
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/bluetoothradioFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Board",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print motherboard name and other info",
"const": "board"
},
2024-05-09 20:20:50 +01:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
2024-05-09 20:20:50 +01:00
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2024-05-09 20:20:50 +01:00
"format": {
"$ref": "#/$defs/boardFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
2024-09-15 10:42:22 +08:00
{
"title": "Boot Manager",
2024-09-15 10:42:22 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print information of 2nd-stage bootloader (name, firmware, etc)",
"const": "bootmgr"
2024-09-15 10:42:22 +08:00
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/bootmgrFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-09-15 10:42:22 +08:00
}
}
},
{
"title": "Brightness",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "brightness",
"description": "Print current brightness level of your monitors"
},
"percent": {
"$ref": "#/$defs/percent"
},
"ddcciSleep": {
"type": "integer",
"description": "Set the sleep times (in ms) when sending DDC/CI requests.\nSee <https://www.ddcutil.com/performance_options/#option-sleep-multiplier> for detail",
"minimum": 0,
"maximum": 400,
"default": 10
},
"compact": {
"description": "Set if multiple results should be printed in one line",
"type": "boolean",
"default": false
},
2023-10-31 09:19:41 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-10-31 09:19:41 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-10-31 09:19:41 +08:00
"format": {
"$ref": "#/$defs/brightnessFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
2023-06-17 22:37:33 +08:00
{
"title": "BTRFS",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"const": "btrfs",
"description": "Print Linux BTRFS volumes"
2023-06-17 22:37:33 +08:00
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/btrfsFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Camera",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print available cameras",
"const": "camera"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/cameraFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Chassis",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "chassis",
"description": "Print chassis type (desktop, laptop, etc)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/chassisFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "CPU",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print CPU name, frequency, etc",
"const": "cpu"
},
"temp": {
2024-02-26 16:39:41 +08:00
"$ref": "#/$defs/temperature"
2023-06-17 22:37:33 +08:00
},
2024-05-21 09:09:08 +08:00
"showPeCoreCount": {
"description": "Detect and display CPU frequency of different core types (eg. Pcore and Ecore) if supported",
"type": "boolean",
"default": false
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/cpuFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "CPU Cache",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "cpucache",
"description": "Print CPU cache sizes"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/cpucacheFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "CPU Usage",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "cpuusage",
"description": "Print CPU usage. Costs some time to collect data"
},
"percent": {
"$ref": "#/$defs/percent"
},
"separate": {
"type": "boolean",
"description": "Display CPU usage per CPU logical core, instead of an average result",
"default": false
},
"waitTime": {
"type": "integer",
"description": "Wait time (in ms). CPU usage = (inUseEnd - inUseStart) / waitTime",
"default": 200,
"minimum": 1
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/cpuusageFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
2023-06-18 14:00:24 +08:00
{
"title": "Colors",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-18 14:00:24 +08:00
"properties": {
"type": {
"description": "Print some colored blocks",
2023-06-20 14:41:01 +08:00
"const": "colors"
2023-06-18 14:00:24 +08:00
},
"symbol": {
"description": "Set the symbol to use",
2023-06-18 14:00:24 +08:00
"type": "string",
"oneOf": [
{
"const": "block",
"description": "\u2588\u2588\u2588"
},
{
"const": "background",
"description": "(whitespaces with background)"
},
{
"const": "circle",
"description": "\u25cf"
},
{
"const": "diamond",
"description": "\u25c6"
},
{
"const": "triangle",
"description": "\u25b2"
},
{
"const": "square",
"description": "\u25a0"
},
{
"const": "star",
"description": "\u2605"
}
2023-06-18 14:00:24 +08:00
],
"default": "background"
2023-06-20 15:13:43 +08:00
},
"paddingLeft": {
"description": "Set the number of white spaces to print before the symbol",
2023-06-20 15:13:43 +08:00
"type": "integer",
"minimum": 0,
"default": 0
2024-02-14 22:07:08 +08:00
},
"block": {
"description": "Set behavior of block printing",
"type": "object",
2024-02-28 09:17:29 +08:00
"additionalProperties": false,
2024-02-14 22:07:08 +08:00
"properties": {
"width": {
"description": "Set the block width in spaces",
"type": "integer",
"minimum": 1,
"default": 3
},
"range": {
"description": "Set the range of colors in the blocks to print",
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 15
},
"minItems": 2,
"maxItems": 2
}
}
2024-05-01 15:54:30 +08:00
},
"key": {
"$ref": "#/$defs/key"
2024-07-24 14:05:46 +08:00
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-18 14:00:24 +08:00
}
}
},
2023-06-17 22:37:33 +08:00
{
"title": "Command",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Running custom shell scripts",
2023-06-20 14:41:01 +08:00
"const": "command"
2023-06-17 22:37:33 +08:00
},
"shell": {
"description": "Set the shell program to execute the command text\nDefault: cmd for Windows, /bin/sh for *nix",
2023-06-20 14:41:01 +08:00
"type": "string"
2023-06-17 22:37:33 +08:00
},
2024-09-10 21:59:30 +08:00
"param": {
"description": "Set the parameter used when starting the shell\nIf set to an empty string, it will be ignored\nDefault: /c for Windows, -c for *nix",
2024-09-10 21:59:30 +08:00
"type": "string"
},
2023-06-17 22:37:33 +08:00
"text": {
"description": "Set the command text to be executed",
2023-06-17 22:37:33 +08:00
"type": "string"
},
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/commandFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Cursor",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "cursor",
"description": "Print cursor style name"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/cursorFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Custom",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Print a custom string, with or without key",
2023-06-20 14:41:01 +08:00
"const": "custom"
2023-06-17 22:37:33 +08:00
},
"key": {
"description": "Leave empty not to print the key",
2023-06-20 14:41:01 +08:00
"type": "string"
2023-06-17 22:37:33 +08:00
},
2023-06-18 12:32:47 +08:00
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"description": "Text to print",
2023-06-17 22:37:33 +08:00
"type": "string"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-05-01 15:54:30 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Date Time",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "datetime",
"description": "Print current date and time"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/datetimeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
2023-06-17 22:37:33 +08:00
{
"title": "Display",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Print resolutions, refresh rates, etc",
2023-06-20 14:41:01 +08:00
"const": "display"
2023-06-17 22:37:33 +08:00
},
"compactType": {
"description": "Set if all displays should be printed in one line",
"oneOf": [
{
"const": null,
"description": "Disable compact mode"
},
{
"const": "none",
"description": "Disable compact mode (kept for compatibility)"
},
{
"const": "original",
"description": "Print original resolutions"
},
{
"const": "scaled",
"description": "Print scaled resolutions"
},
{
"const": "original-with-refresh-rate",
"description": "Print original resolutions with refresh rates"
},
{
"const": "scaled-with-refresh-rate",
"description": "Print scaled resolutions with refresh rates"
}
],
"default": null
2023-06-17 22:37:33 +08:00
},
"preciseRefreshRate": {
"description": "Set if decimal refresh rates should not be rounded into integers when printing",
2023-06-17 22:37:33 +08:00
"type": "boolean",
2023-11-20 14:27:03 +08:00
"default": false
2023-06-17 22:37:33 +08:00
},
2024-02-22 10:47:13 +08:00
"order": {
"description": "Set the order should be used when printing",
"oneOf": [
{
"const": null,
"description": "Use the default order"
},
{
"const": "none",
"description": "Use the detected order (kept for compatibility)"
},
{
"const": "asc",
"description": "Sort by display name in ascending order"
},
{
"const": "desc",
"description": "Sort by display name in descending order"
}
2024-02-22 10:47:13 +08:00
],
"default": null
2024-02-22 10:47:13 +08:00
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/displayFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Disk",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Print partitions, space usage, disk type, etc",
2023-06-20 14:41:01 +08:00
"const": "disk"
2023-06-17 22:37:33 +08:00
},
"folders": {
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths for the disk output\nDefault: auto detection using mount-points\nThis option overrides other `show*` options"
2023-06-17 22:37:33 +08:00
},
"hideFolders": {
"type": "string",
2025-07-28 23:49:27 +08:00
"description": "A colon (semicolon on Windows) separated list of folder paths to hide from the disk output",
"default": "/efi:/boot:/boot/efi:/boot/firmware"
},
2025-05-21 16:40:42 +08:00
"hideFS": {
"type": "string",
"description": "A colon separated file systems to hide from the disk output"
},
2025-08-03 09:10:17 +08:00
"showRegular": {
"type": "boolean",
"description": "Set if regular volume should be printed",
"default": true
},
2023-06-17 22:37:33 +08:00
"showExternal": {
"type": "boolean",
"description": "Set if external volume should be printed",
2023-06-17 22:37:33 +08:00
"default": true
},
"showHidden": {
"type": "boolean",
"description": "Set if hidden volumes should be printed",
2023-06-17 22:37:33 +08:00
"default": false
},
"showSubvolumes": {
"type": "boolean",
"description": "Set if subvolumes should be printed",
2023-06-17 22:37:33 +08:00
"default": false
},
2023-08-26 12:50:45 +08:00
"showReadOnly": {
"type": "boolean",
"description": "Set if read only volumes should be printed",
2023-08-26 12:50:45 +08:00
"default": false
},
2023-06-17 22:37:33 +08:00
"showUnknown": {
"type": "boolean",
"description": "Set if unknown (unable to detect sizes) volumes should be printed",
2023-06-17 22:37:33 +08:00
"default": false
},
2023-08-26 10:36:00 +08:00
"useAvailable": {
"type": "boolean",
2025-08-03 09:24:03 +08:00
"description": "Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes\nMay be required for macOS to display correct results",
2023-08-26 10:36:00 +08:00
"default": false
},
"percent": {
"$ref": "#/$defs/percent"
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-10-09 19:24:25 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-10-09 19:24:25 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-10-09 19:24:25 +08:00
"format": {
"$ref": "#/$defs/diskFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-10-09 19:24:25 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-10-09 19:24:25 +08:00
},
{
"title": "DiskIO",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-10-09 19:24:25 +08:00
"properties": {
"type": {
"description": "Print physical disk I/O throughput",
2023-10-09 19:24:25 +08:00
"const": "diskio"
},
"namePrefix": {
"description": "Show disks with given name prefix only",
2023-10-09 19:24:25 +08:00
"type": "string"
},
2024-02-20 11:11:21 +08:00
"detectTotal": {
"description": "Detect total bytes instead of current rate",
"type": "boolean",
"default": false
},
"waitTime": {
"type": "integer",
"description": "Wait time (in ms). Disk I/O = (totalBytesEnd - totalBytesStart) / waitTime",
"default": 200,
"minimum": 1
},
2023-10-09 19:24:25 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/diskioFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
2023-10-31 09:19:41 +08:00
{
"title": "Desktop Environment",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-10-31 09:19:41 +08:00
"properties": {
"type": {
"const": "de",
"description": "Print desktop environment name"
},
"slowVersionDetection": {
"type": "boolean",
"description": "Set if DE version should be detected with slow operations.\nShould be unnecessary for most cases.\nThis is only used as a fallback method. Please file a bug report if you encounter any issues.",
"default": false
2023-10-31 09:19:41 +08:00
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
2024-06-12 19:52:25 +08:00
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
2024-06-12 19:52:25 +08:00
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2024-06-12 19:52:25 +08:00
"format": {
"$ref": "#/$defs/deFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-06-12 19:52:25 +08:00
}
}
},
{
"title": "DNS",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "dns",
"description": "Print DNS servers"
},
"showType": {
"oneOf": [
{
"const": "ipv4",
"description": "Show IPv4 addresses only"
},
{
"const": "ipv6",
"description": "Show IPv6 addresses only"
},
{
"const": "both",
"description": "Show both IPv4 and IPv6 addresses"
}
2024-06-12 19:52:25 +08:00
],
"default": "both",
"description": "Specify the type of DNS servers should be detected"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
2023-10-31 09:19:41 +08:00
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-10-31 09:19:41 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-10-31 09:19:41 +08:00
"format": {
"$ref": "#/$defs/dnsFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Editor",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "editor",
"description": "Print information of the default editor ($VISUAL or $EDITOR)"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/editorFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Font",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "font",
"description": "Print system font names"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/fontFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-10-31 09:19:41 +08:00
}
}
},
{
"title": "Gamepad",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "gamepad",
"description": "List connected gamepads"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/gamepadFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
2024-02-28 09:17:29 +08:00
}
},
2023-06-17 22:37:33 +08:00
{
"title": "GPU",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"description": "Print GPU names, graphic memory size, type, etc",
2023-06-20 14:41:01 +08:00
"const": "gpu"
2023-06-17 22:37:33 +08:00
},
"temp": {
2024-02-26 16:39:41 +08:00
"$ref": "#/$defs/temperature"
2023-06-17 22:37:33 +08:00
},
2023-12-20 14:59:27 +08:00
"driverSpecific": {
"description": "Use driver specific method to detect more detailed GPU information (memory usage, core count, etc)\nRequires the latest GPU drivers to be installed.",
2023-10-30 13:46:51 +08:00
"type": "boolean",
"default": false
},
"detectionMethod": {
"description": "Force using a specified method to detect GPUs",
"type": "string",
"oneOf": [
{
"const": "auto",
"description": "Query platform-specific graphics APIs.\nRequires proper GPU drivers to be installed.\nSupported on Linux, FreeBSD, Windows and macOS"
},
{
"const": "pci",
"description": "Search PCI devices, which does not require GPU drivers to be installed.\nNot supported on Windows and macOS"
},
{
"const": "vulkan",
"description": "Use Vulkan API.\nSlow and requires proper Vulkan drivers to be installed.\nUsed for Android"
},
{
"const": "opencl",
"description": "Use OpenCL API.\nSlow and requires proper OpenCL drivers to be installed"
},
{
"const": "opengl",
"description": "Use OpenGL API.\nSlow and only detects one GPU.\nUsed for OpenBSD"
}
],
"default": "<varies-by-platform>"
2023-06-17 22:37:33 +08:00
},
"hideType": {
"description": "Specify the type of GPUs should not be printed",
"oneOf": [
{
"const": null,
"description": "Do not hide any GPUs"
},
{
"const": "none",
"description": "Do not hide any GPUs (kept for compatibility)"
},
{
"const": "integrated",
"description": "Hide integrated GPUs"
},
{
"const": "discrete",
"description": "Hide discrete GPUs"
},
{
"const": "unknown",
"description": "Hide unknown (unrecognized) GPUs"
}
],
"default": null
2023-06-17 22:37:33 +08:00
},
"percent": {
"$ref": "#/$defs/percent"
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/gpuFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Host",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"const": "host",
"description": "Print product name of your computer"
2023-06-17 22:37:33 +08:00
},
"key": {
"$ref": "#/$defs/key"
2023-06-17 22:37:33 +08:00
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
2024-09-15 10:42:22 +08:00
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
2024-09-15 10:42:22 +08:00
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/hostFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Icons",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "icons",
"description": "Print icon style name"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/iconsFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Init System",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "initsystem",
"description": "Print init system (pid 1) name and version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/initsystemFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Kernel",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "kernel",
"description": "Print system kernel version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/kernelFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Keyboard",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "keyboard",
"description": "List (connected) keyboards"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/memoryFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Login Manager",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "lm",
"description": "Print login manager (desktop manager) name and version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/lmFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Local IP",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "List local IP addresses (v4 or v6), MAC addresses, etc",
"const": "localip"
},
"showIpv4": {
"description": "Show IPv4 addresses",
"type": "boolean",
"default": true
},
"showIpv6": {
"description": "Show IPv6 addresses",
"type": "boolean",
"default": false
},
"showSpeed": {
"description": "Show ethernet rx speed",
"type": "boolean",
"default": false
},
"showMtu": {
"description": "Show MTU",
"type": "boolean",
"default": false
},
"showMac": {
"description": "Show MAC addresses",
"type": "boolean",
"default": false
2023-06-17 22:37:33 +08:00
},
"showLoop": {
"description": "Show loop back addresses (127.0.0.1)",
2023-06-17 22:37:33 +08:00
"type": "boolean",
"default": false
},
"showPrefixLen": {
"description": "Show network prefix length (/N)",
"type": "boolean",
"default": true
},
2024-05-13 22:59:39 +08:00
"showAllIps": {
"description": "Show all IPs bound to the same interface.\nBy default only the firstly detected IP is shown",
2024-05-13 22:59:39 +08:00
"type": "boolean",
"default": false
},
"showFlags": {
"description": "Show the interface's flags",
"type": "boolean",
"default": false
},
2023-06-17 22:37:33 +08:00
"compact": {
"description": "Show all IPs in one line",
2023-06-17 22:37:33 +08:00
"type": "boolean",
"default": false
},
"namePrefix": {
"description": "Show IPs with given name prefix only",
2023-06-17 22:37:33 +08:00
"type": "string"
},
2023-09-26 22:34:37 +08:00
"defaultRouteOnly": {
"description": "Show ips that are used for default routing only\nDoesn't work on Android",
2023-09-26 22:34:37 +08:00
"type": "boolean",
"default": true
2023-09-26 22:34:37 +08:00
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-09-26 22:34:37 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-09-26 22:34:37 +08:00
"format": {
"$ref": "#/$defs/localipFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-09-26 22:34:37 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-09-26 22:34:37 +08:00
},
{
"title": "Loadavg",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "loadavg",
"description": "Print system load averages"
},
"ndigits": {
"type": "integer",
"description": "Set the number of digits to keep after the decimal point",
"minimum": 0,
"maximum": 9,
"default": 2
},
"compact": {
"type": "boolean",
"description": "Show values in one line",
"default": true
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/loadavgFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-05-08 16:41:33 +08:00
}
}
},
{
"title": "Locale",
2024-05-08 16:41:33 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "locale",
"description": "Print system locale name"
2024-05-08 16:41:33 +08:00
},
"key": {
"$ref": "#/$defs/key"
2024-05-09 09:40:53 +08:00
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/localeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Media",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "media",
"description": "Print song name of currently playing"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/mediaFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Memory",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "memory",
"description": "Print system memory usage info"
},
"percent": {
"$ref": "#/$defs/percent"
},
2024-05-08 16:41:33 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
2024-05-08 16:41:33 +08:00
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2024-05-08 16:41:33 +08:00
"format": {
"$ref": "#/$defs/memoryFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Mouse",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "mouse",
"description": "List connected mouses"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/memoryFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Monitor",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "monitor",
2024-12-11 16:41:48 +08:00
"description": "Alias of Display module (for backwards compatibility, deprecated)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/monitorFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
2024-02-28 09:17:29 +08:00
}
},
2023-09-26 22:34:37 +08:00
{
"title": "NetIO",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-09-26 22:34:37 +08:00
"properties": {
"type": {
"description": "Print network I/O throughput",
2023-09-27 00:05:37 +08:00
"const": "netio"
2023-09-26 22:34:37 +08:00
},
"namePrefix": {
"description": "Show IPs with given name prefix only",
2023-09-26 22:34:37 +08:00
"type": "string"
},
"defaultRouteOnly": {
"description": "Show ips that are used for default routing only\nDoesn't work on Android",
"type": "boolean",
"default": true
},
2024-02-20 14:44:55 +08:00
"detectTotal": {
"description": "Detect total bytes instead of current rate",
"type": "boolean",
"default": false
},
"waitTime": {
"type": "integer",
"description": "Wait time (in ms). Net I/O = (totalBytesEnd - totalBytesStart) / waitTime",
"default": 200,
"minimum": 1
},
2023-06-17 22:37:33 +08:00
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/netioFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "OpenCL",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "opencl",
"description": "Print highest OpenCL version supported by the GPU"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/openclFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "OpenGL",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print highest OpenGL version supported by the GPU",
"const": "opengl"
},
"library": {
"description": "Set the OpenGL context creation library to use",
"oneOf": [
{
"const": "auto",
"description": "Prefer EGL on *nix; prefer platform-specific implementation on others"
},
{
"const": "egl",
"description": "Use EGL, which works on TTY"
},
{
"const": "glx",
"description": "Use GLX, requires X session (*nix only)"
}
],
"default": "auto"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/openglFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Operating System",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "os",
"description": "Print OS / or Linux distro name and version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/osFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Packages",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "packages",
"description": "List installed package managers and count of installed packages"
},
"disabled": {
2025-08-03 09:24:03 +08:00
"oneOf": [
{
"description": "List of package managers to be disabled when detecting\nWarning: Some detection methods can be very slow.",
"type": "array",
"items": {
"type": "string",
"enum": [
"am",
"apk",
"brew",
"choco",
"dpkg",
"emerge",
"eopkg",
"flatpak",
"guix",
"hpkg",
"linglong",
"lpkg",
"lpkgbuild",
"macports",
"mport",
"nix",
"opkg",
"pacman",
"pacstall",
"paludis",
"pisi",
"pkg",
"pkgtool",
"rpm",
"scoop",
"snap",
"sorcery",
"winget",
"xbps"
],
"uniqueItems": true
}
},
{
"description": "Enable all package managers",
"type": "null"
}
],
"default": ["winget"]
},
"combined": {
"description": "Whether to combine related package managers into single counts (e.g., nix-system + nix-user = nix)",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/packagesFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Physical Disk",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print physical disk information",
"const": "physicaldisk"
},
"namePrefix": {
"description": "Show disks with given name prefix only",
"type": "string"
},
"temp": {
"$ref": "#/$defs/temperature"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/physicaldiskFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Physical Memory",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "physicalmemory",
"description": "Print system physical memory devices"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/physicalmemoryFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Player",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "player",
"description": "Print music player name"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/playerFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Power Adapter",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "poweradapter",
"description": "Print power adapter name and charging watts"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/poweradapterFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Processes",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "processes",
"description": "Count running processes"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/processesFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Public IP",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print your public IP address, etc",
"const": "publicip"
},
"url": {
"description": "The URL of public IP detection server to be used. Only HTTP protocol is supported",
"type": "string",
"format": "url",
"default": "http://ipinfo.io/ip"
},
"timeout": {
"description": "Time in milliseconds to wait for the public ip server to respond.\n0 to disable timeout",
"type": "integer",
"minimum": 0,
"default": 0
},
"ipv6": {
"description": "Whether to use IPv6 for public IP detection server",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/publicipFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Separator",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print a separator line",
"const": "separator"
},
"string": {
"description": "Set the string to be printed by the separator line",
"type": "string",
"default": "-"
},
"outputColor": {
"description": "Set the color of the separator line",
"$ref": "#/$defs/outputColor"
},
"length": {
"description": "Set the length of the separator line, or 0 to auto-detect",
"type": "integer",
"minimum": 0,
"default": 0
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Shell",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "shell",
"description": "Print current shell name and version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/shellFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Sound",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print sound devices, volume, etc",
"const": "sound"
},
"soundType": {
"description": "Set what type of sound devices should be printed",
"type": "string",
"oneOf": [
{
"const": "main",
"description": "Print only main sound devices"
},
{
"const": "active",
"description": "Print only active sound devices"
},
{
"const": "all",
"description": "Print all sound devices"
}
],
"default": "main"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/soundFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Swap",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "swap",
"description": "Print swap (paging file) space usage"
},
2025-06-07 19:23:18 +08:00
"separate": {
"type": "boolean",
"description": "Set if detailed swap devices should be reported on separate lines instead of a summary",
"default": false
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/swapFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Terminal",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "terminal",
"description": "Print current terminal name and version"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/terminalFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Terminal Font",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "terminalfont",
"description": "Print font name and size used by current terminal"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/terminalfontFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Terminal Size",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "terminalsize",
"description": "Print current terminal size"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/terminalsizeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Terminal Theme",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "terminaltheme",
"description": "Print current terminal theme (foreground and background colors)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/terminalthemeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-17 22:37:33 +08:00
},
{
"title": "Theme",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-17 22:37:33 +08:00
"properties": {
"type": {
"const": "theme",
"description": "Print current theme of desktop environment"
2023-06-17 22:37:33 +08:00
},
"key": {
2023-06-18 12:32:47 +08:00
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
2023-06-17 22:37:33 +08:00
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-17 22:37:33 +08:00
"format": {
"$ref": "#/$defs/themeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-17 22:37:33 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-18 14:38:39 +08:00
},
{
"title": "Title",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"description": "Print title, which contains your user name, hostname",
"const": "title"
},
"fqdn": {
"type": "boolean",
"description": "Set if the title should use fully qualified domain name",
"default": false
},
"color": {
"description": "Set colors of the different part of title",
"type": "object",
"additionalProperties": false,
"properties": {
"user": {
"description": "Set color of the user name (left part)",
"$ref": "#/$defs/colors"
},
"at": {
"description": "Set color of the @ symbol (middle part)",
"$ref": "#/$defs/colors"
},
"host": {
"description": "Set color of the host name (right part)",
"$ref": "#/$defs/colors"
}
}
2023-10-31 09:19:41 +08:00
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-10-31 09:19:41 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-10-31 09:19:41 +08:00
"format": {
"$ref": "#/$defs/titleFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
2023-12-18 15:53:15 +08:00
{
"title": "TPM",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-12-18 15:53:15 +08:00
"properties": {
"type": {
"const": "tpm",
"description": "Print info of Trusted Platform Module (TPM) Security Device"
2023-12-27 10:16:33 +08:00
},
2023-12-18 15:53:15 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-12-18 15:53:15 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-12-18 15:53:15 +08:00
"format": {
"$ref": "#/$defs/tpmFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-12-18 15:53:15 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-12-18 15:53:15 +08:00
},
2023-06-18 14:38:39 +08:00
{
"title": "Users",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-18 14:38:39 +08:00
"properties": {
"type": {
"const": "users",
"description": "Print users currently logged in"
2023-06-18 14:38:39 +08:00
},
"compact": {
"type": "boolean",
"description": "Show all active users in one line",
"default": false
2023-06-18 14:38:39 +08:00
},
"myselfOnly": {
2024-05-09 10:13:04 +08:00
"type": "boolean",
"description": "Show only the current user",
2024-05-09 10:13:04 +08:00
"default": false
},
2023-06-18 14:38:39 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-18 14:38:39 +08:00
"format": {
"$ref": "#/$defs/usersFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-18 14:38:39 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-18 14:38:39 +08:00
},
{
"title": "Uptime",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-18 14:38:39 +08:00
"properties": {
"type": {
"const": "uptime",
"description": "Print how long system has been running"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/uptimeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
2024-02-28 09:17:29 +08:00
}
},
{
"title": "Version",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "version",
"description": "Print Fastfetch version"
},
2023-06-18 14:38:39 +08:00
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-18 14:38:39 +08:00
"format": {
"$ref": "#/$defs/versionFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-18 14:38:39 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-18 14:38:39 +08:00
},
{
"title": "Vulkan",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-18 14:38:39 +08:00
"properties": {
"type": {
"const": "vulkan",
"description": "Print highest Vulkan version supported by the GPU"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/vulkanFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-18 14:38:39 +08:00
}
2024-06-12 14:02:35 +08:00
}
},
{
"title": "Wallpaper",
2024-06-12 14:02:35 +08:00
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "wallpaper",
"description": "Print image file path of current wallpaper"
2024-06-12 14:02:35 +08:00
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
2024-06-12 14:02:35 +08:00
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2024-06-12 14:02:35 +08:00
"format": {
"$ref": "#/$defs/wallpaperFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-06-12 14:02:35 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-06-18 14:38:39 +08:00
},
{
"title": "Weather",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-06-18 14:38:39 +08:00
"properties": {
"type": {
"description": "Print weather information",
2023-06-20 14:41:01 +08:00
"const": "weather"
2023-06-18 14:38:39 +08:00
},
2023-07-19 10:55:13 +08:00
"location": {
"description": "The location to display\nMust be URI encoded (e.g., a whitespace must be encoded as \"+\")",
2023-07-19 10:55:13 +08:00
"type": "string"
},
2023-06-18 14:38:39 +08:00
"timeout": {
"description": "Time in milliseconds to wait for the weather server to respond.\n0 to disable timeout",
2023-06-18 14:38:39 +08:00
"type": "integer",
"minimum": 0,
"default": 0
2023-06-18 14:38:39 +08:00
},
"outputFormat": {
"description": "The output weather format to be used (must be URI encoded)",
2023-06-18 14:38:39 +08:00
"type": "string",
"default": "%t+-+%C+(%l)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-06-18 14:38:39 +08:00
"format": {
"$ref": "#/$defs/weatherFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "Wi-Fi",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "wifi",
"description": "Print connected Wi-Fi info (SSID, connection and security protocol)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/wifiFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-06-18 14:38:39 +08:00
}
2024-02-28 09:17:29 +08:00
}
2023-10-31 09:19:41 +08:00
},
{
"title": "Window Manager",
2024-02-28 09:17:29 +08:00
"type": "object",
"additionalProperties": false,
2023-10-31 09:19:41 +08:00
"properties": {
"type": {
"const": "wm",
"description": "Print window manager name and version"
},
"detectPlugin": {
"description": "Set if window manager plugin should be detected on supported platforms",
2023-10-31 09:19:41 +08:00
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
2024-09-15 10:42:22 +08:00
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/wmFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
}
}
},
{
"title": "WM Theme",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "wmtheme",
"description": "Print current theme of window manager"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"outputColor": {
"$ref": "#/$defs/outputColor"
},
"format": {
"$ref": "#/$defs/wmthemeFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2024-09-15 10:42:22 +08:00
}
}
},
{
"title": "Zpool",
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"const": "zpool",
"description": "Print ZFS storage pools"
},
"percent": {
"$ref": "#/$defs/percent"
},
"key": {
"$ref": "#/$defs/key"
2023-10-31 09:19:41 +08:00
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
2024-07-24 14:05:46 +08:00
"keyIcon": {
"$ref": "#/$defs/keyIcon"
},
2023-10-31 09:19:41 +08:00
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
2024-07-24 14:05:46 +08:00
"outputColor": {
"$ref": "#/$defs/outputColor"
},
2023-10-31 09:19:41 +08:00
"format": {
"$ref": "#/$defs/zpoolFormat"
},
"condition": {
"$ref": "#/$defs/conditions"
2023-10-31 09:19:41 +08:00
}
}
2023-06-17 22:37:33 +08:00
}
2023-07-21 16:41:53 +08:00
]
}
]
}
}
2024-02-28 09:17:29 +08:00
}
}