better tmux support
This commit is contained in:
@@ -41,6 +41,11 @@ output_path = '~/.config/rofi/colors/matugen.rasi'
|
||||
input_path = '~/.config/matugen/templates/niri-colors.kdl'
|
||||
output_path = '~/.config/niri/colors.kdl'
|
||||
|
||||
[templates.tmux]
|
||||
input_path = '~/.config/matugen/templates/tmux-colors.conf'
|
||||
output_path = '~/.config/tmux/colors.conf'
|
||||
post_hook = 'tmux source-file ~/.config/tmux/tmux.conf 2>/dev/null || true && nohup ~/.config/matugen/scripts/sync-tmux-mac.sh >/dev/null 2>&1 &'
|
||||
|
||||
[templates.zellij]
|
||||
input_path = '~/.config/matugen/templates/zellij-colors.kdl'
|
||||
output_path = '~/.config/zellij/themes/matugen.kdl'
|
||||
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
log_file="$HOME/.cache/matugen-sync-tmux.log"
|
||||
|
||||
mkdir -p "$HOME/.cache"
|
||||
|
||||
{
|
||||
ssh mac-attio "mkdir -p ~/.config/tmux"
|
||||
scp "$HOME/.config/tmux/colors.conf" \
|
||||
mac-attio:~/.config/tmux/
|
||||
ssh mac-attio "tmux source-file ~/.config/tmux/tmux.conf 2>/dev/null || true"
|
||||
} >>"$log_file" 2>&1
|
||||
@@ -0,0 +1,94 @@
|
||||
# Tmux theme colors (generated by matugen)
|
||||
# Do not edit manually - run `matugen` to regenerate
|
||||
|
||||
# =============================================
|
||||
# Theme Colors
|
||||
# =============================================
|
||||
|
||||
# Primary colors
|
||||
PRIMARY={{colors.primary.default.hex}}
|
||||
ON_PRIMARY={{colors.on_primary.default.hex}}
|
||||
PRIMARY_CONTAINER={{colors.primary_container.default.hex}}
|
||||
ON_PRIMARY_CONTAINER={{colors.on_primary_container.default.hex}}
|
||||
|
||||
# Secondary colors
|
||||
SECONDARY={{colors.secondary.default.hex}}
|
||||
ON_SECONDARY={{colors.on_secondary.default.hex}}
|
||||
SECONDARY_CONTAINER={{colors.secondary_container.default.hex}}
|
||||
ON_SECONDARY_CONTAINER={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
# Tertiary colors
|
||||
TERTIARY={{colors.tertiary.default.hex}}
|
||||
ON_TERTIARY={{colors.on_tertiary.default.hex}}
|
||||
TERTIARY_CONTAINER={{colors.tertiary_container.default.hex}}
|
||||
ON_TERTIARY_CONTAINER={{colors.on_tertiary_container.default.hex}}
|
||||
|
||||
# Surface colors
|
||||
SURFACE={{colors.surface.default.hex}}
|
||||
SURFACE_DIM={{colors.surface_dim.default.hex}}
|
||||
SURFACE_BRIGHT={{colors.surface_bright.default.hex}}
|
||||
SURFACE_CONTAINER={{colors.surface_container.default.hex}}
|
||||
SURFACE_CONTAINER_LOW={{colors.surface_container_low.default.hex}}
|
||||
SURFACE_CONTAINER_HIGH={{colors.surface_container_high.default.hex}}
|
||||
SURFACE_VARIANT={{colors.surface_variant.default.hex}}
|
||||
|
||||
# Text colors
|
||||
ON_SURFACE={{colors.on_surface.default.hex}}
|
||||
ON_SURFACE_VARIANT={{colors.on_surface_variant.default.hex}}
|
||||
|
||||
# Utility colors
|
||||
OUTLINE={{colors.outline.default.hex}}
|
||||
OUTLINE_VARIANT={{colors.outline_variant.default.hex}}
|
||||
ERROR={{colors.error.default.hex}}
|
||||
ON_ERROR={{colors.on_error.default.hex}}
|
||||
ERROR_CONTAINER={{colors.error_container.default.hex}}
|
||||
ON_ERROR_CONTAINER={{colors.on_error_container.default.hex}}
|
||||
INVERSE_SURFACE={{colors.inverse_surface.default.hex}}
|
||||
INVERSE_ON_SURFACE={{colors.inverse_on_surface.default.hex}}
|
||||
INVERSE_PRIMARY={{colors.inverse_primary.default.hex}}
|
||||
SCRIM={{colors.scrim.default.hex}}
|
||||
SHADOW={{colors.shadow.default.hex}}
|
||||
|
||||
# =============================================
|
||||
# Tmux Styling using theme colors
|
||||
# =============================================
|
||||
|
||||
# Status bar styling
|
||||
set -g status-style "bg={{colors.surface.default.hex}},fg={{colors.on_surface.default.hex}}"
|
||||
set -g status-left "#[fg={{colors.on_primary.default.hex}},bg={{colors.primary.default.hex}},bold] #S #[default] "
|
||||
|
||||
# Smart status-right: changes based on mode
|
||||
set -g status-right "#[fg={{colors.on_surface_variant.default.hex}}]%Y-%m-%d #[fg={{colors.on_surface.default.hex}}]%H:%M #[default]"
|
||||
|
||||
# Window status format
|
||||
set -g window-status-format "#[fg={{colors.on_surface_variant.default.hex}}] #I:#W "
|
||||
set -g window-status-current-format "#[fg={{colors.on_primary_container.default.hex}},bg={{colors.primary_container.default.hex}},bold] #I:#W #[default]"
|
||||
set -g window-status-separator ""
|
||||
set -g status-justify left
|
||||
|
||||
# Pane borders
|
||||
set -g pane-border-style "fg={{colors.outline_variant.default.hex}}"
|
||||
set -g pane-active-border-style "fg={{colors.primary.default.hex}}"
|
||||
|
||||
# Message styling (for confirm dialogs like kill-pane)
|
||||
set -g message-style "fg={{colors.on_primary.default.hex}},bg={{colors.primary_container.default.hex}},bold"
|
||||
set -g message-command-style "fg={{colors.on_secondary.default.hex}},bg={{colors.secondary_container.default.hex}}"
|
||||
|
||||
# Mode styling (copy mode, etc.)
|
||||
set -g mode-style "fg={{colors.on_tertiary.default.hex}},bg={{colors.tertiary_container.default.hex}}"
|
||||
|
||||
# Clock mode
|
||||
set -g clock-mode-color "{{colors.primary.default.hex}}"
|
||||
|
||||
# Selection highlighting
|
||||
set -g copy-mode-match-style "fg={{colors.on_tertiary.default.hex}},bg={{colors.tertiary_container.default.hex}}"
|
||||
set -g copy-mode-current-match-style "fg={{colors.on_primary.default.hex}},bg={{colors.primary_container.default.hex}},bold"
|
||||
|
||||
# Popup styling
|
||||
set -g popup-style "bg={{colors.surface_container.default.hex}},fg={{colors.on_surface.default.hex}}"
|
||||
set -g popup-border-style "fg={{colors.outline.default.hex}}"
|
||||
|
||||
# Menu styling
|
||||
set -g menu-style "bg={{colors.surface_container.default.hex}},fg={{colors.on_surface.default.hex}}"
|
||||
set -g menu-selected-style "bg={{colors.primary_container.default.hex}},fg={{colors.on_primary_container.default.hex}}"
|
||||
set -g menu-border-style "fg={{colors.outline.default.hex}}"
|
||||
Reference in New Issue
Block a user