diff options
| author | kj-sh604 | 2024-07-13 11:11:45 -0400 |
|---|---|---|
| committer | kj-sh604 | 2024-07-13 11:11:45 -0400 |
| commit | 96e926c73f0f9fc3e366ace00ed60d97eede6878 (patch) | |
| tree | 5152a1e95b259a03055aa4374862d10648a9cb15 /.config/screen/screenrc | |
| parent | 16f99ecfe001b965679357a1be73d404931eb7ac (diff) | |
feat: add GNU `screen` config
Diffstat (limited to '.config/screen/screenrc')
| -rw-r--r-- | .config/screen/screenrc | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/.config/screen/screenrc b/.config/screen/screenrc new file mode 100644 index 0000000..7bc1b87 --- /dev/null +++ b/.config/screen/screenrc @@ -0,0 +1,85 @@ +# the following two lines give a two-line status, with the current window highlighted +hardstatus alwayslastline +hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]' + +# huge scrollback buffer +defscrollback 5000 + +# no welcome message +startup_message off + +# 256 colors +attrcolor b ".I" +termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' +defbce on + +# mouse tracking allows to switch region focus by clicking +mousetrack on + +# default windows +screen -t Shell1 1 bash +screen -t Shell2 2 bash +screen -t Python 3 python +screen -t Media 4 bash +select 0 +bind c screen 1 # window numbering starts at 1 not 0 +bind 0 select 10 + +# get rid of silly xoff stuff +bind s split + +# layouts +layout autosave on +layout new one +select 1 +layout new two +select 1 +split +resize -v +8 +focus down +select 4 +focus up +layout new three +select 1 +split +resize -v +7 +focus down +select 3 +split -v +resize -h +10 +focus right +select 4 +focus up + +layout attach one +layout select one + +# navigating regions with Ctrl-arrows +bindkey "^[[1;5D" focus left +bindkey "^[[1;5C" focus right +bindkey "^[[1;5A" focus up +bindkey "^[[1;5B" focus down + +# switch windows with F3 (prev) and F4 (next) +bindkey "^[OR" prev +bindkey "^[OS" next + +# switch layouts with Ctrl+F3 (prev layout) and Ctrl+F4 (next) +bindkey "^[O1;5R" layout prev +bindkey "^[O1;5S" layout next + +# F2 puts Screen into resize mode. Resize regions using hjkl keys. +bindkey "^[OQ" eval "command -c rsz" # enter resize mode + +# use hjkl keys to resize regions +bind -c rsz h eval "resize -h -5" "command -c rsz" +bind -c rsz j eval "resize -v -5" "command -c rsz" +bind -c rsz k eval "resize -v +5" "command -c rsz" +bind -c rsz l eval "resize -h +5" "command -c rsz" + +# quickly switch between regions using tab and arrows +bind -c rsz \t eval "focus" "command -c rsz" # Tab +bind -c rsz -k kl eval "focus left" "command -c rsz" # Left +bind -c rsz -k kr eval "focus right" "command -c rsz" # Right +bind -c rsz -k ku eval "focus up" "command -c rsz" # Up +bind -c rsz -k kd eval "focus down" "command -c rsz" # Down |
