diff options
author | sefidel <contact@sefidel.net> | 2022-09-09 17:49:03 +0900 |
---|---|---|
committer | sefidel <contact@sefidel.net> | 2022-09-09 21:32:31 +0900 |
commit | 9e6145c031b47fc37398b80dec1b4dfc0cfb5183 (patch) | |
tree | f27e3c50a0c25223931e7057616e456432007de9 /home/profiles/base-darwin/config | |
parent | 9e311725d4f6c68284e3999c01735ebe3665a14d (diff) | |
download | nixrc-9e6145c031b47fc37398b80dec1b4dfc0cfb5183.tar.gz nixrc-9e6145c031b47fc37398b80dec1b4dfc0cfb5183.zip |
milestone: darwin!
feat(darwin/kompakt)!: support darwin chore: reformat feat(home/o32): manage neovim feat(home/development): fix haskell lsp version mismatch feat(darwin/*): stabilise
Diffstat (limited to 'home/profiles/base-darwin/config')
-rw-r--r-- | home/profiles/base-darwin/config/tmux.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/home/profiles/base-darwin/config/tmux.nix b/home/profiles/base-darwin/config/tmux.nix new file mode 100644 index 0000000..0b5eea4 --- /dev/null +++ b/home/profiles/base-darwin/config/tmux.nix @@ -0,0 +1,81 @@ +'' + set -ga terminal-overrides ",*256col*:Tc" + + setw -g automatic-rename on # rename window to reflect current program + set -g renumber-windows on # renumber windows when a window is closed + + set -g set-titles on # set terminal title + + set -g display-panes-time 800 # slightly longer pane indicators display time + set -g display-time 1000 # slightly longer status messages display time + + set -g status-interval 5 # redraw status line every 5 seconds + + # better split bindings + unbind '"' + unbind % + # splitting + bind f if-shell "[ $(($(tmux display -p '8*#{pane_width}-20*#{pane_height}'))) -lt 0 ]" "splitw -v -c '#{pane_current_path}'" "splitw -h -c '#{pane_current_path}' " + + # reload + bind r source-file ~/.config/tmux/tmux.conf + + bind -n C-h select-pane -L + bind -n C-j select-pane -D + bind -n C-k select-pane -U + bind -n C-l select-pane -R + + bind -n C-M-h resize-pane -L 2 + bind -n C-M-j resize-pane -D 2 + bind -n C-M-k resize-pane -U 2 + bind -n C-M-l resize-pane -R 2 + + bind -n M-j swap-pane -U + bind -n M-k swap-pane -D + + # prefix-m marks window, prefix-u swaps current with marked + bind u swap-pane + + # kill current pane + unbind x + bind w kill-pane + + # pane separator style + set -g pane-border-style "fg=black bg=terminal" + set -g pane-active-border-style "fg=black bg=black" + + # new window on n, not c + unbind c + unbind n + bind n new-window + + # enable mouse operation + set -g mouse on + + # move status line to the top + set-option -g status-position top + + set -g status-justify right + + # transparent status background + set-option -g status-style bg=default + + # left side length and style + set -g status-left-length 60 + set -g status-left-style default + + # display the session name + set -g status-left "#[fg=green] Stack #S #[default]" + + # right side length and style + set -g status-right-length 140 + set -g status-right-style default + set -g status-right "" + + # inactive window style + set -g window-status-style fg=default,bg=default + set -g window-status-format ' #I #W ' + # active window style + set -g window-status-current-style fg=blue,bg=default + set -g window-status-current-format ' #I #W ' +'' |