summaryrefslogtreecommitdiff
path: root/.config/tmux
diff options
context:
space:
mode:
authorVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:30:52 +0530
committerVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:30:52 +0530
commit5c916d69d457101326803eb076a746060e3618cf (patch)
treed6fce3256eede1c1bf78fb6a1be75b9cc4b84cee /.config/tmux
Moved from github
Diffstat (limited to '.config/tmux')
-rw-r--r--.config/tmux/tmux-gruvbox-dark.conf53
-rw-r--r--.config/tmux/tmux-gruvbox-light.conf56
-rw-r--r--.config/tmux/tmux-onedark-theme.tmux95
-rw-r--r--.config/tmux/tmux.conf77
4 files changed, 281 insertions, 0 deletions
diff --git a/.config/tmux/tmux-gruvbox-dark.conf b/.config/tmux/tmux-gruvbox-dark.conf
new file mode 100644
index 0000000..0c3a4f9
--- /dev/null
+++ b/.config/tmux/tmux-gruvbox-dark.conf
@@ -0,0 +1,53 @@
+## COLORSCHEME: gruvbox dark (medium)
+set-option -g status "on"
+
+# default statusbar color
+set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
+
+# default window title colors
+set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
+
+# default window with an activity alert
+set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
+
+# active window title colors
+set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
+
+# pane border
+set-option -g pane-active-border-style fg=colour250 #fg2
+set-option -g pane-border-style fg=colour237 #bg1
+
+# message infos
+set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
+
+# writing commands inactive
+set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
+
+# pane number display
+set-option -g display-panes-active-colour colour250 #fg2
+set-option -g display-panes-colour colour237 #bg1
+
+# clock
+set-window-option -g clock-mode-colour colour109 #blue
+
+# bell
+set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
+
+## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
+set-option -g status-justify "left"
+set-option -g status-left-style none
+set-option -g status-left-length "80"
+set-option -g status-right-style none
+set-option -g status-right-length "80"
+set-window-option -g window-status-separator ""
+
+set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
+# set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
+
+set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
+set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
+
+# vim: set ft=tmux tw=0 nowrap:
+
+# user configuration
+set-option -g status-right "#[bg=colour237,fg=colour248 nobold, nounderscore, noitalics]#[bg=colour248,fg=colour237] #h "
diff --git a/.config/tmux/tmux-gruvbox-light.conf b/.config/tmux/tmux-gruvbox-light.conf
new file mode 100644
index 0000000..8761966
--- /dev/null
+++ b/.config/tmux/tmux-gruvbox-light.conf
@@ -0,0 +1,56 @@
+## COLORSCHEME: gruvbox light (medium)
+#
+# Some colors are not used by gruvbox light medium theme.
+# The main idea is to find best version of colors that fit
+# the spirit of gruvbox light theme with limited numbers of
+# 256 color palette.
+
+set-option -g status "on"
+
+# default statusbar colors
+set-option -g status-style bg=colour252,fg=colour239 # bg=notInGruvboxPallete, #fg=fg1
+
+# default window title colors
+set-window-option -g window-status-style bg=colour66,fg=colour229 # bg=aqua, fg=bg5
+
+# default window with an activity alert
+set-window-option -g window-status-activity-style bg=colour237,fg=colour241 # bg=bg1, fg=notInGruvboxPallete
+
+# active window title colors
+set-window-option -g window-status-current-style bg=default,fg=colour237 # bg=default, fg=bg1
+
+# pane border
+set-option -g pane-active-border-style fg=colour241 # fg=notInGruvboxPallete
+set-option -g pane-border-style fg=colour252 # bg1=notInGruvboxPallete
+
+# message infos (visible while writing command)
+set-option -g message-style bg=colour252,fg=colour241 # bg=notInGruvboxPallete, fg=notInGruvboxPallete
+
+# writing commands inactive
+set-option -g message-command-style bg=colour124,fg=colour241 # bg=notInGruvboxPallete, fg=notInGruvboxPallete
+
+# pane number display
+set-option -g display-panes-active-colour colour241 # notInGruvboxPallete
+set-option -g display-panes-colour colour248 # notInGruvboxPallete
+
+# clock
+set-window-option -g clock-mode-colour colour172 # orange
+
+# bell
+set-window-option -g window-status-bell-style bg=colour124,fg=colour229 # bg=red, fg=bg
+
+## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
+set-option -g status-justify "left"
+set-option -g status-left-style none
+set-option -g status-left-length "80"
+set-option -g status-right-style none
+set-option -g status-right-length "80"
+set-window-option -g window-status-separator ""
+
+set-option -g status-left "#[bg=colour243,fg=colour255] #S #[bg=colour252,fg=colour243,nobold,noitalics,nounderscore]"
+set-option -g status-right "#[bg=colour252,fg=colour243,nobold,nounderscore,noitalics]#[bg=colour243,fg=colour255] %Y-%m-%d  %H:%M #[bg=colour243,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour237,fg=colour255] #h "
+
+set-window-option -g window-status-current-format "#[bg=colour215,fg=colour252,nobold,noitalics,nounderscore]#[bg=colour215,fg=colour239] #I #[bg=colour215,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour252,fg=colour215,nobold,noitalics,nounderscore]"
+set-window-option -g window-status-format "#[bg=colour249,fg=colour252,noitalics]#[bg=colour249,fg=colour241] #I #[bg=colour249,fg=colour241] #W #[bg=colour252,fg=colour249,noitalics]"
+
+# vim: set ft=tmux tw=0 nowrap:
diff --git a/.config/tmux/tmux-onedark-theme.tmux b/.config/tmux/tmux-onedark-theme.tmux
new file mode 100644
index 0000000..8150357
--- /dev/null
+++ b/.config/tmux/tmux-onedark-theme.tmux
@@ -0,0 +1,95 @@
+#!/bin/bash
+onedark_black="#282c34"
+onedark_blue="#61afef"
+onedark_yellow="#e5c07b"
+onedark_red="#e06c75"
+onedark_white="#aab2bf"
+onedark_green="#98c379"
+onedark_visual_grey="#3e4452"
+onedark_comment_grey="#5c6370"
+
+if [ -z "$SSH_CONNECTION" ] && [ -n "$TERMUX_VERSION" ]; then
+ onedark_white="#dddddd"
+fi
+
+get() {
+ local option=$1
+ local default_value=$2
+ local option_value="$(tmux show-option -gqv "$option")"
+
+ if [ -z "$option_value" ]; then
+ echo "$default_value"
+ else
+ echo "$option_value"
+ fi
+}
+
+set() {
+ local option=$1
+ local value=$2
+ tmux set-option -gq "$option" "$value"
+}
+
+setw() {
+ local option=$1
+ local value=$2
+ tmux set-window-option -gq "$option" "$value"
+}
+
+set "status" "on"
+set "status-justify" "left"
+
+set "status-left-length" "100"
+set "status-right-length" "100"
+set "status-right-attr" "none"
+
+set "message-fg" "$onedark_white"
+set "message-bg" "$onedark_black"
+
+set "message-command-fg" "$onedark_white"
+set "message-command-bg" "$onedark_black"
+
+set "status-attr" "none"
+set "status-left-attr" "none"
+
+setw "window-status-fg" "$onedark_black"
+setw "window-status-bg" "$onedark_black"
+setw "window-status-attr" "none"
+
+setw "window-status-activity-bg" "$onedark_black"
+setw "window-status-activity-fg" "$onedark_black"
+setw "window-status-activity-attr" "none"
+
+setw "window-status-separator" ""
+
+set "window-style" "fg=$onedark_comment_grey"
+set "window-active-style" "fg=$onedark_white"
+
+set "pane-border-fg" "$onedark_white"
+set "pane-border-bg" "$onedark_black"
+set "pane-active-border-fg" "$onedark_green"
+set "pane-active-border-bg" "$onedark_black"
+
+set "display-panes-active-colour" "$onedark_yellow"
+set "display-panes-colour" "$onedark_blue"
+
+set "status-bg" "$onedark_black"
+set "status-fg" "$onedark_white"
+
+set "@prefix_highlight_fg" "$onedark_black"
+set "@prefix_highlight_bg" "$onedark_green"
+set "@prefix_highlight_copy_mode_attr" "fg=$onedark_black,bg=$onedark_green"
+set "@prefix_highlight_output_prefix" "  "
+
+status_widgets=$(get "@onedark_widgets")
+time_format=$(get "@onedark_time_format" "%R")
+date_format=$(get "@onedark_date_format" "%d/%m/%Y")
+
+# set "status-right" "#[fg=$onedark_white,bg=$onedark_black,nounderscore,noitalics]${time_format}  ${date_format} #[fg=$onedark_visual_grey,bg=$onedark_black]#[fg=$onedark_visual_grey,bg=$onedark_visual_grey]#[fg=$onedark_white, bg=$onedark_visual_grey]${status_widgets} #[fg=$onedark_green,bg=$onedark_visual_grey,nobold,nounderscore,noitalics]#[fg=$onedark_black,bg=$onedark_green,bold] #h #[fg=$onedark_yellow, bg=$onedark_green]#[fg=$onedark_red,bg=$onedark_yellow]"
+set "status-left" "#[fg=$onedark_black,bg=$onedark_green,bold] #S #{prefix_highlight}#[fg=$onedark_green,bg=$onedark_black,nobold,nounderscore,noitalics]"
+
+set "window-status-format" "#[fg=$onedark_black,bg=$onedark_black,nobold,nounderscore,noitalics]#[fg=$onedark_white,bg=$onedark_black] #I  #W #[fg=$onedark_black,bg=$onedark_black,nobold,nounderscore,noitalics]"
+set "window-status-current-format" "#[fg=$onedark_black,bg=$onedark_visual_grey,nobold,nounderscore,noitalics]#[fg=$onedark_white,bg=$onedark_visual_grey,nobold] #I  #W #[fg=$onedark_visual_grey,bg=$onedark_black,nobold,nounderscore,noitalics]"
+
+# user configuration
+set "status-right" "#[bg=colour236,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf
new file mode 100644
index 0000000..cc53fde
--- /dev/null
+++ b/.config/tmux/tmux.conf
@@ -0,0 +1,77 @@
+if-shell '[ "$COLORTERM" != "${COLORTERM#*truecolor}" ]' {
+ set -g default-terminal "tmux-256color"
+ set -ga terminal-overrides ',*256col*:Tc'
+ source ~/.config/tmux/tmux-gruvbox-dark.conf
+ # run 'bash ~/.config/tmux/tmux-onedark-theme.tmux'
+}
+
+if-shell '[ -z "$SSH_CONNECTION" ] && [ -n "$TERMUX_VERSION" ]' {
+ set -g status-right ""
+}
+
+# if-shell '[ -n "$TERMUX_VERSION" ]' {
+# set -g status-right ""
+# }
+
+if-shell '[ -z "$EDITOR" ]' 'EDITOR=vi'
+
+unbind C-b
+set -g prefix `
+bind ` send-prefix
+
+set-window-option -g mode-keys vi
+set -g status-keys vi
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+bind -r C-h resize-pane -L
+bind -r C-j resize-pane -D
+bind -r C-k resize-pane -U
+bind -r C-l resize-pane -R
+bind -r M-h resize-pane -L 5
+bind -r M-j resize-pane -D 5
+bind -r M-k resize-pane -U 5
+bind -r M-l resize-pane -R 5
+
+bind -T copy-mode-vi u send -X halfpage-up
+bind -T copy-mode-vi d send -X halfpage-down
+bind -T copy-mode-vi i send -X cancel
+bind -T copy-mode-vi V send -X select-line
+bind -T copy-mode-vi v send -X rectangle-off \; send -X begin-selection
+bind -T copy-mode-vi C-v send -X rectangle-on \; send -X begin-selection
+bind -T copy-mode-vi p send -X copy-pipe \; paste-buffer
+bind -T copy-mode-vi y send -X copy-pipe
+bind -T copy-mode-vi Y send -X copy-pipe 'xclip -in -selection clipboard'
+bind -T copy-mode-vi MouseDragEnd1Pane send -X begin-selection -x
+
+bind -r \" split-window -c '#{pane_current_path}'
+bind -r % split-window -c '#{pane_current_path}' -h
+bind -r c new-window -c '#{pane_current_path}'
+bind -r \; last-window
+bind -r J rotate-window -D
+bind -r K rotate-window -U
+
+bind E new-window -t9 -n tmux.conf '$EDITOR ~/.config/tmux/tmux.conf'
+bind R source ~/.config/tmux/tmux.conf \; display "sourced config"
+bind H new-window -n tmux.help 'man tmux'
+bind G new-window -t0 gotop
+
+set -g base-index 1
+set -g escape-time 20
+set -g mouse on
+set -g display-time 0
+set -g history-limit 1000000
+
+set -g lock-command vlock
+# set -g lock-after-time 300
+bind Home lock-server
+bind End lock-session
+bind Delete lock-client
+
+bind -r C-u run -b 'brightness up'
+bind -r C-d run -b 'brightness down'
+
+# if -F "#{==:#{session_windows},1}" "set status off" "set status on"
+ set-hook -g window-linked 'if -F "#{==:#{session_windows},1}" "set status off" "set status on"'
+ set-hook -g window-unlinked 'if -F "#{==:#{session_windows},1}" "set status off" "set status on"'