mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Add Tmux (#4562)
* Add Tmux Being able to use a unified terminal setup between local and remote hosts has some real advantages. * Renaming is more important than reloading * Self-explanatory, really * Add alias for it * Attach to last used session or start a new if we have none * Just stick to n/p * Make it a clean 10x * We don't need this * Keep similar fixes together * Keep bindings together * Hate looking at that 0 * Add way to refresh theme from its templates (when they've changed) * Fix
This commit is contained in:
committed by
GitHub
parent
f2f306269a
commit
ffafe1727e
9
bin/omarchy-theme-refresh
Executable file
9
bin/omarchy-theme-refresh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Refresh the current theme from its templates.
|
||||||
|
|
||||||
|
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
|
||||||
|
|
||||||
|
if [[ -f $THEME_NAME_PATH ]]; then
|
||||||
|
omarchy-theme-set "$(cat $THEME_NAME_PATH)"
|
||||||
|
fi
|
||||||
52
config/tmux/tmux.conf
Normal file
52
config/tmux/tmux.conf
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Theme
|
||||||
|
source-file ~/.config/omarchy/current/theme/tmux.conf
|
||||||
|
|
||||||
|
# General
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
set -ag terminal-overrides ",*:RGB"
|
||||||
|
set -g mouse on
|
||||||
|
set -g base-index 1
|
||||||
|
setw -g pane-base-index 1
|
||||||
|
set -g renumber-windows on
|
||||||
|
set -g history-limit 50000
|
||||||
|
set -g escape-time 0
|
||||||
|
set -g focus-events on
|
||||||
|
set -g set-clipboard on
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
set -g detach-on-destroy off
|
||||||
|
|
||||||
|
# Status bar
|
||||||
|
set -g status-position top
|
||||||
|
set -g status-interval 5
|
||||||
|
set -g status-left-length 30
|
||||||
|
set -g status-right-length 50
|
||||||
|
set -g window-status-separator ""
|
||||||
|
|
||||||
|
# Reload config
|
||||||
|
bind M-r source-file ~/.config/tmux/tmux.conf
|
||||||
|
|
||||||
|
# Rename window / session
|
||||||
|
bind r command-prompt -I "#W" "rename-window -- '%%'"
|
||||||
|
bind R command-prompt -I "#S" "rename-session -- '%%'"
|
||||||
|
|
||||||
|
# Vi mode for copy
|
||||||
|
setw -g mode-keys vi
|
||||||
|
bind -T copy-mode-vi v send -X begin-selection
|
||||||
|
bind -T copy-mode-vi y send -X copy-selection-and-cancel
|
||||||
|
|
||||||
|
# Pane resizing
|
||||||
|
bind -r S-Left resize-pane -L 10
|
||||||
|
bind -r S-Down resize-pane -D 10
|
||||||
|
bind -r S-Up resize-pane -U 10
|
||||||
|
bind -r S-Right resize-pane -R 10
|
||||||
|
|
||||||
|
# Saner splits that open in the same directory
|
||||||
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
# New windows in same directory
|
||||||
|
bind c new-window -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
# Sessions
|
||||||
|
bind C new-session
|
||||||
|
bind X kill-session
|
||||||
@@ -34,6 +34,7 @@ alias ....='cd ../../..'
|
|||||||
alias c='opencode'
|
alias c='opencode'
|
||||||
alias d='docker'
|
alias d='docker'
|
||||||
alias r='rails'
|
alias r='rails'
|
||||||
|
alias t='tmux attach || tmux new -s Work'
|
||||||
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
|
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
|
||||||
|
|
||||||
# Git
|
# Git
|
||||||
|
|||||||
11
default/themed/tmux.conf.tpl
Normal file
11
default/themed/tmux.conf.tpl
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
set -g status-style "bg={{ background }},fg={{ foreground }}"
|
||||||
|
set -g status-left "#[fg={{ background }},bg={{ accent }},bold] #S #[bg={{ background }}] "
|
||||||
|
set -g status-right "#[fg={{ accent }}]#{?client_prefix,PREFIX ,}#[fg={{ color8 }}]#h "
|
||||||
|
set -g window-status-format "#[fg={{ color8 }}] #I:#W "
|
||||||
|
set -g window-status-current-format "#[fg={{ accent }},bold] #I:#W "
|
||||||
|
set -g pane-border-style "fg={{ color8 }}"
|
||||||
|
set -g pane-active-border-style "fg={{ accent }}"
|
||||||
|
set -g message-style "bg={{ background }},fg={{ accent }}"
|
||||||
|
set -g message-command-style "bg={{ background }},fg={{ accent }}"
|
||||||
|
set -g mode-style "bg={{ accent }},fg={{ background }}"
|
||||||
|
setw -g clock-mode-colour "{{ accent }}"
|
||||||
@@ -120,6 +120,7 @@ swayosd
|
|||||||
system-config-printer
|
system-config-printer
|
||||||
tldr
|
tldr
|
||||||
tree-sitter-cli
|
tree-sitter-cli
|
||||||
|
tmux
|
||||||
tobi-try
|
tobi-try
|
||||||
ttf-cascadia-mono-nerd
|
ttf-cascadia-mono-nerd
|
||||||
ttf-ia-writer
|
ttf-ia-writer
|
||||||
|
|||||||
9
migrations/1770638893.sh
Normal file
9
migrations/1770638893.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
echo "Add Tmux as an option with themed styling"
|
||||||
|
|
||||||
|
omarchy-pkg-add tmux
|
||||||
|
|
||||||
|
if [[ ! -f ~/.config/tmux/tmux.conf ]]; then
|
||||||
|
mkdir -p ~/.config/tmux
|
||||||
|
cp $OMARCHY_PATH/config/tmux/tmux.conf ~/.config/tmux/tmux.conf
|
||||||
|
omarchy-theme-refresh
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user