Config Options

Complete reference of all configuration options

Complete reference of all available configuration options in ~/.config/illogical-impulse/config.json.

At a Glance

Most commonly changed options:

  • panelFamily - Switch between ii and waffle
  • appearance.globalStyle - Material, Cards, Aurora, iNiR, or Angel
  • appearance.theme - Color scheme preset
  • bar.position - Bar placement (top/bottom/left/right)
  • dock.pinnedApps - Pinned applications
  • performance.lowPower - Battery saving mode

Jump to full reference ↓

Top Level Options

~table
OptionTypeDefaultDescription
panelFamily"ii" | "waffle""ii"Panel family to use
enabledPanelsstring[]AllPanel identifiers to load

Appearance Options

~table
OptionTypeDefaultDescription
appearance.globalStyle"material" | "cards" | "aurora" | "inir" | "angel""material"Visual style
appearance.themestring"wallpaper"Theme preset or wallpaper
appearance.darkModebooleanSystemForce dark or light mode

#appearance.transparency

Transparency settings (object):

~code
"appearance": {
  "transparency": {
    "enable": true,
    "automatic": true,
    "backgroundTransparency": 0.15,
    "contentTransparency": 0.9
  }
}
  • enable - Enable transparency
  • automatic - Auto-adjust based on wallpaper
  • backgroundTransparency - Panel background opacity (0-1)
  • contentTransparency - Content overlay opacity (0-1)

Bar Options

~table
OptionTypeDefaultDescription
bar.verticalbooleanfalseVertical orientation (ii only)
bar.position"top" | "bottom" | "left" | "right""top"Bar position
bar.heightnumber40Bar height in pixels

Top Level

#panelFamily

Which panel family to use.

Type: string Options: "ii", "waffle" Default: "ii"

~code
"panelFamily": "ii"

#enabledPanels

Array of panel identifiers to load.

Type: array<string> Default: All panels enabled

~code
"enabledPanels": [
  "iiBar",
  "iiDock",
  "iiBackground",
  "iiNotificationPopup"
]

Appearance

#appearance.globalStyle

Visual style for panels.

Type: string Options: "material", "cards", "aurora", "inir", "angel" Default: "material"

~code
"appearance": {
  "globalStyle": "material"
}

#appearance.theme

Theme preset or wallpaper-based colors.

Type: string Options: "wallpaper", "gruvbox", "catppuccin", "nord", "dracula", "tokyo-night" Default: "wallpaper"

#appearance.transparency

Transparency settings.

Type: object

~code
"appearance": {
  "transparency": {
    "enable": true,
    "automatic": true,
    "backgroundTransparency": 0.15,
    "contentTransparency": 0.9
  }
}
  • enable - Enable transparency
  • automatic - Auto-adjust based on wallpaper
  • backgroundTransparency - Panel background opacity (0-1)
  • contentTransparency - Content overlay opacity (0-1)

#appearance.darkMode

Force dark or light mode.

Type: boolean Default: System preference

Bar

#bar.vertical

Vertical bar orientation (ii family only).

Type: boolean Default: false

#bar.position

Bar position.

Type: string Options: "top", "bottom", "left", "right" Default: "top"

#bar.height

Bar height in pixels.

Type: number Default: 40

#bar.modules

Enable/disable bar modules.

Type: object

~code
"bar": {
  "modules": {
    "workspaces": true,
    "tray": true,
    "media": true,
    "weather": true,
    "clock": true
  }
}

Dock

#dock.position

Dock position (ii family only).

Type: string Options: "top", "bottom", "left", "right" Default: "bottom"

#dock.height

Dock height in pixels.

Type: number Default: 60

#dock.pinnedApps

Array of pinned application IDs.

Type: array<string> Default: []

~code
"dock": {
  "pinnedApps": [
    "firefox",
    "kitty",
    "dolphin",
    "code"
  ]
}

Search / Launcher

The launcher supports multiple prefixes to switch between different modes (apps, actions, calculator, web search, etc.). You can customize them under search.prefix.

