Integration between Tmux and ZSH

This commit is contained in:
Fabio Scotto di Santolo
2025-07-31 00:19:25 +02:00
parent 2cb2c3d689
commit 2f8ffe9e24
4 changed files with 104 additions and 3 deletions

View File

@@ -0,0 +1,69 @@
# === General settings ===
[main]
shell=/bin/zsh # Default shell to launch in the terminal
font=FiraCode Nerd Font:size=14 # Font family and size used in the terminal
initial-window-size-chars=160x45 # Initial size in character columns x rows
selection-target=clipboard # Copy selected text directly to system clipboard
term=foot # Terminal type identifier (useful for compatibility)
pad=8x8 # Adds 8-pixel padding around the content (horizontal x vertical)
# === Mouse settings ===
[mouse]
hide-when-typing=yes # Automatically hide the mouse cursor while typing
alternate-scroll-mode=no # Preserves scrollback history when applications exit (does not use alternate screen buffer)
# === Scrollback bar indicator settings ===
[scrollback]
lines=10000 # Number of scrollback lines to keep in history
indicator-format=percentage # Format of scroll indicator (e.g., "50%")
# === Key bindings ===
[key-bindings]
scrollback-up-page=Shift+Page_Up # Scroll up one page
scrollback-down-page=Shift+Page_Down # Scroll down one page
clipboard-copy=Control+Shift+c # Copy selected text to clipboard
clipboard-paste=Control+Shift+v # Paste from clipboard
show-urls-launch=Control+Shift+o # Detects and allows launching URLs found in the terminal output
# === Cursor appearance ===
[cursor]
style=beam # Beam-style (vertical bar) cursor
blink=true # Cursor should blink
beam-thickness=3 # Thickness of the beam cursor
# === Catppuccin Mocha color scheme ===
[colors]
alpha=0.9
cursor=11111b f5e0dc # Cursor color (background and foreground)
foreground=cdd6f4 # Default text color
background=1e1e2e # Main terminal background color
regular0=45475a # ANSI Black/Grey
regular1=f38ba8 # ANSI Red
regular2=a6e3a1 # ANSI Green
regular3=f9e2af # ANSI Yellow
regular4=89b4fa # ANSI Blue
regular5=f5c2e7 # ANSI Magenta
regular6=94e2d5 # ANSI Cyan
regular7=bac2de # ANSI White/Light Grey
bright0=585b70 # Bright ANSI Black/Grey
bright1=f38ba8 # Bright ANSI Red
bright2=a6e3a1 # Bright ANSI Green
bright3=f9e2af # Bright ANSI Yellow
bright4=89b4fa # Bright ANSI Blue
bright5=f5c2e7 # Bright ANSI Magenta
bright6=94e2d5 # Bright ANSI Cyan
bright7=a6adc8 # Bright ANSI White/Light Grey
16=fab387 # Extended color 16 (Orange-like)
17=f5e0dc # Extended color 17 (Pink/Cream-like)
selection-foreground=cdd6f4 # Color of selected text
selection-background=414356 # Background color of selected text
search-box-no-match=11111b f38ba8 # Colors for search box when no match is found
search-box-match=cdd6f0 313244 # Colors for search box when a match is found
jump-labels=11111b fab387 # Colors for jump labels (e.g., in URL launcher)
urls=89b4fa # Color for detected URLs

View File

@@ -1,9 +1,14 @@
# Change command shortcut
#=== KEYBINDINGS ====#
unbind C-b
set -g prefix C-x
bind C-x send-prefix
# Renumbered windows and panels
# Create new session
bind S command-prompt -p "New Session:" "new-session -A -s '%%'"
bind K confirm kill-session
set-option -g detach-on-destroy off
#=== LAYOUT ===#
set -g renumber-window on
set -g base-index 1
setw -g pane-base-index 1
@@ -15,7 +20,7 @@ set -g allow-passthrough on
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
# List of plugins
#=== PLUGINS ===#
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-open'
@@ -39,6 +44,7 @@ set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
set-option -g status-position top
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

View File

@@ -0,0 +1,23 @@
# Zathura configuration file
# See man `man zathurarc'
# Open document in fit-width mode by default
set adjust-open "best-fit"
# One page per row by default
set pages-per-row 1
#stop at page boundries
set scroll-page-aware "true"
set scroll-full-overlap 0.01
set scroll-step 100
#zoom settings
set zoom-min 10
set guioptions ""
# zathurarc-dark
set font "FiraCode Nerd Font 15"
set render-loading "false"
set scroll-step 50
set selection-clipboard clipboard

View File

@@ -126,3 +126,6 @@ source <(fzf --zsh)
source "$FZF_HOME/shell/key-bindings.zsh"
source "$FZF_HOME/shell/completion.zsh"
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
tmux attach-session -t default || tmux new-session -s default
fi