Skip to content

Custom CSS

Switch to Zen Mode

Mutsumi’s TUI is built with Textual, which uses a CSS-like styling system. You can inject custom CSS to override any visual aspect of the interface.

Set the custom_css_path in config.toml:

custom_css_path = "~/.config/mutsumi/custom.tcss"

Create the file at that path. Mutsumi loads it on startup and applies it on top of the default styles.

Textual CSS looks like web CSS but targets terminal widgets:

/* Target by widget class name */
TaskRow {
background: #1e1e2e;
color: #cdd6f4;
}
/* Target by ID */
#header-bar {
background: #181825;
}
/* Target by CSS class */
.priority-high {
color: #f38ba8;
}
/* Pseudo-classes */
TaskRow:hover {
background: #313244;
}
TaskRow:focus {
background: #45475a;
}

These are the main widget classes you can target:

WidgetDescription
MutsumiAppRoot application
HeaderBarTop bar with tabs and branding
TaskListMain scrollable task container
TaskRowIndividual task row
PriorityGroupPriority section header (HIGH/NORMAL/LOW)
DetailPanelExpanded task detail view
FooterBarBottom status bar
ConfirmBarInline delete confirmation
ConfirmDialogModal delete confirmation
SearchBarSearch input bar
SortOverlaySort field picker
HelpScreenKeybinding help overlay
TaskFormNew/edit task dialog
ClassApplied to
.priority-highTask rows with high priority
.priority-normalTask rows with normal priority
.priority-lowTask rows with low priority
.task-doneCompleted task rows
.task-pendingPending task rows
.tab-activeCurrently active scope tab
.search-matchTasks matching search query
.search-dimTasks not matching search query
TaskList {
width: 100%;
max-width: 120;
}
.priority-high {
color: #ff6b6b;
}
.priority-normal {
color: #ffd93d;
}
.priority-low {
color: #6bcb77;
}
.task-done {
text-style: strike;
color: #666666;
}
FooterBar {
display: none;
}
HeaderBar {
background: #181825;
border-bottom: solid #313244;
}
DetailPanel {
border: round #45475a;
padding: 1 2;
margin: 1;
}
  • Restart Mutsumi after editing the CSS file for changes to take effect.
  • Use mutsumi config --path to confirm where your config file is located.
  • Textual CSS supports !important for overriding specificity.
  • Colors can be specified as hex (#ff5555), named (red), or RGB (rgb(255, 85, 85)).
  • text-style accepts: bold, italic, underline, strike, reverse, dim.