fastfetch/doc/json_schema.json
2023-11-02 14:11:06 +08:00

1549 lines
78 KiB
JSON

{
"$schema": "http://json-schema.org/schema",
"$defs": {
"colors": {
"type": "string",
"enum": [
"reset_", "bright_", "dim_",
"black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "default",
"bright_black", "bright_red", "bright_green", "bright_yellow", "bright_blue", "bright_magenta", "bright_cyan", "bright_white"
]
},
"key": {
"description": "Key of the module",
"type": "string"
},
"keyColor": {
"description": "Color of the module key. Left empty to use `display.color.keys`",
"$ref": "#/$defs/colors"
},
"keyWidth": {
"description": "Width of the module key. Use 0 to use `display.keyWidth`",
"type": "integer",
"minimum": 0,
"default": 0
},
"format": {
"description": "Output format of the module",
"type": "string"
}
},
"type": "object",
"title": "JSON config",
"description": "JSON config file for fastfetch. Usually be `~/.config/fastfetch.jsonc`",
"properties": {
"$schema": {
"type": "string",
"description": "JSON schema URL, for JSON validation and IDE intelligence",
"format": "uri",
"default": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"
},
"logo": {
"oneOf": [
{
"description": "Disable logo",
"type": "null"
},
{
"description": "Set the source file of the logo",
"type": "string"
},
{
"description": "Fastfetch logo configurations",
"type": "object",
"properties": {
"type": {
"description": "Set the type of the logo given",
"enum": [
"auto",
"builtin",
"small",
"file",
"file-raw",
"data",
"data-raw",
"sixel",
"kitty",
"kitty-direct",
"iterm",
"chafa",
"raw",
"none"
],
"default": "auto"
},
"source": {
"type": "string",
"description": "Set the source file of the logo"
},
"color": {
"type": "object",
"description": "Overwrite a color 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"
}
},
"additionalProperties": false
},
"width": {
"type": "integer",
"description": "Set the width of the logo (in characters). Required for iTerm image protocol",
"minimum": 1
},
"height": {
"type": "integer",
"description": "Set the height of the logo (in characters). Required for iTerm image protocol",
"minimum": 1
},
"padding": {
"type": "object",
"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
}
},
"additionalProperties": false
},
"printRemaining": {
"type": "boolean",
"description": "Whether to print the remaining logo, if it has more lines than modules to display",
"default": false
},
"preserveAspectRadio": {
"type": "boolean",
"description": "Whether to preserve the aspect ratio of the logo. Supported by iTerm image protocol",
"default": false
},
"recache": {
"type": "boolean",
"description": "If true, regenerate image logo cache",
"default": false
},
"separate": {
"type": "boolean",
"description": "If true, print modules at bottom of the logo",
"default": false
},
"chafa": {
"type": "object",
"description": "Chafa configuration. See chafa document 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",
"description": "Determine how colors are used in the output. This value maps the value of enum ChafaCanvasMode.",
"enum": [
"TRUECOLOR",
"INDEXED_256",
"INDEXED_240",
"INDEXED_16",
"FGBG_BGFG",
"FGBG",
"INDEXED_8",
"INDEXED_16_8"
]
},
"colorSpace": {
"type": "string",
"description": "Set color space used for quantization. This value maps the value of enum ChafaColorSpace.",
"enum": [
"RGB",
"DIN99D"
]
},
"ditherMode": {
"type": "string",
"description": "Set output dither mode (No effect with 24-bit color). This value maps the value of enum ChafaDitherMode.",
"enum": [
"NONE",
"ORDERED",
"DIFFUSION"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
]
},
"general": {
"description": "Fastfetch general configurations",
"type": "object",
"properties": {
"multithreading": {
"type": "boolean",
"description": "Use multiple threads to detect values",
"default": true
},
"thread": {
"type": "boolean",
"description": "Alias of multithreading",
"default": true
},
"escapeBedrock": {
"type": "boolean",
"description": "On Bedrock Linux, whether to escape the bedrock jail",
"default": true
},
"playerName": {
"type": "string",
"description": "The name of the player to use for module Media and Player. Linux only"
},
"osFile": {
"type": "string",
"description": "Set the path to the file containing OS information. Linux only"
},
"dsForceDrm": {
"type": "boolean",
"description": "Force display detection to use `/sys/class/drm`. Linux only",
"default": false
},
"wmiTimeout": {
"type": "integer",
"description": "Set the timeout (ms) for WMI queries, `-1` for no timeout. Windows only",
"default": 5000
},
"processingTimeout": {
"type": "integer",
"description": "Set the timeout (ms) when waiting for child processes, `-1` for no timeout",
"default": 1000
}
},
"additionalProperties": false
},
"display": {
"description": "Configure how things to be displayed",
"type": "object",
"properties": {
"stat": {
"type": "boolean",
"description": "Show time usage (in ms) for individual modules",
"default": false
},
"pipe": {
"type": "boolean",
"description": "Whether to enable pipe mode (disable logo and all escape sequences)",
"default": false
},
"showErrors": {
"type": "boolean",
"description": "Print occurring errors to the console. False to ignore errored modules",
"default": false
},
"disableLinewrap": {
"type": "boolean",
"description": "Whether to disable line wrap during the run",
"default": true
},
"hideCursor": {
"type": "boolean",
"description": "Whether to hide the cursor during the run",
"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": [
{
"description": "Set the both color of the keys and title",
"$ref": "#/$defs/colors"
},
{
"type": "object",
"properties": {
"keys": {
"description": "Set the color of the keys",
"$ref": "#/$defs/colors"
},
"title": {
"description": "Set the color of the title",
"$ref": "#/$defs/colors"
}
},
"additionalProperties": false
}
]
},
"brightColor": {
"description": "Set if the keys, title and ASCII logo should be printed in bright color",
"type": "boolean",
"default": true
},
"keyWidth": {
"description": "Align the width of keys to number of characters, 0 to disable",
"type": "integer",
"minimum": 0,
"default": 0
},
"binaryPrefix": {
"type": "string",
"description": "Set the binary prefix to used when printing bytes",
"oneOf": [
{
"const": "iec",
"description": "1024 Bytes = 1 KiB, 1024 KiB = 1 MiB, ... (standard)"
},
{
"const": "si",
"description": "1000 Bytes = 1 KB, 1000 KB = 1 MB, ..."
},
{
"const": "jedec",
"description": "1024 Bytes = 1 kB, 1024 K = 1 MB, ..."
}
]
},
"size": {
"type": "object",
"description": "Set how a size value should be displayed",
"properties": {
"maxPrefix": {
"type": "string",
"description": "Set the largest binary prefix to use when formatting sizes",
"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",
"minimum": 0,
"maximum": 9,
"default": 2
}
}
},
"temperatureUnit": {
"type": "string",
"description": "Set the unit of the temperature",
"enum": ["CELSIUS", "C", "FAHRENHEIT", "F", "KELVIN", "K"],
"default": "C"
},
"bar": {
"type": "object",
"description": "Set the bar configuration",
"properties": {
"charElapsed": {
"type": "string",
"description": "Set the character to use in elapsed part",
"default": "■"
},
"charTotal": {
"type": "string",
"description": "Set the character to use in total part",
"default": "-"
},
"border": {
"type": "boolean",
"description": "Whether to show a border around the bar",
"default": true
},
"width": {
"type": "integer",
"description": "Set the width of the bar, in number of characters",
"minimum": 1,
"default": 10
}
}
},
"percent": {
"type": "object",
"description": "Set how a percentage value should be displayed",
"properties": {
"type": {
"type": "number",
"description": "Set the percentage output type. 1 for percentage number, 2 for bar, 3 for both, 6 for bar only, 9 for colored number",
"minimum": 0,
"maximum": 255,
"default": 1
},
"ndigits": {
"type": "number",
"description": "Set the number of digits to keep after the decimal point when formatting percentage numbers",
"minimum": 0,
"maximum": 9,
"default": 0
}
}
},
"noBuffer": {
"type": "boolean",
"description": "Whether to disable the stdout application buffer",
"default": false
}
},
"additionalProperties": false
},
"library": {
"description": "Set the path of a library to load",
"type": "object",
"properties": {
"pci": {
"type": "string",
"description": "GPU output (Linux and FreeBSD)"
},
"vulkan": {
"type": "string",
"description": "Vulkan module & fallback for GPU output"
},
"freetype": {
"type": "string",
"description": "Used for Termux font detection (Android)"
},
"wayland": {
"type": "string",
"description": "Better display performance and output in wayland sessions.\nSupports different refresh rates per monitor.\n(Linux, FreeBSD)"
},
"xcbRandr": {
"type": "string",
"description": "X11 sessions for better display detection and faster WM detection.\nThe *randr ones provide multi monitor support The libxcb* ones usually have better performance.\n (Linux, FreeBSD)"
},
"xcb": {
"type": "string",
"description": "X11 sessions for better display detection and faster WM detection.\nThe *randr ones provide multi monitor support The libxcb* ones usually have better performance.\n (Linux, FreeBSD)"
},
"xrandr": {
"type": "string",
"description": "X11 sessions for better display detection and faster WM detection.\nThe *randr ones provide multi monitor support The libxcb* ones usually have better performance.\n (Linux, FreeBSD)"
},
"x11": {
"type": "string",
"description": "X11 sessions for better display detection and faster WM detection.\nThe *randr ones provide multi monitor support The libxcb* ones usually have better performance.\n (Linux, FreeBSD)"
},
"gio": {
"type": "string",
"description": "Needed for values that are only stored GSettings (Linux, FreeBSD)"
},
"dconf": {
"type": "string",
"description": "Needed for values that are only stored in DConf + Fallback for GSettings (Linux, FreeBSD)"
},
"dbus": {
"type": "string",
"description": "Bluetooth, Player & Media detection (Linux, FreeBSD)"
},
"xfconf": {
"type": "string",
"description": "Needed for XFWM theme and XFCE Terminal font (Linux, FreeBSD)"
},
"sqlite3": {
"type": "string",
"description": "Needed for pkg & rpm package count (Linux, FreeBSD)"
},
"rpm": {
"type": "string",
"description": "Slower fallback for rpm package count. Needed on openSUSE & old CentOS / Redhat. (Linux)"
},
"imagemagick": {
"type": "string",
"description": "Images in terminal using sixel or kitty graphics protocol (Linux, FreeBSD, macOS)"
},
"z": {
"description": "Libz. Faster image output when using kitty graphics protocol (Linux, FreeBSD, macOS)",
"type": "string"
},
"chafa": {
"type": "string",
"description": "Image output as ascii art (Linux, FreeBSD, macOS)"
},
"egl": {
"type": "string",
"description": "Needed by the OpenGL module for gl context creation (Linux, FreeBSD)"
},
"glx": {
"type": "string",
"description": "Needed by the OpenGL module for gl context creation (Linux, FreeBSD)"
},
"osmesa": {
"type": "string",
"description": "Needed by the OpenGL module for gl context creation (Linux, FreeBSD)"
},
"opencl": {
"type": "string",
"description": "OpenCL module (Linux, FreeBSD, Windows)"
},
"pulse": {
"description": "Pulseaudio. Used for Sound detection (Linux, FreeBSD)",
"type": "string"
},
"nm": {
"description": "NetworkManager. Used for Wifi detection (Linux)",
"type": "string"
},
"ddcutil": {
"description": "Used for brightness detection of external displays (Linux)",
"type": "string"
}
},
"additionalProperties": false
},
"modules": {
"description": "Fastfetch modules to run",
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"description": "Run module with default configurations",
"enum": [
"battery",
"bios",
"bluetooth",
"board",
"break",
"brightness",
"chassis",
"cpu",
"cpuusage",
"command",
"colors",
"cursor",
"datetime",
"display",
"disk",
"diskio",
"de",
"font",
"gamepad",
"gpu",
"host",
"icons",
"kernel",
"lm",
"locale",
"localip",
"media",
"memory",
"monitor",
"netio",
"opencl",
"opengl",
"os",
"packages",
"player",
"poweradapter",
"processes",
"publicip",
"separator",
"shell",
"sound",
"swap",
"terminal",
"terminalfont",
"terminalsize",
"title",
"theme",
"uptime",
"users",
"version",
"vulkan",
"wallpaper",
"weather",
"wm",
"wifi",
"wmtheme"
]
},
{
"type": "object",
"description": "Run module with custom configurations",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
}
},
"oneOf": [
{
"title": "Break",
"properties": {
"type": {
"const": "break",
"description": "Print a empty line"
}
},
"additionalProperties": false
},
{
"description": "No additional properties",
"properties": {
"type": {
"anyOf": [
{
"const": "bios",
"description": "Print BIOS name, version, release date, etc"
},
{
"const": "board",
"description": "Print mather board name and other info"
},
{
"const": "cursor",
"description": "Print cursor style name"
},
{
"const": "datetime",
"description": "Print current date and time"
},
{
"const": "font",
"description": "Print system font name"
},
{
"const": "gamepad",
"description": "List connected gamepads"
},
{
"const": "host",
"description": "Print product name of your computer"
},
{
"const": "icons",
"description": "Print icon style name"
},
{
"const": "kernel",
"description": "Print system kernel version"
},
{
"const": "lm",
"description": "Print login manager (desktop manager) name and version"
},
{
"const": "locale",
"description": "Print system locale name"
},
{
"const": "media",
"description": "Print playing song name"
},
{
"const": "memory",
"description": "Print system memory usage info"
},
{
"const": "monitor",
"description": "Print connected physical monitor information"
},
{
"const": "opencl",
"description": "Print highest OpenCL version supported by the GPU"
},
{
"const": "os",
"description": "Print operating system name and version"
},
{
"const": "player",
"description": "Print music player name"
},
{
"const": "poweradapter",
"description": "Print power adapter name and charging watts"
},
{
"const": "processes",
"description": "Count running processes"
},
{
"const": "shell",
"description": "Print current shell name and version"
},
{
"const": "swap",
"description": "Print swap (paging file) space usage"
},
{
"const": "terminal",
"description": "Print current terminal name and version"
},
{
"const": "terminalfont",
"description": "Print font name and size used by current terminal"
},
{
"const": "terminalsize",
"description": "Print current terminal size"
},
{
"const": "theme",
"description": "Print current theme information"
},
{
"const": "uptime",
"description": "Print system uptime"
},
{
"const": "users",
"description": "List users currently logged in"
},
{
"const": "version",
"description": "Print Fastfetch version"
},
{
"const": "vulkan",
"description": "Print highest Vulkan version supported by the GPU"
},
{
"const": "wallpaper",
"description": "Print image file path of current wallpaper"
},
{
"const": "wifi",
"description": "Print connected Wi-Fi info (SSID, connection and security protocol)"
},
{
"const": "wmtheme",
"description": "Print current theme of window manager"
}
]
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Battery",
"properties": {
"type": {
"const": "battery",
"description": "Print battery capacity, status, etc"
},
"dir": {
"description": "The directory where the battery folders are. Standard: `/sys/class/power_supply/`. Linux only",
"type": "string"
},
"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": {
"description": "Detect and display Battery temperature if supported",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Bluetooth",
"properties": {
"type": {
"description": "List bluetooth devices",
"const": "bluetooth"
},
"showDisconnected": {
"description": "Set if disconnected bluetooth devices should be printed",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Brightness",
"properties": {
"type": {
"const": "brightness",
"description": "Print current brightness / luminance of your monitors"
},
"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
}
}
},
{
"title": "Chassis",
"properties": {
"type": {
"const": "chassis",
"description": "Print chassis type (desktop, laptop, etc)"
},
"useWmi": {
"description": "Set if WMI query should be used on Windows, which detects more information but slower",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
}
},
{
"title": "CPU",
"properties": {
"type": {
"description": "Print CPU name, frequency, etc",
"const": "cpu"
},
"temp": {
"description": "Detect and display CPU temperature if supported",
"type": "boolean",
"default": false
},
"freqNdigits": {
"description": "Set the number of digits to keep after the decimal point when printing CPU frequency",
"type": "integer",
"minimum": 0,
"maximum": 9,
"default": 2
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "CPU Usage",
"properties": {
"type": {
"const": "cpuusage",
"description": "Print CPU usage. Costs some time to collect data"
},
"separate": {
"type": "boolean",
"description": "Display CPU usage per CPU logical core, instead of an average result",
"default": false
}
}
},
{
"title": "Colors",
"properties": {
"type": {
"description": "Print some colored blocks",
"const": "colors"
},
"symbol": {
"description": "Set the symbol to use",
"type": "string",
"enum": [
"block",
"circle",
"diamond",
"triangle",
"square",
"star"
],
"default": "block"
},
"paddingLeft": {
"description": "Set the number of white spaces to print before the symbol",
"type": "integer",
"minimum": 0,
"default": 0
}
}
},
{
"title": "Command",
"properties": {
"type": {
"description": "Running custom shell scripts",
"const": "command"
},
"shell": {
"description": "Set the shell program to execute the command text\nDefault: cmd for Windows, /bin/sh for *nix",
"type": "string"
},
"text": {
"description": "Set the command text to be executed",
"type": "string"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Custom",
"properties": {
"type": {
"description": "Print a custom string, with or without key",
"const": "custom"
},
"key": {
"description": "Leave empty not to print the key",
"type": "string"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"description": "Text to print",
"type": "string"
}
},
"required": [
"format"
],
"additionalProperties": false
},
{
"title": "Display",
"properties": {
"type": {
"description": "Print resolutions, refresh rates, etc",
"const": "display"
},
"compactType": {
"enum": [
"none",
"original",
"scaled"
],
"description": "Set if all displays should be printed in one line",
"default": "none"
},
"preciseRefreshRate": {
"description": "Set if decimal refresh rates should not be rounded into integers when printing",
"type": "boolean",
"default": true
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Disk",
"properties": {
"type": {
"description": "Print partitions, space usage, disk type, etc",
"const": "disk"
},
"folders": {
"type": "string",
"description": "A colon (semicolon on Windows) separated list of folder paths for the disk output\nDefault: \"/:/home\" (\"C:\\\\;D:\\\\ ...\" on Windows)"
},
"showExternal": {
"type": "boolean",
"description": "Set if external volume should be printed",
"default": true
},
"showHidden": {
"type": "boolean",
"description": "Set if hidden volumes should be printed",
"default": false
},
"showSubvolumes": {
"type": "boolean",
"description": "Set if subvolumes should be printed",
"default": false
},
"showReadOnly": {
"type": "boolean",
"description": "Set if read only volumes should be printed",
"default": false
},
"showUnknown": {
"type": "boolean",
"description": "Set if unknown (unable to detect sizes) volumes should be printed",
"default": false
},
"useAvailable": {
"type": "boolean",
"description": "Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "DiskIO",
"properties": {
"type": {
"description": "Print physical disk I/O throughput",
"const": "diskio"
},
"namePrefix": {
"description": "Show disks with given name prefix only",
"type": "string"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "DE",
"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.",
"default": "false"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
}
},
{
"title": "GPU",
"properties": {
"type": {
"description": "Print GPU names, graphic memory size, type, etc",
"const": "gpu"
},
"temp": {
"description": "Detect and display GPU temperature if supported",
"type": "boolean",
"default": false
},
"useNvml": {
"description": "Use nvml (NVIDIA Management Library) to detect more detailed GPU information (memory usage, CUDA core count, etc)",
"type": "boolean",
"default": false
},
"forceVulkan": {
"description": "Force using vulkan to detect GPUs, which support video memory usage detection with `--allow-slow-operations`",
"type": "boolean",
"default": false
},
"hideType": {
"description": "Specify the type of GPUs should not be printed",
"enum": [
"integrated",
"discrete",
"none"
],
"default": "none"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Local IP",
"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
},
"showMac": {
"description": "Show MAC addresses",
"type": "boolean",
"default": false
},
"showLoop": {
"description": "Show loop back addresses (127.0.0.1)",
"type": "boolean",
"default": false
},
"compact": {
"description": "Show all IPs in one line",
"type": "boolean",
"default": false
},
"namePrefix": {
"description": "Show IPs with given name prefix only",
"type": "string"
},
"defaultRouteOnly": {
"description": "Show ips that are used for default routing only",
"type": "boolean",
"default": true
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "NetIO",
"properties": {
"type": {
"description": "Print network I/O throughput",
"const": "netio"
},
"namePrefix": {
"description": "Show IPs with given name prefix only",
"type": "string"
},
"defaultRouteOnly": {
"description": "Show ips that are used for default routing only",
"type": "boolean",
"default": true
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "OpenGL",
"properties": {
"type": {
"description": "Print highest OpenGL version supported by the GPU",
"const": "opengl"
},
"library": {
"description": "Set the OpenGL context creation library to use. Linux only",
"enum": [
"auto",
"egl",
"glx",
"osmesa"
],
"default": "auto"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Packages",
"properties": {
"type": {
"const": "packages",
"description": "List installed package managers and count of installed packages"
},
"winget": {
"description": "Set if winget package count should be detected.\nNote this is very slow operation. Please make sure `winget list` works before enable this option\nWindows only",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
}
},
{
"title": "Public IP",
"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",
"type": "integer",
"minimum": 0,
"default": "disabled (0)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Separator",
"properties": {
"type": {
"description": "Print a separator line",
"const": "separator"
},
"string": {
"description": "Set the string to be printed",
"type": "string",
"default": "-"
}
},
"additionalProperties": false
},
{
"title": "Sound",
"properties": {
"type": {
"description": "Print sound devices, volume, etc",
"const": "sound"
},
"soundType": {
"description": "Set what type of sound devices should be printed",
"type": "string",
"enum": [
"main",
"active",
"all"
],
"default": "main"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Title",
"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",
"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"
}
},
"additionalProperties": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "Weather",
"properties": {
"type": {
"description": "Print weather information",
"const": "weather"
},
"location": {
"description": "The location to display",
"type": "string"
},
"timeout": {
"description": "Time in milliseconds to wait for the weather server to respond",
"type": "integer",
"minimum": 0,
"default": "disabled (0)"
},
"outputFormat": {
"description": "The output weather format to be used (must be URI encoded)",
"type": "string",
"default": "%t+-+%C+(%l)"
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
},
"additionalProperties": false
},
{
"title": "WM",
"properties": {
"type": {
"const": "wm",
"description": "Print window manager name and version"
},
"detectPlugin": {
"description": "Set if window manager plugin should be detected on supported platforms",
"type": "boolean",
"default": false
},
"key": {
"$ref": "#/$defs/key"
},
"keyColor": {
"$ref": "#/$defs/keyColor"
},
"keyWidth": {
"$ref": "#/$defs/keyWidth"
},
"format": {
"$ref": "#/$defs/format"
}
}
}
]
}
]
}
}
},
"additionalProperties": false
}