Files
dotconfs/tmux.conf
T
thomas.koppandClaude Opus 5 d215dfefc5 feat: rebuild master from the live desktop, and add the KDE configuration
master still carried the 2021 tree. Task 6 does a checkout over $HOME, so nine
of those files would have overwritten the current configuration rather than
updated it - i3, sway, dunst, nvim, vim and tmux, all diverged by years. The
plan had no step for this; the design warned about it and then nothing
implemented the warning.

The nine are now taken from the live machine verbatim, and the 31 files with no
counterpart there are dropped. Everything remains on archive/2021-i3-sway.
README.md and .scripts/install.sh are kept despite having no live counterpart:
the first documents the repository and the second is what ls.shron.de/dotconf
serves, so deleting it would break that link.

Verified byte-identical to the live files afterwards, which is the point - a
checkout on this machine must change nothing.

KDE has been in daily use for a while with nothing backing it up. Eighteen rc
files and the nine autostart entries are added: window rules and shortcuts,
notification behaviour, the lock screen, and the panel layout in
plasma-org.kde.plasma.desktop-appletsrc. That last one is rewritten by
plasmashell whenever anything moves, so it will produce churn - kept anyway,
since a lost panel layout is the most tedious thing here to rebuild by hand.

.config/kdeconnect/ is excluded rather than added. It holds the device
certificate and its private key, and is pairing state rather than
configuration - the only place under .config that carries a secret.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 15:53:50 +02:00

182 lines
3.4 KiB
Bash

# #################
# screen-like setup
# #################
# COLOR
# oobah
#set -g status-bg green
# zircon
#set -g status-bg black
#set -g status-fg white
# pi
#set -g status-bg yellow
# bio6
#set -g status-bg red
#set -g status-fg white
#set -g status-bg blue
# C-a is escape sequence
unbind C-b
set -g prefix ^O
bind a send-prefix
# vim ftw
# unnecessary because $EDITOR=vim
# setw -g mode-keys vi
# copy pasta #
unbind [
# C to enter copy mode
bind C copy-mode
# v or space to select
bind-key -T copy-mode-vi 'v' send -X begin-selection
# y to yank, and it goes in primary and clipboard buffers
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
# P to paste, or shift-inser as it's in bothe buffers
unbind P
bind P paste-buffer
# switch panes with Tab
unbind Tab
bind Tab select-pane -t :.+
#open man page with /
bind / command-prompt "split-window -h 'exec man %%'"
# resize pane with arrow keys
# -r: can be repeated without pressing prefix
# again (500ms after last '-r' action or prefix)
unbind Left
unbind Right
unbind Down
unbind Up
bind -r Left resize-pane -L 2
bind -r Right resize-pane -R 2
bind -r Down resize-pane -D 2
bind -r Up resize-pane -U 2
# new window ^C c
unbind ^C
bind ^C new-window
bind c new-window
# reload config without killing server
bind R source-file ~/tmux.conf \; display-message " Config reloaded..."
# detach ^D d
unbind ^D
bind ^D detach
# displays *
unbind *
bind * list-clients
# lockscreen ^X x
unbind ^X
bind ^X lock-server
unbind x
bind x lock-server
# prev ^H ^P p ^?
unbind ^H
bind ^H previous-window
unbind ^P
bind ^P previous-window
unbind p
bind p previous-window
unbind BSpace
bind BSpace previous-window
# next ^@ ^N space n
unbind ^@
bind ^@ next-window
unbind ^N
bind ^N next-window
unbind " "
bind " " next-window
unbind n
bind n next-window
# title A
unbind A
bind A command-prompt "rename-window %%"
# ^A to get to last window
unbind ^O
bind ^O last-window
# windows ^W w
unbind ^W
bind ^W list-windows
unbind w
bind w list-windows
# " windowlist -b
unbind '"'
bind '"' choose-window
# quit \
#unbind \
#bind \ confirm-before "kill-server"
# kill K k
unbind K
bind K confirm-before "kill-window"
unbind k
bind k confirm-before "kill-window"
# redisplay ^L l
unbind ^L
bind ^L refresh-client
unbind l
bind l refresh-client
# split -v |
unbind |
bind | split-window
unbind S
bind S split-window -v
#CPU MEM
#https://github.com/thewtex/tmux-mem-cpu-load
#set -g status-interval 2
#set -g status-right "#(tmux-mem-cpu-load 2) #H"
run-shell "powerline-daemon -q"
source '/usr/lib/python3.11/site-packages/powerline/bindings/tmux/powerline.conf'
# disable mouse control by default - change 'off' to 'on' to enable by default.
setw -g mouse off
# toggle mouse mode to allow mouse copy/paste
# set mouse on with prefix m
bind m \
set -g mouse on \;\
display 'Mouse: ON'
# set mouse off with prefix M
bind M \
set -g mouse off \;\
display 'Mouse: OFF'
# zoom this pane to full screen
bind + \
new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
swap-pane -s tmux-zoom.0 \;\
select-window -t tmux-zoom
# restore this pane
bind - \
last-window \;\
swap-pane -s tmux-zoom.0 \;\
kill-window -t tmux-zoom
# make tmux display things in 256 colors
set -g default-terminal "screen-256color"
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'egel/tmux-gruvbox'
set -g @tmux-gruvbox 'dark' # or 'light'
run '~/.tmux/plugins/tpm/tpm'