# ╔═══════════════════════════════════════════════════════════╗
# ║  STORAGESHOWER — Cyberpunk Disk Usage TUI                ║
# ║  Config: ~/.storageshower.conf                           ║
# ╚═══════════════════════════════════════════════════════════╝
#
# All settings below can also be set via command-line flags.
# CLI flags override this file.  Run `storageshower -h` to see
# the full list.

# ── Sorting ─────────────────────────────────────────────────
sort_mode   = "Name"        # Name | Pct | Size
sort_rev    = false          # reverse sort direction

# ── Filtering ───────────────────────────────────────────────
show_local  = false          # show only local disks (HDD/SSD)
show_all    = true           # include virtual fs (tmpfs, devfs, etc.)

# ── Display ─────────────────────────────────────────────────
bar_style   = "Gradient"    # Gradient | Solid | Thin | Ascii
color_mode  = "Default"     # Default | Green | Blue | Purple | Amber | Cyan | Red | Sakura | Matrix | Sunset
unit_mode   = "Human"       # Human | GiB | MiB | Bytes
show_bars   = true           # display usage bars
show_border = true           # display border chrome
show_header = true           # display column headers
compact     = false          # compact mount names
show_used   = true           # show used/total size columns
full_mount  = false          # show full mount paths
show_tooltips = true         # hover tooltips on title/footer bars (right-click always works)

# ── Thresholds ──────────────────────────────────────────────
thresh_warn = 70             # warning  %  (cycle: 50 → 60 → 70 → 80)
thresh_crit = 90             # critical %  (cycle: 80 → 85 → 90 → 95)

# ── Column Widths (0 = auto, adjust via mouse drag) ────────
col_mount_w   = 0            # mount-name column width
col_bar_end_w = 0            # right panel total width
col_pct_w     = 0            # pct sub-column width (default 5)

# ── System ──────────────────────────────────────────────────
refresh_rate = 1             # data refresh interval in seconds
                             # (cycle: 1 → 2 → 5 → 10)

# ── Custom Themes ──────────────────────────────────────────
# Define your own color palettes using 256-color terminal indices.
# Each theme needs six colors: blue, green, purple, light_purple, royal, dark_purple.
# Activate with:  active_theme = "mytheme"  or  --theme mytheme
#
# See themes/ in the project repo for all 10 builtin palettes as
# ready-to-copy TOML snippets.  Paste one into this file and tweak
# the values to create your own.
#
# Example:
#
# [custom_themes.neonpink]
# blue         = 199
# green        = 46
# purple       = 201
# light_purple = 213
# royal        = 196
# dark_purple  = 161
#
# active_theme = "neonpink"

# ── CLI Flags ───────────────────────────────────────────────
#
#   -s, --sort MODE        sort disk entries (name, pct, size)
#   -R, --reverse          reverse sort order
#   -l, --local-only       show only local disks (HDD/SSD)
#       --no-virtual       hide virtual filesystems
#   -b, --bar-style STYLE  bar style (gradient, solid, thin, ascii)
#   -c, --color PALETTE    color palette (default, green, blue, purple, amber, cyan, red, sakura, matrix, sunset)
#       --list-colors      list all builtin color schemes with preview
#   -u, --units MODE       unit display (human, gib, mib, bytes)
#   -k, --compact          compact mount names
#   -f, --full-mount       show full mount paths
#       --no-bars          hide usage bars
#       --no-border        hide border chrome
#       --no-header        hide column headers
#       --no-used          hide used/total size display
#       --no-tooltips      disable hover tooltips (right-click still works)
#   -w, --warn PCT         warning threshold
#   -C, --crit PCT         critical threshold
#       --col-mount WIDTH  mount column width (0 = auto)
#       --col-bar-end WIDTH bar-end column width (0 = auto)
#       --col-pct WIDTH    percentage column width (0 = auto)
#   -r, --refresh SECS     data refresh interval
#       --config PATH      config file path
#   -h, --help             display help transmission
#   -V, --version          display version information

# ── Keybindings ─────────────────────────────────────────────
#
# General
#   q / Q         Flatline (quit)
#   h / H / ?     Toggle help overlay
#   p / P         Pause / resume data feed
#   Esc           Deselect disk
#
# Navigation (vim-style)
#   j / Down      Scroll the datastream (next)
#   k / Up        Scroll the datastream (prev)
#   G / End       Jump to last disk
#   Home / Ctrl+g Jump to first disk
#   Ctrl+d        Half-page down
#   Ctrl+u        Half-page up
#
# Sorting
#   n / N         Sort by name   (again to reverse)
#   u / U         Sort by usage% (again to reverse)
#   s / S         Sort by size   (again to reverse)
#   r / R         Reverse sort polarity
#   Click header  Cycle sort on that column
#
# Display toggles
#   b             Swap bar firmware (cycle style)
#   c             Shift chroma palette (cycle color)
#   v / V         Toggle bars
#   d / D         Toggle used/total columns
#   g             Toggle column headers
#   x / X         Toggle border chrome
#   m / M         Toggle compact mount names
#   w / W         Toggle full mount paths
#   i / I         Cycle units (Human → GiB → MiB → Bytes)
#
# Thresholds & refresh
#   t             Cycle warning threshold
#   T             Toggle hover tooltips (right-click still works)
#   z / Z         Cycle critical threshold
#   f / F         Cycle refresh rate
#
# Filtering (live — results update as you type)
#   l / L         Toggle local disks only
#   a / A         Toggle all filesystems
#   /             Enter filter daemon
#   0             Purge filter
#
# Filter-mode editing
#   Enter         Confirm & close
#   Esc           Cancel (restore previous filter)
#   Backspace     Delete char before cursor
#   Delete        Delete char at cursor
#   Ctrl+w        Delete word backward
#   Ctrl+u        Clear line before cursor
#   Ctrl+k        Delete to end of line
#   Ctrl+a/Home   Cursor to start
#   Ctrl+e/End    Cursor to end
#   Ctrl+b/Left   Cursor left
#   Ctrl+f/Right  Cursor right
#   Ctrl+h        Backspace (alternate)
#
# Disk operations
#   Enter         Open mount in file manager
#   y / Y         Copy mount path to clipboard
#   e / E         Export disk matrix to file
#
# Mouse
#   Left-drag on column separator  Resize columns
#   Left-click on column header    Cycle sort
#   Right-click                    Toggle help overlay