~code
"search": {
  "prefix": {
    "action": "/",
    "app": ">",
    "clipboard": ";",
    "emojis": ":",
    "math": "=",
    "shellCommand": "$",
    "webSearch": "?",
    "showDefaultActionsWithoutPrefix": true
  }
}
  • search.prefix.action - Prefix for quick actions (default: /)
  • search.prefix.app - Prefix to force app search (default: >)
  • search.prefix.clipboard - Prefix for clipboard search (default: ;)
  • search.prefix.emojis - Prefix for emoji picker/search (default: :)
  • search.prefix.math - Prefix for calculator (default: =)
  • search.prefix.shellCommand - Prefix to run a shell command (default: $)
  • search.prefix.webSearch - Prefix for web search using search.engineBaseUrl (default: ?)
  • search.prefix.showDefaultActionsWithoutPrefix - If true, shows common actions even without typing a prefix

Background

#background.wallpaperPath

Path to wallpaper image.

Type: string Default: ""

~code
"background": {
  "wallpaperPath": "/home/user/Pictures/wallpaper.jpg"
}

#background.videoWallpaper

Enable video wallpapers.

Type: boolean Default: false

Notifications

#notifications.position

Notification popup position.

Type: string Options: "top-left", "top-right", "bottom-left", "bottom-right" Default: "top-right"

#notifications.timeout

Notification timeout in milliseconds.

Type: number Default: 5000

#notifications.maxVisible

Maximum visible notifications.

Type: number Default: 3

#sidebar.left

Left sidebar settings (ii family only).

Type: object

~code
"sidebar": {
  "left": {
    "enable": true,
    "width": 400
  }
}

#sidebar.right

Right sidebar settings (ii family only).

Type: object

~code
"sidebar": {
  "right": {
    "enable": true,
    "width": 350
  }
}

Performance

#performance.lowPower

Enable low power mode.

Type: boolean Default: false

Reduces animations and effects to save battery.

#performance.reduceAnimations

Reduce or disable animations.

Type: boolean Default: false

GameMode

#gameMode.enable

Enable automatic GameMode detection.

Type: boolean Default: true

#gameMode.disableEffects

Disable blur effects in GameMode.

Type: boolean Default: true

#gameMode.disableAnimations

Disable animations in GameMode.

Type: boolean Default: true

#gameMode.minimalMode

Enable minimal mode in GameMode.

Type: boolean Default: true

Makes panels transparent and reduces visual weight.

Modules

#modules.clipboard

Enable clipboard history.

Type: boolean Default: true

#modules.mediaControls

Enable floating media controls.

Type: boolean Default: true

#modules.aiChat

Enable AI chat interface.

Type: boolean Default: false

Requires API keys.

#modules.weather

Enable weather widget.

Type: boolean Default: true

#modules.tray

Enable system tray.

Type: boolean Default: true

Policies

#policies.aiAccessLevel

AI feature access level.

Type: number Options: 0 (all), 1 (limited), 2 (local only) Default: 0

#policies.weebContent

Enable anime/weeb content features.

Type: boolean Default: false

Waffle-Specific

#waffles.taskbarPosition

Taskbar position (waffle family only).

Type: string Options: "bottom", "top" Default: "bottom"

#waffles.centerTaskbar

Center taskbar icons.

Type: boolean Default: true

#waffles.allowMultiplePanels

Allow multiple waffle panels open simultaneously.

Type: boolean Default: false

Example Complete Config

~code
{
  "panelFamily": "ii",
  "enabledPanels": ["iiBar", "iiDock", "iiBackground"],
  "appearance": {
    "globalStyle": "material",
    "theme": "wallpaper",
    "transparency": {
      "enable": true,
      "automatic": true
    }
  },
  "bar": {
    "vertical": false,
    "position": "top",
    "height": 40,
    "modules": {
      "workspaces": true,
      "tray": true,
      "media": true,
      "weather": true
    }
  },
  "dock": {
    "position": "bottom",
    "height": 60,
    "pinnedApps": ["firefox", "kitty", "dolphin"]
  },
  "background": {
    "wallpaperPath": "/home/user/Pictures/wallpaper.jpg"
  },
  "notifications": {
    "position": "top-right",
    "timeout": 5000,
    "maxVisible": 3
  },
  "performance": {
    "lowPower": false,
    "reduceAnimations": false
  },
  "gameMode": {
    "enable": true,
    "disableEffects": true,
    "disableAnimations": true
  },
  "modules": {
    "clipboard": true,
    "mediaControls": true,
    "aiChat": false,
    "weather": true
  }
}

Validation

iNiR validates the config on startup. Invalid options are logged and defaults are used.

Check logs for validation errors:

~code
qs log -c ii | grep -i "config\|validation"

Schema

The config schema is defined in modules/common/Config.qml. All options must exist in the schema before use.