Config Schema
Complete reference for all config options.
Root Schema
Section titled “Root Schema”interface RawConfig { theme?: ThemeEntry logging?: LoggingConfig decks: Record<string, DeckDefinition> addons?: AddonEntry[] lock?: LockConfig}ThemeEntry
Section titled “ThemeEntry”type ThemeEntry = | string | { name?: string path: string }# Built-in themetheme: "default"
# Custom themetheme: name: "my-theme" path: "./themes/my-theme"LoggingConfig
Section titled “LoggingConfig”interface LoggingConfig { level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "silent" verbose?: boolean}logging: level: "debug" verbose: trueDeckDefinition
Section titled “DeckDefinition”interface DeckDefinition { name?: string icon?: string background?: string paginated?: boolean trigger?: TriggerConfig autoShow?: boolean buttonColor?: "blue" | "green" | "purple" buttons?: ButtonEntry[]}TriggerConfig
Section titled “TriggerConfig”interface TriggerConfig { process_name?: string | string[] window_name?: string | string[]}trigger: process_name: ["code", "code-oss"] window_name: ["*VS Code*"]ButtonEntry
Section titled “ButtonEntry”type ButtonEntry = | string | { position: number type: string config?: unknown actions?: { tap?: string dbltap?: string hold?: string } }AddonEntry
Section titled “AddonEntry”type AddonEntry = | string | { src: string enabled?: boolean config?: AddonConfig }AddonConfig
Section titled “AddonConfig”interface AddonConfig { defaults?: { autoShow?: boolean } decks?: Record<string, DeckOverride>}LockConfig
Section titled “LockConfig”interface LockConfig { buttons?: ButtonEntry[]}Complete Example
Section titled “Complete Example”theme: "default"
logging: level: "info"
decks: main: name: "Main" icon: "icon://Deck" background: "#000000" buttons: - position: 0 type: "core:action" config: icon: "icon://globe" label: "Open" actions: tap: "xdg-open https://example.com" - position: 1 type: "core:blank"
vscode: name: "VS Code" icon: "icon://Code" buttonColor: "green" paginated: true autoShow: true isOverlay: true trigger: process_name: ["code", "code-oss"] buttons: - { position: 0, type: "core:blank" }
addons: - "date-time" - "system-status" - src: "my-addon" enabled: true config: defaults: autoShow: false
lock: buttons: - { position: 0, type: "core:blank" }