Skip to content

Support configurable list selection colors and directory bold styling #95

@daewon

Description

@daewon

Summary

stu currently hardcodes the selected-row colors used in the bucket/object lists and always renders directory rows in bold.

That makes the default UI hard to tune for terminal themes where the current selection contrast is too strong, or where bold directory labels look visually brighter than surrounding rows.

Proposed change

Add optional config keys under [ui.theme]:

[ui.theme]
list_selected_bg = "#1d222c"
list_selected_fg = "default"
list_selected_inactive_bg = "#242a34"
list_selected_inactive_fg = "default"
object_dir_bold = false

Behavior:

  • use configurable active/inactive selected-row colors in bucket, object, and object-detail lists
  • keep the current defaults when the config is not set
  • accept named terminal colors, default / reset, and hex colors like #abc / #123456
  • allow disabling bold styling for directory rows

Why this helps

  • softer selection colors are easier on dark terminal themes
  • using default makes selected text blend better with the terminal's normal foreground color
  • disabling bold for directory rows avoids them looking brighter than neighboring items even when the color is the same

Screenshot

Current tuned appearance with the proposed config:

UI theme customization preview

Image

Environment used to validate

  • stu v0.7.6
  • terminal: tmux 3.6a with tmux-256color
  • OS: Ubuntu 24.04 on Linux 6.17.0-1007-oracle
  • storage target: Oracle Object Storage (S3-compatible endpoint)

Notes

I already have a working branch on my fork if this direction looks acceptable:

  • daewon:ui-theme-customization

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions