From a660cfb02c1c6078eb9f0010c1d43bc08bbc3fe9 Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Wed, 10 Sep 2025 13:52:57 -0700 Subject: [PATCH 1/7] Added tmux yank Signed-off-by: Jerin Joy --- .gitmodules | 3 +++ homedir_files/tmux.conf | 11 +++++++++++ homedir_files/tmux/plugins/tmux-yank | 1 + 3 files changed, 15 insertions(+) create mode 160000 homedir_files/tmux/plugins/tmux-yank diff --git a/.gitmodules b/.gitmodules index 46c231d..ba1ebf3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -15,3 +15,6 @@ [submodule "homedir_files/config/kickstart.nvim"] path = homedir_files/config/kickstart.nvim url = https://github.com/jerinjoy/kickstart.nvim.git +[submodule "homedir_files/tmux/plugins/tmux-yank"] + path = homedir_files/tmux/plugins/tmux-yank + url = https://github.com/tmux-plugins/tmux-yank.git diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 0448752..9dd13c7 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -42,6 +42,17 @@ bind p paste-buffer #bind-key -t vi-copy 'V' begin-selection #bind-key -t vi-copy 'y' copy-selection +## Changes for tmux-yank START +set -g set-clipboard on + +# Copy-mode-vi keys that copy to system clipboard +bind -T copy-mode-vi y send -X copy-selection-and-cancel +bind -T copy-mode-vi Y send -X copy-line +bind -T copy-mode-vi v send -X begin-selection + +set -g @plugin 'tmux-plugins/tmux-yank' +## Changes for tmux-yank END + # Move the panes up or down with j/k bind j resize-pane -D 10 bind k resize-pane -U 10 diff --git a/homedir_files/tmux/plugins/tmux-yank b/homedir_files/tmux/plugins/tmux-yank new file mode 160000 index 0000000..acfd36e --- /dev/null +++ b/homedir_files/tmux/plugins/tmux-yank @@ -0,0 +1 @@ +Subproject commit acfd36e4fcba99f8310a7dfb432111c242fe7392 From 088b33dba338c3ddb67f619e1a11e67864c875ed Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Wed, 10 Sep 2025 14:17:24 -0700 Subject: [PATCH 2/7] tmux: smart splits Signed-off-by: Jerin Joy --- homedir_files/tmux.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 9dd13c7..97f0ced 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -59,6 +59,10 @@ bind k resize-pane -U 10 bind l resize-pane -L 10 bind h resize-pane -R 10 +##### Smart splits: keep current working directory ##### +bind \| split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" + #set -g mouse on # List of plugins From 5424bdf497b3e9c5832c591cd38af70536e6e2a9 Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Wed, 10 Sep 2025 14:25:29 -0700 Subject: [PATCH 3/7] tmux: One-key mouse toggle with prefix-m Signed-off-by: Jerin Joy --- homedir_files/tmux.conf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 97f0ced..8c0ba51 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -63,7 +63,9 @@ bind h resize-pane -R 10 bind \| split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" -#set -g mouse on +##### One-key mouse toggle ##### +set -g mouse off +bind m set -g mouse \; display-message "mouse: #{?mouse,ON,OFF}" # List of plugins set -g @plugin 'tmux-plugins/tpm' From d9772f86efab3e6b544a02fa34ea503149acf3dd Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Wed, 10 Sep 2025 14:29:20 -0700 Subject: [PATCH 4/7] tmux: improved copy mode. Bind + Esc enters Signed-off-by: Jerin Joy --- homedir_files/tmux.conf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 8c0ba51..7eef9b5 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -49,6 +49,15 @@ set -g set-clipboard on bind -T copy-mode-vi y send -X copy-selection-and-cancel bind -T copy-mode-vi Y send -X copy-line bind -T copy-mode-vi v send -X begin-selection +bind -T copy-mode-vi V send -X select-line +bind -T copy-mode-vi C-v send -X rectangle-toggle + +# quick entry for copy-mode +bind Escape copy-mode + +# treat - and _ as part of words (nicer for code) +# (Remove - and _ from the separator list) +set -g word-separators ' @./:,;|=*()[]{}<>' set -g @plugin 'tmux-plugins/tmux-yank' ## Changes for tmux-yank END From 3cd5678d8e3ff9778e90222483bd26a2d3f1fd99 Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Wed, 10 Sep 2025 14:36:14 -0700 Subject: [PATCH 5/7] tmux: show what mode we're in Signed-off-by: Jerin Joy --- .gitmodules | 3 +++ homedir_files/tmux.conf | 1 + homedir_files/tmux/plugins/tmux-prefix-highlight | 1 + homedir_files/tmux/themes/_template.tmux | 10 ++++++++-- 4 files changed, 13 insertions(+), 2 deletions(-) create mode 160000 homedir_files/tmux/plugins/tmux-prefix-highlight diff --git a/.gitmodules b/.gitmodules index ba1ebf3..2becda0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -18,3 +18,6 @@ [submodule "homedir_files/tmux/plugins/tmux-yank"] path = homedir_files/tmux/plugins/tmux-yank url = https://github.com/tmux-plugins/tmux-yank.git +[submodule "homedir_files/tmux/plugins/tmux-prefix-highlight"] + path = homedir_files/tmux/plugins/tmux-prefix-highlight + url = https://github.com/tmux-plugins/tmux-prefix-highlight.git diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 7eef9b5..58c21c4 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -79,6 +79,7 @@ bind m set -g mouse \; display-message "mouse: #{?mouse,ON,OFF}" # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-prefix-highlight' # Themes # source-file ~/.tmux/themes/tokyo-night-storm.tmux diff --git a/homedir_files/tmux/plugins/tmux-prefix-highlight b/homedir_files/tmux/plugins/tmux-prefix-highlight new file mode 160000 index 0000000..06cbb4e --- /dev/null +++ b/homedir_files/tmux/plugins/tmux-prefix-highlight @@ -0,0 +1 @@ +Subproject commit 06cbb4ecd3a0a918ce355c70dc56d79debd455c7 diff --git a/homedir_files/tmux/themes/_template.tmux b/homedir_files/tmux/themes/_template.tmux index a3595c1..7825aae 100644 --- a/homedir_files/tmux/themes/_template.tmux +++ b/homedir_files/tmux/themes/_template.tmux @@ -9,6 +9,13 @@ set -g status-right-length 100 set -g status-interval 5 set -g window-status-separator "" +# style (uses your palette) +set -g @prefix_highlight_prefix_prompt '⌃A' +set -g @prefix_highlight_fg '#{@dark}' +set -g @prefix_highlight_bg '#{@c2}' # amber pops on your dark bar +set -g @prefix_highlight_show_copy_mode 'on' +set -g @prefix_highlight_copy_mode_attr 'fg=#{@dark},bg=#{@c1},bold' + ##### LEFT — session name pill → band ##### set -g status-left '#[fg=#{@session_bg},bg=#{@bar_bg}]#[fg=#{@dark},bg=#{@session_bg},bold] #S #[fg=#{@session_bg},bg=#{@band_bg}]' @@ -22,8 +29,7 @@ setw -g window-status-format "#[bg=#{@band_bg},fg=#{?#{==:#I,1},#{@c1},#{?#{==:# setw -g window-status-current-format '#[fg=#{@active_bg},bg=#{@band_bg}]#[fg=#{@dark},bg=#{@active_bg},bold] #I #W* #[fg=#{@active_bg},bg=#{@band_bg}]' ##### RIGHT — time pill (arrow on left) ##### -set -g @time_fmt "+%a %m/%d %H:%M" -set -g status-right '#[fg=#{@session_bg},bg=#{@bar_bg}]#[fg=#{@dark},bg=#{@session_bg},bold] %a %m/%d %H:%M #[fg=#{@session_bg},bg=#{@band_bg}]' +set -g status-right '#{prefix_highlight} #[fg=#{@session_bg},bg=#{@bar_bg}]#[fg=#{@dark},bg=#{@session_bg},bold] %a %m/%d %H:%M #[fg=#{@session_bg},bg=#{@band_bg}]' ##### Panes / messages ##### set -g pane-border-style "fg=#{@pane_border}" From 3e1b1b43f828df04a12843cb75141b05dac1f410 Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Fri, 12 Sep 2025 17:07:38 -0700 Subject: [PATCH 6/7] Adding material design tmux theme Signed-off-by: Jerin Joy --- .../tmux/themes/material-bright.tmux | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 homedir_files/tmux/themes/material-bright.tmux diff --git a/homedir_files/tmux/themes/material-bright.tmux b/homedir_files/tmux/themes/material-bright.tmux new file mode 100644 index 0000000..b48da8a --- /dev/null +++ b/homedir_files/tmux/themes/material-bright.tmux @@ -0,0 +1,28 @@ +# --- Material Design (bright on dark) --- +# Dark surfaces (Material Dark) +set -g @bar_bg "#121212" # Bar background (MD dark base) +set -g @band_bg "#1e1e1e" # Band/divider (slightly lighter than bar) +set -g @text "#e0e0e0" # Primary text on dark +set -g @muted "#b0bec5" # Blue Grey 200 (muted text) +set -g @dark "#0b0b0d" # Very dark for pill text when bg is bright + +# Accents (Material palette – colorful but readable on dark) +set -g @c1 "#2196f3" # Blue 500 +set -g @c2 "#ffc107" # Amber 500 +set -g @c3 "#26a69a" # Teal 400 +set -g @c4 "#ff7043" # Deep Orange 400 +set -g @c5 "#ab47bc" # Purple 400 + +# Pills +set -g @session_bg "#4caf50" # Green 500 (session pill) +set -g @active_bg "#ffc107" # Amber 500 (active tab) +set -g @time_bg "#3f51b5" # Indigo 500 (clock) +set -g @time_fg "#ffffff" # White on indigo for contrast + +# Borders / messages +set -g @pane_border "#424242" # Neutral border +set -g @pane_active_border "#2979ff" # Blue A400 (focused pane) +set -g @msg_fg "#ff4081" # Pink A200 (messages pop) + +# Shared layout template +source-file ~/.tmux/themes/_template.tmux From be55210f61b2837a9e5b1373a47c3dcbcfce049e Mon Sep 17 00:00:00 2001 From: Jerin Joy Date: Sun, 14 Sep 2025 22:03:07 -0700 Subject: [PATCH 7/7] Fixed tmux template Signed-off-by: Jerin Joy --- homedir_files/config/zellij/config.kdl | 4 ++++ homedir_files/tmux.conf | 5 +++-- homedir_files/tmux/themes/_template.tmux | 7 ++++++- homedir_files/tmux/themes/catppuccin-latte.tmux | 7 +++++-- homedir_files/tmux/themes/catppuccin-mocha.tmux | 5 ++++- homedir_files/tmux/themes/material-bright.tmux | 12 +++++++----- homedir_files/tmux/themes/monochrome.tmux | 12 ++++++------ homedir_files/tmux/themes/tokyo-night-storm.tmux | 6 +++++- 8 files changed, 40 insertions(+), 18 deletions(-) diff --git a/homedir_files/config/zellij/config.kdl b/homedir_files/config/zellij/config.kdl index 12a1a94..0cec3a2 100644 --- a/homedir_files/config/zellij/config.kdl +++ b/homedir_files/config/zellij/config.kdl @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 Jerin Joy +// +// SPDX-License-Identifier: Apache-2.0 + theme "tokyo-night-storm" // pane_frames false diff --git a/homedir_files/tmux.conf b/homedir_files/tmux.conf index 58c21c4..ae4573b 100644 --- a/homedir_files/tmux.conf +++ b/homedir_files/tmux.conf @@ -83,9 +83,10 @@ set -g @plugin 'tmux-plugins/tmux-prefix-highlight' # Themes # source-file ~/.tmux/themes/tokyo-night-storm.tmux -source-file ~/.tmux/themes/monochrome.tmux -# source-file ~/.tmux/themes/catppuccin-mocha.tmux +# source-file ~/.tmux/themes/monochrome.tmux +source-file ~/.tmux/themes/catppuccin-mocha.tmux # source-file ~/.tmux/themes/catppuccin-latte.tmux +# source-file ~/.tmux/themes/material-bright.tmux # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run -b '~/.tmux/plugins/tpm/tpm' diff --git a/homedir_files/tmux/themes/_template.tmux b/homedir_files/tmux/themes/_template.tmux index 7825aae..de111dc 100644 --- a/homedir_files/tmux/themes/_template.tmux +++ b/homedir_files/tmux/themes/_template.tmux @@ -1,3 +1,8 @@ + +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# ##### Shared tmux theme template (uses palette vars) ##### # Bar basics @@ -29,7 +34,7 @@ setw -g window-status-format "#[bg=#{@band_bg},fg=#{?#{==:#I,1},#{@c1},#{?#{==:# setw -g window-status-current-format '#[fg=#{@active_bg},bg=#{@band_bg}]#[fg=#{@dark},bg=#{@active_bg},bold] #I #W* #[fg=#{@active_bg},bg=#{@band_bg}]' ##### RIGHT — time pill (arrow on left) ##### -set -g status-right '#{prefix_highlight} #[fg=#{@session_bg},bg=#{@bar_bg}]#[fg=#{@dark},bg=#{@session_bg},bold] %a %m/%d %H:%M #[fg=#{@session_bg},bg=#{@band_bg}]' +set -g status-right '#{prefix_highlight} #[fg=#{@time_bg},bg=#{@bar_bg}]#[fg=#{@dark},bg=#{@time_bg},bold] %a %m/%d %H:%M #[fg=#{@time_bg},bg=#{@bar_bg}]' ##### Panes / messages ##### set -g pane-border-style "fg=#{@pane_border}" diff --git a/homedir_files/tmux/themes/catppuccin-latte.tmux b/homedir_files/tmux/themes/catppuccin-latte.tmux index 4c0ace3..e84ae3e 100644 --- a/homedir_files/tmux/themes/catppuccin-latte.tmux +++ b/homedir_files/tmux/themes/catppuccin-latte.tmux @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# # --- Catppuccin LATTE (dark background tuned) --- set -g @bar_bg "#1e1e2e" # Dark base (Mocha Base, good neutral) set -g @band_bg "#313244" # Surface0 (subtle divider) @@ -16,7 +20,6 @@ set -g @c5 "#fe640b" # Orange (bold) set -g @session_bg "#40a02b" # Green (session pill, lively) set -g @active_bg "#df8e1d" # Yellow (active tab, stands out) set -g @time_bg "#1e66f5" # Blue (time pill, crisp contrast) -set -g @time_fg "#eff1f5" # Light fg on dark blue # Borders / messages set -g @pane_border "#45475a" # Neutral gray border @@ -24,4 +27,4 @@ set -g @pane_active_border "#1e66f5" # Blue (focus) set -g @msg_fg "#df8e1d" # Yellow (messages pop) # Shared layout -source-file ~/.tmux/themes/_template.tmux \ No newline at end of file +source-file ~/.tmux/themes/_template.tmux diff --git a/homedir_files/tmux/themes/catppuccin-mocha.tmux b/homedir_files/tmux/themes/catppuccin-mocha.tmux index 753642a..2f9c3ae 100644 --- a/homedir_files/tmux/themes/catppuccin-mocha.tmux +++ b/homedir_files/tmux/themes/catppuccin-mocha.tmux @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# # --- Catppuccin Mocha tuned vars --- set -g @bar_bg "#11111b" # Mantle set -g @band_bg "#1e1e2e" # Base @@ -16,7 +20,6 @@ set -g @c5 "#fab387" # Peach set -g @session_bg "#89dceb" # Sky blue (session pill) set -g @active_bg "#facc15" # Bright yellow (active tab) set -g @time_bg "#74c7ec" # Sapphire (time pill) -set -g @time_fg "#11111b" # Dark fg for contrast # borders / messages set -g @pane_border "#45475a" # Overlay0 diff --git a/homedir_files/tmux/themes/material-bright.tmux b/homedir_files/tmux/themes/material-bright.tmux index b48da8a..6ac9e2f 100644 --- a/homedir_files/tmux/themes/material-bright.tmux +++ b/homedir_files/tmux/themes/material-bright.tmux @@ -1,5 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# # --- Material Design (bright on dark) --- -# Dark surfaces (Material Dark) set -g @bar_bg "#121212" # Bar background (MD dark base) set -g @band_bg "#1e1e1e" # Band/divider (slightly lighter than bar) set -g @text "#e0e0e0" # Primary text on dark @@ -14,10 +17,9 @@ set -g @c4 "#ff7043" # Deep Orange 400 set -g @c5 "#ab47bc" # Purple 400 # Pills -set -g @session_bg "#4caf50" # Green 500 (session pill) -set -g @active_bg "#ffc107" # Amber 500 (active tab) -set -g @time_bg "#3f51b5" # Indigo 500 (clock) -set -g @time_fg "#ffffff" # White on indigo for contrast +set -g @session_bg "#90CAF9" # Green 500 (session pill) +set -g @active_bg "#FB8C00" # Amber 500 (active tab) +set -g @time_bg "#90CAF9" # Borders / messages set -g @pane_border "#424242" # Neutral border diff --git a/homedir_files/tmux/themes/monochrome.tmux b/homedir_files/tmux/themes/monochrome.tmux index 229c52f..2126bb3 100644 --- a/homedir_files/tmux/themes/monochrome.tmux +++ b/homedir_files/tmux/themes/monochrome.tmux @@ -1,5 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# # --- Monochrome (dark, filled pills unified) --- -# Base set -g @bar_bg "#1e1e2e" # Dark base set -g @band_bg "#1e1e2e" # Match bar so it blends in set -g @text "#e6e6e6" # Soft white @@ -15,11 +18,8 @@ set -g @c5 "#fe640b" # Orange (bold) # Pills set -g @session_bg "#b3b3b3" # Mid gray session pill -set -g @battery_bg "#6e6e6e" # Dark gray battery pill -set -g @time_bg "#{@session_bg}" - -# Active tab standout set -g @active_bg "#f5f5f5" # Bright fill for active tab +set -g @time_bg "#b3b3b3" # Borders/messages set -g @pane_border "#3b3b4a" @@ -27,4 +27,4 @@ set -g @pane_active_border "#a7a7a7" set -g @msg_fg "#cccccc" # Shared layout -source-file ~/.tmux/themes/_template.tmux \ No newline at end of file +source-file ~/.tmux/themes/_template.tmux diff --git a/homedir_files/tmux/themes/tokyo-night-storm.tmux b/homedir_files/tmux/themes/tokyo-night-storm.tmux index c54b458..a6a8273 100644 --- a/homedir_files/tmux/themes/tokyo-night-storm.tmux +++ b/homedir_files/tmux/themes/tokyo-night-storm.tmux @@ -1,3 +1,8 @@ + +# SPDX-FileCopyrightText: 2023 Jerin Joy +# +# SPDX-License-Identifier: Apache-2.0 +# # --- Tokyo Night Storm palette vars --- set -g @bar_bg "#24283b" set -g @band_bg "#1f2335" @@ -16,7 +21,6 @@ set -g @c5 "#bb9af7" # pink set -g @session_bg "#9ece6a" # green left pill set -g @active_bg "#e0af68" # yellow active tab set -g @time_bg "#9ece6a" # green time pill -set -g @time_fg "#1a1b26" # borders / messages set -g @pane_border "#565f89"