Compare commits
29 Commits
1d3c15e84b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| d0429d44a3 | |||
| 33f87bc232 | |||
| 9726936f96 | |||
| eb3fbb2047 | |||
| b64f4f3af4 | |||
| 8336aed99b | |||
| 3730973a77 | |||
| 91b3537d89 | |||
| 90bbd37e14 | |||
| eead409480 | |||
| ff836e7ea2 | |||
| bd192e3d2f | |||
| ef13f19d90 | |||
| f1ab7300e8 | |||
| e8a527e15d | |||
| 52da056884 | |||
| c462171b4f | |||
| 842859344e | |||
| dd2b6da3a8 | |||
| 55837f4a0a | |||
| 3d7c530095 | |||
| c38495c56b | |||
| d46b5bc1b2 | |||
| 7e5f42cd3e | |||
| 68784e1fc5 | |||
| e448f093cf | |||
| 816b9ae215 | |||
| e98ba9e7f4 | |||
| 532f2eb9ee |
@ -6,7 +6,9 @@ xsetwacom set "Wacom One by Wacom S Pen stylus" MapToOutput 1920x1200+2560+0
|
||||
xsetwacom set "Wacom One by Wacom S Pen stylus" Rotate half
|
||||
xset r rate 300 50
|
||||
exec herbstluftwm
|
||||
# qtile start
|
||||
# exec gnome-session
|
||||
# exec xfce4-session
|
||||
# exec awesome
|
||||
# exec bspwm
|
||||
# exec i3
|
||||
31
.config/fish/conf.d/xdg.fish
Normal file
31
.config/fish/conf.d/xdg.fish
Normal file
@ -0,0 +1,31 @@
|
||||
# cleanup
|
||||
set -Ux ANDROID_HOME "$XDG_DATA_HOME"/android
|
||||
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
|
||||
set -Ux CUDA_CACHE_PATH "$XDG_CACHE_HOME"/nv
|
||||
set -Ux GDBHISTFILE "$XDG_DATA_HOME"/gdb/history
|
||||
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
|
||||
set -Ux GOPATH "$XDG_DATA_HOME"/go
|
||||
set -Ux ICEAUTHORITY "$XDG_CACHE_HOME"/ICEauthority
|
||||
set -Ux IPYTHONDIR "$XDG_CONFIG_HOME"/ipython
|
||||
set -Ux LESSHISTFILE -
|
||||
set -Ux MYPY_CACHE_DIR "$XDG_CACHE_HOME"/mypy
|
||||
set -Ux NPM_CONFIG_USERCONFIG "$XDG_CONFIG_HOME"/npm/npmrc
|
||||
set -Ux PASSWORD_STORE_DIR "$XDG_DATA_HOME"/pass
|
||||
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
|
||||
set -Ux SQLITE_HISTORY "$XDG_CACHE_HOME"/sqlite_history
|
||||
set -Ux UNCRUSTIFY_CONFIG "$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
|
||||
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
|
||||
set -Ux _JAVA_OPTIONS -Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
||||
set -Ux ERRFILE "$XDG_CACHE_HOME/X11/xsession-errors"
|
||||
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
|
||||
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
|
||||
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
|
||||
set -Ux XINITRC "$XDG_CONFIG_HOME"/X11/xinitrc
|
||||
set -Ux ANDROID_USER_HOME "$XDG_DATA_HOME"/android
|
||||
set -Ux DOCKER_CONFIG "$XDG_CONFIG_HOME"/docker
|
||||
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
|
||||
set -Ux GTK2_RC_FILES "$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
set -Ux MINIKUBE_HOME "$XDG_DATA_HOME"/minikube
|
||||
set -Ux _JAVA_OPTIONS '-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java'
|
||||
set -Ux PYENV_ROOT "$XDG_DATA_HOME"/pyenv
|
||||
set -Ux PYTHONSTARTUP "$XDG_CONFIG_HOME"/python/pythonrc
|
||||
@ -16,30 +16,11 @@ set -Ux XDG_CONFIG_HOME "$HOME/.config"
|
||||
set -Ux XDG_DATA_HOME "$HOME/.local/share"
|
||||
set -Ux XDG_CACHE_HOME "$HOME/.cache"
|
||||
|
||||
# cleanup
|
||||
set -Ux ANDROID_HOME "$XDG_DATA_HOME"/android
|
||||
set -Ux CARGO_HOME "$XDG_DATA_HOME"/cargo
|
||||
set -Ux CUDA_CACHE_PATH "$XDG_CACHE_HOME"/nv
|
||||
set -Ux GDBHISTFILE "$XDG_DATA_HOME"/gdb/history
|
||||
set -Ux GNUPGHOME "$XDG_DATA_HOME"/gnupg
|
||||
set -Ux GOPATH "$XDG_DATA_HOME"/go
|
||||
set -Ux ICEAUTHORITY "$XDG_CACHE_HOME"/ICEauthority
|
||||
set -Ux IPYTHONDIR "$XDG_CONFIG_HOME"/ipython
|
||||
set -Ux LESSHISTFILE -
|
||||
set -Ux MYPY_CACHE_DIR "$XDG_CACHE_HOME"/mypy
|
||||
set -Ux NPM_CONFIG_USERCONFIG "$XDG_CONFIG_HOME"/npm/npmrc
|
||||
set -Ux PASSWORD_STORE_DIR "$XDG_DATA_HOME"/pass
|
||||
set -Ux RUSTUP_HOME "$XDG_DATA_HOME"/rustup
|
||||
set -Ux SQLITE_HISTORY "$XDG_CACHE_HOME"/sqlite_history
|
||||
set -Ux UNCRUSTIFY_CONFIG "$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
|
||||
set -Ux XAUTHORITY "$XDG_RUNTIME_DIR"/Xauthority
|
||||
set -Ux _JAVA_OPTIONS -Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
||||
|
||||
# wine prefix
|
||||
set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/"
|
||||
# set -Ux WINEPREFIX "$XDG_DATA_HOME/wine/"
|
||||
|
||||
# kvantum
|
||||
set -Ux QT_STYLE_OVERRIDE kvantum
|
||||
set -Ux QT_QPA_PLATFORMTHEME qt5ct
|
||||
|
||||
# use nvim for stuff
|
||||
set -Ux EDITOR nvim
|
||||
@ -48,4 +29,7 @@ set -Ux MANPAGER nvimpager
|
||||
# zoxide
|
||||
set -Ux _ZO_MAXAGE 100000
|
||||
|
||||
# kubectl
|
||||
set -Ux KUBECONFIG ~/.kube/config
|
||||
|
||||
starship init fish | source
|
||||
|
||||
65
.config/fish/fish_variables
Normal file
65
.config/fish/fish_variables
Normal file
@ -0,0 +1,65 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR --export ANDROID_HOME:/home/trt/\x2elocal/share/android
|
||||
SETUVAR --export ANDROID_USER_HOME:/home/trt/\x2elocal/share/android
|
||||
SETUVAR --export CARGO_HOME:/home/trt/\x2elocal/share/cargo
|
||||
SETUVAR --export --path CUDA_CACHE_PATH:/home/trt/\x2ecache/nv
|
||||
SETUVAR --export DOCKER_CONFIG:/home/trt/\x2econfig/docker
|
||||
SETUVAR --export EDITOR:nvim
|
||||
SETUVAR --export ERRFILE:/home/trt/\x2ecache/X11/xsession\x2derrors
|
||||
SETUVAR --export GDBHISTFILE:/home/trt/\x2elocal/share/gdb/history
|
||||
SETUVAR --export GNUPGHOME:/home/trt/\x2elocal/share/gnupg
|
||||
SETUVAR --export --path GOPATH:/home/trt/\x2elocal/share/go
|
||||
SETUVAR --export GTK2_RC_FILES:/home/trt/\x2econfig/gtk\x2d2\x2e0/gtkrc
|
||||
SETUVAR --export ICEAUTHORITY:/home/trt/\x2ecache/ICEauthority
|
||||
SETUVAR --export IPYTHONDIR:/home/trt/\x2econfig/ipython
|
||||
SETUVAR --export KUBECONFIG:/home/trt/\x2ekube/config
|
||||
SETUVAR --export LESSHISTFILE:\x2d
|
||||
SETUVAR --export MANPAGER:nvimpager
|
||||
SETUVAR --export MINIKUBE_HOME:/home/trt/\x2elocal/share/minikube
|
||||
SETUVAR --export MYPY_CACHE_DIR:/home/trt/\x2ecache/mypy
|
||||
SETUVAR --export NPM_CONFIG_USERCONFIG:/home/trt/\x2econfig/npm/npmrc
|
||||
SETUVAR --export PASSWORD_STORE_DIR:/home/trt/\x2elocal/share/pass
|
||||
SETUVAR --export PYENV_ROOT:/home/trt/\x2elocal/share/pyenv
|
||||
SETUVAR --export PYTHONSTARTUP:/home/trt/\x2econfig/python/pythonrc
|
||||
SETUVAR --export QT_QPA_PLATFORMTHEME:qt5ct
|
||||
SETUVAR --export RUSTUP_HOME:/home/trt/\x2elocal/share/rustup
|
||||
SETUVAR --export SQLITE_HISTORY:/home/trt/\x2ecache/sqlite_history
|
||||
SETUVAR --export UNCRUSTIFY_CONFIG:/home/trt/\x2econfig/uncrustify/uncrustify\x2ecfg
|
||||
SETUVAR --export XAUTHORITY:/run/user/1000/Xauthority
|
||||
SETUVAR --export XDG_CACHE_HOME:/home/trt/\x2ecache
|
||||
SETUVAR --export XDG_CONFIG_HOME:/home/trt/\x2econfig
|
||||
SETUVAR --export XDG_DATA_HOME:/home/trt/\x2elocal/share
|
||||
SETUVAR --export XINITRC:/home/trt/\x2econfig/X11/xinitrc
|
||||
SETUVAR --export _JAVA_OPTIONS:\x2dDjava\x2eutil\x2eprefs\x2euserRoot\x3d\x22\x24XDG_CONFIG_HOME\x22/java
|
||||
SETUVAR --export _ZO_MAXAGE:100000
|
||||
SETUVAR __fish_initialized:3800
|
||||
SETUVAR fish_color_autosuggestion:brblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:normal
|
||||
SETUVAR fish_color_comment:red
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:green
|
||||
SETUVAR fish_color_error:brred
|
||||
SETUVAR fish_color_escape:brcyan
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:brcyan
|
||||
SETUVAR fish_color_param:cyan
|
||||
SETUVAR fish_color_quote:yellow
|
||||
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_key_bindings:fish_vi_key_bindings
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
SETUVAR fish_user_paths:/home/trt/\x2econfig/scripts/util\x1e/home/trt/\x2econfig/scripts/applications\x1e/home/trt/\x2elocal/share/go/bin\x1e/home/trt/\x2elocal/bin
|
||||
@ -1,4 +0,0 @@
|
||||
function pm --wraps=pulsemixer --description 'alias pm=pulsemixer'
|
||||
pulsemixer $argv
|
||||
|
||||
end
|
||||
@ -1,4 +0,0 @@
|
||||
function py --wraps=python --description 'alias py=python'
|
||||
python $argv
|
||||
|
||||
end
|
||||
3
.config/fish/functions/xdg.fish
Normal file
3
.config/fish/functions/xdg.fish
Normal file
@ -0,0 +1,3 @@
|
||||
function adb
|
||||
env HOME="$XDG_DATA_HOME/android" adb $argv
|
||||
end
|
||||
@ -1,18 +1,17 @@
|
||||
[Settings]
|
||||
gtk-button-images=0
|
||||
gtk-theme-name=Catppuccin-Dark-Macchiato
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=Sans 9
|
||||
gtk-cursor-theme-name=Adwaita
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-menu-images=0
|
||||
gtk-theme-name=Everforest-Dark
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintmedium
|
||||
gtk-font-name=Cantarell 11
|
||||
gtk-xft-rgba=none
|
||||
gtk-modules=canberra-gtk-module
|
||||
gtk-application-prefer-dark-theme=0
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-application-prefer-dark-theme=1
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
pidof mpd || mpd &
|
||||
pidof flameshot || flameshot &
|
||||
pidof lxpolkit || lxpolkit &
|
||||
pidof picom || picom &
|
||||
# pidof mpd || mpd &
|
||||
# pidof flameshot || flameshot &
|
||||
# pidof lxpolkit || lxpolkit &
|
||||
# pidof picom || picom &
|
||||
wal -R
|
||||
~/.fehbg
|
||||
systemctl --user enable --now awatcher
|
||||
|
||||
@ -6,7 +6,7 @@ set $calculator "rofi -show calc"
|
||||
set $calendar "$terminal -e nvim +Agenda"
|
||||
set $feed_reader "$terminal -e newsboat"
|
||||
set $file_manager thunar
|
||||
set $music_player "kitty -e ncmpcpp"
|
||||
set $music_player "kitty -e rmpc"
|
||||
set $screen_locker "i3lock -c 000000"
|
||||
|
||||
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
alsa-plugins
|
||||
ams-lv2
|
||||
ardour
|
||||
aubio
|
||||
bshapr
|
||||
calf
|
||||
carla
|
||||
distrho-ports
|
||||
dragonfly-reverb
|
||||
ebumeter
|
||||
eq10q
|
||||
fluidsynth
|
||||
geonkick
|
||||
guitarix
|
||||
jack_mixer
|
||||
lsp-plugins
|
||||
ninjas2
|
||||
noise-repellent
|
||||
qjackctl
|
||||
samplv1
|
||||
sfizz
|
||||
surge
|
||||
tap-plugins
|
||||
vamp-plugin-sdk
|
||||
wolf-shaper
|
||||
x42-plugins
|
||||
zam-plugins
|
||||
zyn-fusion
|
||||
@ -1,7 +0,0 @@
|
||||
some notes for when reinstalling this setup:
|
||||
|
||||
# Xorg client limit
|
||||
Xorg has a weird limit on the amount of clients, and every yabridge plugin is a new X client. The limit is 256, which can be easily be achieved. To change the limit to the maximum:
|
||||
```bash
|
||||
printf 'Section "ServerFlags"\n\tOption "MaxClients" "2048"\nEndSection\n' > /etc/X11/xorg.conf.d/99-maxclients.conf
|
||||
```
|
||||
@ -1,49 +0,0 @@
|
||||
colorpicker
|
||||
dunst
|
||||
dzen2
|
||||
engrampa
|
||||
feh
|
||||
firefox
|
||||
flameshot
|
||||
fzf
|
||||
gvfs
|
||||
herbstluftwm
|
||||
htop
|
||||
i3lock-color
|
||||
kitty
|
||||
libqalculate
|
||||
lxappearance-gtk3
|
||||
lxqt-policykit
|
||||
lxsession-gtk3
|
||||
mpd
|
||||
ncmpcpp
|
||||
neovim-qt
|
||||
nerd-fonts-mononoki
|
||||
newsboat
|
||||
nvimpager-git
|
||||
openssh
|
||||
pamixer
|
||||
papirus-icon-theme
|
||||
picom-git
|
||||
pipewire
|
||||
pipewire-alsa
|
||||
pipewire-jack
|
||||
python-pywal
|
||||
qpwgraph
|
||||
qtile
|
||||
ripgrep
|
||||
rofi
|
||||
rofi-calc
|
||||
themix-theme-oomox-git
|
||||
thunar
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
ttf-dejavu
|
||||
ttf-mononoki
|
||||
vimiv
|
||||
wireplumber
|
||||
xclip
|
||||
xorg
|
||||
xorg-server
|
||||
xorg-xinit
|
||||
xournalpp
|
||||
@ -1,54 +1,59 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "81820cac7c85e51e4cf179f8a66d13dbf7b032d9" },
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"bufresize.nvim": { "branch": "master", "commit": "3b19527ab936d6910484dcc20fb59bdb12322d8b" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"catppuccin": { "branch": "main", "commit": "234fc048de931a0e42ebcad675bf6559d75e23df" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" },
|
||||
"gitlab.nvim": { "branch": "main", "commit": "dc70c978103e9960ab39feceb67d2f724b12d0c3" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "39b5b6f48bde0595ce68007ffce408c5d7ac1f79" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "d901d2166fef0304e360316e7a04316f11ab62d0" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
||||
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" },
|
||||
"maximize.nvim": { "branch": "master", "commit": "02588e7b20df1a0692aa96f83cc4670199f74d71" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "b9d7f853da1197b83b8edb4cc4952f7ad3a42e41" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitlab.nvim": { "branch": "main", "commit": "e29909cd1064a7b53c3150bff49449a548dadf8d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"maximize.nvim": { "branch": "master", "commit": "d688b66344b03ee6e5a32a0a40af85d174490af8" },
|
||||
"mbc-colorscheme.nvim": { "branch": "main", "commit": "02c404d2a58acf527a0de600678c612335cc8416" },
|
||||
"mini.bracketed": { "branch": "main", "commit": "abbaf7711dffabf7db180c6d61deb4a321b2a2cd" },
|
||||
"neogen": { "branch": "main", "commit": "6de0add4805165317ab7d3d36b5cef48b1b865f3" },
|
||||
"neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" },
|
||||
"neotest": { "branch": "master", "commit": "26ed90509c377d10dbdebd25b7094a886323b32b" },
|
||||
"neotest-python": { "branch": "master", "commit": "2e83d2bc00acbcc1fd529dbf0a0e677cabfe6b50" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
|
||||
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" },
|
||||
"mini.bracketed": { "branch": "main", "commit": "e50e3abcf6a3a5d234f58e4a247dfb3035f30a65" },
|
||||
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
|
||||
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
|
||||
"neogit": { "branch": "master", "commit": "d2a2ae4415872fbddb2441920ab109ee52fd4916" },
|
||||
"neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" },
|
||||
"neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||
"nvim-bqf": { "branch": "main", "commit": "a77b17e39b1b707b6feee86a36c83703c1534c08" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "3999f0744e80d2dba5775189fc7c7a5e9846053e" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" },
|
||||
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" },
|
||||
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "a8c082b4f5b3b70bde2ffb08cc112dfd7e515fb3" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "f0bc495b4a3852a83b48636e9f564586f5e2d29e" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" },
|
||||
"nvim-dap": { "branch": "master", "commit": "e97dc47e134ffb33da008658fecfae8f8547c528" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" },
|
||||
"nvim-lint": { "branch": "master", "commit": "8b349e822a36e9480aed96c6dd2f757f80524a35" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
|
||||
"nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "6784b54587e6d8a6b9ea199318512170ffb9e418" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"term-edit.nvim": { "branch": "master", "commit": "32e802c6ea08304db6cbbf44e6ca9805b8c2ad51" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "cd55bf6aab3f88c259fa29ea86bbdcb1a325687d" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "e32c194558ebeb433ccfd580a34c66770bc102bd" },
|
||||
"vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" },
|
||||
"term-edit.nvim": { "branch": "master", "commit": "29c4584c2cef44a3fdcc55860957d081b892a569" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"wal-colors.nvim": { "branch": "main", "commit": "f0f052ae2dd5054200b98ff308c864579c2983ea" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "ca2d995c1f7d1ba4ce54a9936a6cdd8cfa594f2d" }
|
||||
}
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
|
||||
@ -40,6 +40,7 @@ vim.keymap.set("n", "<leader>C", ":ToggleTerm<CR>", { desc = "Toggle Terminal" }
|
||||
vim.keymap.set("n", "<leader>ac", "<cmd>Telescope find_files cwd=~/.config/nvim<CR>", { desc = "Find Config Files" })
|
||||
vim.keymap.set("n", "<leader>an", "<cmd>NoNeckPain<CR>", { desc = "No Neck Pain" })
|
||||
vim.keymap.set("n", "<leader>ag", "<cmd>Neogit<CR>", { desc = "Neogit" })
|
||||
vim.keymap.set("n", "<leader>af", "<cmd>NvimTreeFindFile<CR>", { desc = "Find File In File Manager" })
|
||||
vim.keymap.set("n", "<leader>am", function()
|
||||
require("maximize").toggle()
|
||||
end, { desc = "Maximize" })
|
||||
@ -62,7 +63,8 @@ vim.keymap.set("n", "<leader>gr", "<cmd>Telescope lsp_references<CR>", { desc =
|
||||
vim.keymap.set("n", "<leader>gq", "<cmd>Telescope diagnostics<CR>", { desc = "Show Diagnostics" })
|
||||
vim.keymap.set("n", "<leader>gs", "<cmd>LspRestart<CR>", { desc = "Restart LSP" })
|
||||
vim.keymap.set("n", "<leader>gf", "<cmd>Format<CR>", { desc = "Format" })
|
||||
vim.keymap.set("n", "<leader>ge", "<cmd>Trouble diagnostics<CR>", { desc = "Toggle Trouble" })
|
||||
vim.keymap.set("n", "<leader>ge", function() vim.diagnostic.open_float() end , { desc = "Show Diagnostic" })
|
||||
vim.keymap.set("n", "<leader>gE", "<cmd>Trouble diagnostics<CR>", { desc = "Toggle Trouble" })
|
||||
vim.keymap.set("n", "<leader>ga", function()
|
||||
vim.lsp.buf.code_action()
|
||||
end, { desc = "Code Actions" })
|
||||
|
||||
@ -30,6 +30,15 @@ vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold", "CursorHo
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
require("vim.highlight").on_yank({ "IncSearch", 1000 })
|
||||
vim.highlight.on_yank({ "IncSearch", 1000 })
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "gleam",
|
||||
callback = function()
|
||||
vim.bo.shiftwidth = 2
|
||||
vim.bo.tabstop = 2
|
||||
vim.bo.expandtab = true
|
||||
end,
|
||||
})
|
||||
|
||||
8
.config/nvim/lua/plugins/catpuccin.lua
Normal file
8
.config/nvim/lua/plugins/catpuccin.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
config = function()
|
||||
pcall(vim.cmd, "colorscheme catppuccin-mocha")
|
||||
end,
|
||||
priority = 1000,
|
||||
}
|
||||
@ -5,10 +5,10 @@ return {
|
||||
end,
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-vsnip",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-nvim-lsp-signature-help",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"onsails/lspkind.nvim",
|
||||
},
|
||||
opts = function()
|
||||
@ -16,12 +16,13 @@ return {
|
||||
|
||||
local cmp = require("cmp")
|
||||
local neogen = require("neogen")
|
||||
local luasnip = require("luasnip")
|
||||
local lspkind = require("lspkind")
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
@ -35,34 +36,36 @@ return {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
}),
|
||||
["<tab>"] = cmp.mapping(function(fallback)
|
||||
if neogen.jumpable() then
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.locally_jumpable(1) then
|
||||
luasnip.jump(1)
|
||||
elseif neogen.jumpable() then
|
||||
neogen.jump_next()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<S-tab>"] = cmp.mapping(function(fallback)
|
||||
if neogen.jumpable(true) then
|
||||
end, { "i", "s" }),
|
||||
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
elseif neogen.jumpable() then
|
||||
neogen.jump_prev()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
end, { "i", "s" }),
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "nvim_lsp_signature_help" },
|
||||
{ name = "path" },
|
||||
{ name = "buffer", keyword_length = 5 },
|
||||
{ name = "vsnip" },
|
||||
{ name = "orgmode" },
|
||||
{ name = "luasnip" },
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
|
||||
@ -11,7 +11,7 @@ return {
|
||||
},
|
||||
go = {
|
||||
require("formatter.filetypes.go").gofumpt,
|
||||
require("formatter.filetypes.go").goimports_reviser,
|
||||
-- require("formatter.filetypes.go").goimports_reviser,
|
||||
},
|
||||
json = {
|
||||
require("formatter.filetypes.json").jq,
|
||||
@ -40,6 +40,21 @@ return {
|
||||
yaml = {
|
||||
require("formatter.filetypes.yaml").yamlfmt,
|
||||
},
|
||||
elixir = {
|
||||
require("formatter.filetypes.elixir").mixformat,
|
||||
},
|
||||
gleam = {
|
||||
function()
|
||||
return {
|
||||
exe = "gleam",
|
||||
args = {
|
||||
"format",
|
||||
"--stdin",
|
||||
},
|
||||
stdin = true,
|
||||
}
|
||||
end,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
||||
7
.config/nvim/lua/plugins/gruvbox.lua
Normal file
7
.config/nvim/lua/plugins/gruvbox.lua
Normal file
@ -0,0 +1,7 @@
|
||||
return {
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
-- config = function()
|
||||
-- pcall(vim.cmd, "colorscheme gruvbox")
|
||||
-- end,
|
||||
priority = 1000,
|
||||
}
|
||||
7
.config/nvim/lua/plugins/image.lua
Normal file
7
.config/nvim/lua/plugins/image.lua
Normal file
@ -0,0 +1,7 @@
|
||||
return {
|
||||
"3rd/image.nvim",
|
||||
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
|
||||
opts = {
|
||||
processor = "magick_cli",
|
||||
}
|
||||
}
|
||||
@ -3,31 +3,33 @@ return {
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
local lsp = require("lspconfig")
|
||||
lsp.pyright.setup({})
|
||||
lsp.gopls.setup({})
|
||||
lsp.rust_analyzer.setup({})
|
||||
lsp.clangd.setup({})
|
||||
lsp.ts_ls.setup({})
|
||||
lsp.lua_ls.setup({
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
},
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
lsp.helm_ls.setup({
|
||||
filetypes= { "helm", "yaml" },
|
||||
-- lsp.pylsp.setup({})
|
||||
vim.lsp.enable("pyright")
|
||||
vim.lsp.enable("gopls")
|
||||
vim.lsp.enable("rust_analyzer")
|
||||
vim.lsp.enable("clangd")
|
||||
vim.lsp.enable("ts_ls")
|
||||
vim.lsp.enable("gleam")
|
||||
-- lsp.lua_ls.setup({
|
||||
-- settings = {
|
||||
-- Lua = {
|
||||
-- runtime = {
|
||||
-- version = "LuaJIT",
|
||||
-- },
|
||||
-- diagnostics = {
|
||||
-- globals = { "vim" },
|
||||
-- },
|
||||
-- workspace = {
|
||||
-- library = vim.api.nvim_get_runtime_file("", true),
|
||||
-- },
|
||||
-- telemetry = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
vim.lsp.config("helm_ls", {
|
||||
filetypes = { "helm", "yaml" },
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
14
.config/nvim/lua/plugins/luasnip.lua
Normal file
14
.config/nvim/lua/plugins/luasnip.lua
Normal file
@ -0,0 +1,14 @@
|
||||
return {
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "v2.*",
|
||||
-- install jsregexp (optional!).
|
||||
build = "make install_jsregexp",
|
||||
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
},
|
||||
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end,
|
||||
}
|
||||
@ -3,8 +3,8 @@ return {
|
||||
dependencies = {
|
||||
{ "mbrea-c/wal-colors.nvim" },
|
||||
},
|
||||
config = function()
|
||||
pcall(vim.cmd, "colorscheme mbc")
|
||||
end,
|
||||
-- config = function()
|
||||
-- pcall(vim.cmd, "colorscheme mbc")
|
||||
-- end,
|
||||
priority = 1000,
|
||||
}
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
return {
|
||||
"hrsh7th/vim-vsnip",
|
||||
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
},
|
||||
config = function()
|
||||
-- jumpable mappings
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
|
||||
smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
|
||||
imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
|
||||
smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
|
||||
]],
|
||||
false
|
||||
)
|
||||
end,
|
||||
}
|
||||
1
.config/nvim/spell/en.utf-8.add
Normal file
1
.config/nvim/spell/en.utf-8.add
Normal file
@ -0,0 +1 @@
|
||||
HexDocs
|
||||
BIN
.config/nvim/spell/en.utf-8.add.spl
Normal file
BIN
.config/nvim/spell/en.utf-8.add.spl
Normal file
Binary file not shown.
@ -28,11 +28,11 @@ module-margin = 1
|
||||
separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
|
||||
font-0 = mononoki-12;1
|
||||
font-0 = MononokiNerdFontMono-Regular-12;1
|
||||
|
||||
modules-left = ewmh
|
||||
modules-center = date
|
||||
modules-right = mpd filesystem pulseaudio xkeyboard memory cpu wlan eth
|
||||
modules-right = mpd filesystem pipewire_buffer_size pulseaudio xkeyboard memory cpu
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
@ -43,10 +43,16 @@ enable-ipc = true
|
||||
|
||||
; wm-restack = generic
|
||||
; wm-restack = bspwm
|
||||
; wm-restack = i3
|
||||
wm-restack = i3
|
||||
|
||||
; override-redirect = true
|
||||
|
||||
[module/pipewire_buffer_size]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/pipewire_buffer_size.sh
|
||||
interval = 10
|
||||
click-right = ~/.config/polybar/pipewire_buffer_size.sh click
|
||||
|
||||
[module/info-hlwm-workspaces]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/info-hlwm-workspaces/info-hlwm-workspaces.sh
|
||||
|
||||
18
.config/polybar/pipewire_buffer_size.sh
Executable file
18
.config/polybar/pipewire_buffer_size.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096")
|
||||
|
||||
current_buffer_size=$(pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+")
|
||||
|
||||
if [[ $1 == "click" ]]; then
|
||||
new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | xmenu)
|
||||
|
||||
if [[ -n $new_buffer_size ]]; then
|
||||
pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size"
|
||||
current_buffer_size=$new_buffer_size
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$current_buffer_size"
|
||||
10
.config/sway/autostart.sh
Executable file
10
.config/sway/autostart.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# pidof mpd || mpd &
|
||||
# pidof flameshot || flameshot &
|
||||
# pidof lxpolkit || lxpolkit &
|
||||
# pidof picom || picom &
|
||||
# wal -R
|
||||
# pkill swaybg; swaybg -i ~/docs/bg/catpuccin/cat-bg-black3-fg-rosewater.png -m fill
|
||||
pkill swaybg; swaybg -i ~/docs/bg/catpuccin/cat-bg-black3-fg-rosewater.png -m fill
|
||||
systemctl --user enable --now awatcher
|
||||
180
.config/sway/config
Normal file
180
.config/sway/config
Normal file
@ -0,0 +1,180 @@
|
||||
include "$HOME/.cache/wal/colors-sway"
|
||||
include ~/.config/sway/outputs
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
set $terminal kitty
|
||||
set $browser firefox
|
||||
set $calculator "rofi -show calc"
|
||||
set $calendar "$terminal -e nvim +Agenda"
|
||||
set $feed_reader "$terminal -e newsboat"
|
||||
set $file_manager nemo
|
||||
set $music_player "kitty -e rmpc"
|
||||
set $screen_locker "swaylock -c 000000"
|
||||
|
||||
font pango:mononoki 12
|
||||
|
||||
# Start XDG autostart .desktop files using dex. See also
|
||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||
# tiling_drag modifier titlebar
|
||||
|
||||
# basics
|
||||
bindsym $mod+w kill
|
||||
bindsym $mod+r reload
|
||||
|
||||
# focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
# shift
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# frame splitting
|
||||
bindsym $mod+o split h
|
||||
bindsym $mod+u split v
|
||||
|
||||
# resize
|
||||
bindsym $mod+Control+h resize grow left 2 px or 2 ppt
|
||||
bindsym $mod+Control+j resize grow down 2 px or 2 ppt
|
||||
bindsym $mod+Control+k resize grow up 2 px or 2 ppt
|
||||
bindsym $mod+Control+l resize grow right 2 px or 2 ppt
|
||||
|
||||
# cycle layouts
|
||||
bindsym $mod+Control+e layout stacking
|
||||
bindsym $mod+Control+r layout tabbed
|
||||
bindsym $mod+Control+t layout toggle split
|
||||
|
||||
# window attributes
|
||||
bindsym $mod+Control+w fullscreen toggle
|
||||
bindsym $mod+Control+q floating toggle
|
||||
|
||||
#
|
||||
# launchers
|
||||
#
|
||||
|
||||
bindsym $mod+Return exec $terminal
|
||||
bindsym $mod+space exec --no-startup-id "rofi -show drun"
|
||||
|
||||
bindsym $mod+grave exec grim -g "$(slurp)" - | swappy -f -
|
||||
bindsym $mod+1 exec $file_manager
|
||||
bindsym $mod+2 exec $browser
|
||||
bindsym $mod+3 exec $calculator
|
||||
bindsym $mod+4 exec $music_player
|
||||
bindsym $mod+5 exec $calendar
|
||||
bindsym $mod+6 exec $virt-manager
|
||||
bindsym $mod+0 exec $screen_locker
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
# bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
# bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "a"
|
||||
set $ws2 "s"
|
||||
set $ws3 "d"
|
||||
set $ws4 "f"
|
||||
set $ws5 "g"
|
||||
set $ws6 "z"
|
||||
set $ws7 "x"
|
||||
set $ws8 "c"
|
||||
set $ws9 "v"
|
||||
set $ws10 "b"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+a workspace $ws1
|
||||
bindsym $mod+s workspace $ws2
|
||||
bindsym $mod+d workspace $ws3
|
||||
bindsym $mod+f workspace $ws4
|
||||
bindsym $mod+g workspace $ws5
|
||||
bindsym $mod+z workspace $ws6
|
||||
bindsym $mod+x workspace $ws7
|
||||
bindsym $mod+c workspace $ws8
|
||||
bindsym $mod+v workspace $ws9
|
||||
bindsym $mod+b workspace $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+a move container to workspace $ws1
|
||||
bindsym $mod+Shift+s move container to workspace $ws2
|
||||
bindsym $mod+Shift+d move container to workspace $ws3
|
||||
bindsym $mod+Shift+f move container to workspace $ws4
|
||||
bindsym $mod+Shift+g move container to workspace $ws5
|
||||
bindsym $mod+Shift+z move container to workspace $ws6
|
||||
bindsym $mod+Shift+x move container to workspace $ws7
|
||||
bindsym $mod+Shift+c move container to workspace $ws8
|
||||
bindsym $mod+Shift+v move container to workspace $ws9
|
||||
bindsym $mod+Shift+b move container to workspace $ws10
|
||||
|
||||
bindsym $mod+p move workspace to output right
|
||||
|
||||
#
|
||||
# theme
|
||||
#
|
||||
|
||||
gaps inner 12
|
||||
|
||||
default_border pixel 2
|
||||
|
||||
# set_from_resource $color0 sway.color0 #000000
|
||||
# set_from_resource $color1 sway.color1 #000000
|
||||
# set_from_resource $color8 sway.color8 #000000
|
||||
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused $color8 $color0 $color6 $color0 $color8
|
||||
client.focused_inactive $color8 $color0 $color6 $color0 $color0
|
||||
client.unfocused $color0 $color0 $color6 $color0 $color0
|
||||
client.urgent $color1 $color0 $color6 $color0 $color0
|
||||
client.placeholder $color1 $color0 $color6 $color0 $color0
|
||||
|
||||
client.background $color0
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
# bar {
|
||||
# status_command i3status
|
||||
# }
|
||||
|
||||
exec_always --no-startup-id $HOME/.config/sway/autostart.sh
|
||||
exec_always --no-startup-id $HOME/.config/sway/panel.sh
|
||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
|
||||
input "type:keyboard" {
|
||||
repeat_rate 45
|
||||
repeat_delay 300
|
||||
xkb_layout "eu,il"
|
||||
xkb_options "grp:alt_shift_toggle"
|
||||
}
|
||||
|
||||
for_window [class="REAPER" title="^(?!.*REAPER).*$"] floating enable
|
||||
for_window [class="REAPER" title=".*REAPER - .*" instance="REAPER"] floating disable
|
||||
20
.config/sway/outputs
Normal file
20
.config/sway/outputs
Normal file
@ -0,0 +1,20 @@
|
||||
# Generated by nwg-displays on 2025-01-25 at 11:05:15. Do not edit manually.
|
||||
|
||||
output "HDMI-A-1" {
|
||||
mode 2560x1080@74.991Hz
|
||||
pos 1920 0
|
||||
transform normal
|
||||
scale 1.0
|
||||
scale_filter nearest
|
||||
adaptive_sync off
|
||||
dpms on
|
||||
}
|
||||
output "DP-1" {
|
||||
mode 1920x1080@60.0Hz
|
||||
pos 0 0
|
||||
transform normal
|
||||
scale 1.0
|
||||
scale_filter nearest
|
||||
adaptive_sync off
|
||||
dpms on
|
||||
}
|
||||
6
.config/sway/panel.sh
Executable file
6
.config/sway/panel.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
pkill waybar
|
||||
waybar
|
||||
# polybar-msg cmd quit
|
||||
# polybar main 2>&1 & disown
|
||||
0
.config/sway/workspaces
Normal file
0
.config/sway/workspaces
Normal file
@ -49,6 +49,9 @@ super + {a,s,d,f,g,z,x,c,v,b}
|
||||
bspc desktop -f "$d.local" || bspc desktop -s "$d"
|
||||
# this is running on fish for some reason
|
||||
|
||||
super + shift + {a,s,d,f,g,z,x,c,v,b}
|
||||
bspc node -d {a,s,d,f,g,z,x,c,v,b}
|
||||
|
||||
# Monitor
|
||||
super + m
|
||||
bspc monitor -f next
|
||||
@ -86,6 +89,9 @@ super + Return
|
||||
kitty
|
||||
|
||||
super + space
|
||||
rofi -show drun
|
||||
|
||||
super + control + space
|
||||
rofi -show run
|
||||
|
||||
super + grave
|
||||
|
||||
@ -10,6 +10,6 @@ XDG_MUSIC_DIR="$HOME/docs/music"
|
||||
XDG_DESKTOP_DIR="$HOME/"
|
||||
XDG_TEMPLATES_DIR="$HOME/"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/"
|
||||
XDG_DOCUMENTS_DIR="$HOME/"
|
||||
XDG_DOCUMENTS_DIR="$HOME/.local/share/documents"
|
||||
XDG_PICTURES_DIR="$HOME/"
|
||||
XDG_VIDEOS_DIR="$HOME/"
|
||||
|
||||
25
.config/wal/colorschemes/dark/catppuccin.json
Normal file
25
.config/wal/colorschemes/dark/catppuccin.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"special": {
|
||||
"background": "#1e2030",
|
||||
"foreground": "#cad3f5",
|
||||
"cursor": "#f4dbd6"
|
||||
},
|
||||
"colors": {
|
||||
"color0": "#24273a",
|
||||
"color1": "#ed8796",
|
||||
"color2": "#f5a97f",
|
||||
"color3": "#eed49f",
|
||||
"color4": "#a6da95",
|
||||
"color5": "#8bd5ca",
|
||||
"color6": "#8aadf4",
|
||||
"color7": "#c6a0f6",
|
||||
"color8": "#363a4f",
|
||||
"color9": "#ed8796",
|
||||
"color10": "#f5a97f",
|
||||
"color11": "#eed49f",
|
||||
"color12": "#a6da95",
|
||||
"color13": "#8bd5ca",
|
||||
"color14": "#8aadf4",
|
||||
"color15": "#c6a0f6"
|
||||
}
|
||||
}
|
||||
152
.config/waybar/config.jsonc
Normal file
152
.config/waybar/config.jsonc
Normal file
@ -0,0 +1,152 @@
|
||||
// -*- mode: jsonc -*-
|
||||
{
|
||||
// "layer": "top", // Waybar at top layer
|
||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"height": 29, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": [
|
||||
"sway/workspaces"
|
||||
// "sway/mode",
|
||||
// "sway/scratchpad",
|
||||
// "custom/media"
|
||||
],
|
||||
"modules-center": [
|
||||
// "sway/window"
|
||||
"clock"
|
||||
],
|
||||
"modules-right": [
|
||||
"mpd",
|
||||
"custom/separator",
|
||||
"custom/pipewire-buffer",
|
||||
"custom/separator",
|
||||
"pulseaudio",
|
||||
"custom/separator",
|
||||
"sway/language",
|
||||
"custom/separator",
|
||||
"memory",
|
||||
"custom/separator",
|
||||
"cpu"
|
||||
// "custom/separator",
|
||||
// "network"
|
||||
],
|
||||
"custom/separator": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules configuration
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": true,
|
||||
// "warp-on-scroll": false,
|
||||
// "format": "{name}: {icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
// }
|
||||
// },
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{artist} - {title}",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-paused": "MPD paused",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 5,
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "CPU {usage}%"
|
||||
},
|
||||
"memory": {
|
||||
"format": "MEM {}%"
|
||||
},
|
||||
"custom/pipewire_buffer_size": {
|
||||
"exec": "~/.config/waybar/pipewire_buffer_size.sh",
|
||||
"interval": 10,
|
||||
"on-click": "~/.config/waybar/pipewire_buffer_size.sh click"
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-full": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"battery#bat2": {
|
||||
"bat": "BAT2"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%)",
|
||||
"format-ethernet": "{ipaddr}/{cidr}",
|
||||
"tooltip-format": "{ifname} via {gwaddr}",
|
||||
"format-linked": "{ifname} (No IP)",
|
||||
"format-disconnected": "Disconnected",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "VOL {volume}% {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": "MUTED {icon} {format_source}",
|
||||
"format-muted": "MUTED {format_source}",
|
||||
"format-source": "MIC",
|
||||
"format-source-muted": "MUTED",
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/pipewire-buffer": {
|
||||
"format": "BUF {}",
|
||||
"tooltip": false,
|
||||
"on-click": "$HOME/.config/waybar/pipewire_buffer_size.sh",
|
||||
"menu-file": "$HOME/.config/waybar/pipewire_buffer_menu.xml",
|
||||
"menu-actions": {
|
||||
"buffer_64": "$HOME/.config/waybar/set_pipewire_buffer.sh 64",
|
||||
"buffer_128": "$HOME/.config/waybar/set_pipewire_buffer.sh 128",
|
||||
"buffer_256": "$HOME/.config/waybar/set_pipewire_buffer.sh 256",
|
||||
"buffer_512": "$HOME/.config/waybar/set_pipewire_buffer.sh 512",
|
||||
"buffer_1024": "$HOME/.config/waybar/set_pipewire_buffer.sh 1024",
|
||||
"buffer_2048": "$HOME/.config/waybar/set_pipewire_buffer.sh 2048",
|
||||
"buffer_4096": "$HOME/.config/waybar/set_pipewire_buffer.sh 4096",
|
||||
"buffer_8192": "$HOME/.config/waybar/set_pipewire_buffer.sh 8192"
|
||||
},
|
||||
"exec": "$HOME/.config/waybar/get_pipewire_buffer.sh",
|
||||
"interval": 10
|
||||
}
|
||||
}
|
||||
2
.config/waybar/get_pipewire_buffer.sh
Executable file
2
.config/waybar/get_pipewire_buffer.sh
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+"
|
||||
28
.config/waybar/pipewire_buffer_menu.xml
Normal file
28
.config/waybar/pipewire_buffer_menu.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label">Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label">Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
12
.config/waybar/pipewire_buffer_size.sh
Executable file
12
.config/waybar/pipewire_buffer_size.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096" "8192")
|
||||
|
||||
new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | wofi --show dmenu)
|
||||
|
||||
if [[ -n $new_buffer_size ]]; then
|
||||
pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size"
|
||||
current_buffer_size=$new_buffer_size
|
||||
fi
|
||||
|
||||
exit 0
|
||||
4
.config/waybar/set_pipewire_buffer.sh
Executable file
4
.config/waybar/set_pipewire_buffer.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUFFER_SIZE=$1
|
||||
pw-metadata -n settings 0 clock.force-quantum $BUFFER_SIZE
|
||||
55
.config/waybar/style.css
Normal file
55
.config/waybar/style.css
Normal file
@ -0,0 +1,55 @@
|
||||
@import url("../../.cache/wal/colors-waybar.css");
|
||||
|
||||
* {
|
||||
font-family: "mononoki Nerd Font";
|
||||
font-size: 16;
|
||||
}
|
||||
|
||||
#waybar {
|
||||
background-color: @background;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
color: @color1;
|
||||
}
|
||||
|
||||
#custom-pipewire-buffer {
|
||||
color: @color2;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @color3;
|
||||
}
|
||||
|
||||
#language {
|
||||
color: @color4;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: @color5;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: @color6;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @color1;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @color4;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
color: @color4;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: @color6;
|
||||
}
|
||||
@ -1,313 +1,302 @@
|
||||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
//
|
||||
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/trt/.config/zellij/config.kdl.bak
|
||||
//
|
||||
|
||||
keybinds clear-defaults=true {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Alt g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Alt n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Increase Left"; }
|
||||
bind "j" "Down" { Resize "Increase Down"; }
|
||||
bind "k" "Up" { Resize "Increase Up"; }
|
||||
bind "l" "Right" { Resize "Increase Right"; }
|
||||
bind "H" { Resize "Decrease Left"; }
|
||||
bind "J" { Resize "Decrease Down"; }
|
||||
bind "K" { Resize "Decrease Up"; }
|
||||
bind "L" { Resize "Decrease Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "Alt g" { SwitchToMode "normal"; }
|
||||
}
|
||||
pane {
|
||||
bind "Alt p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "left" { MoveFocus "left"; }
|
||||
bind "down" { MoveFocus "down"; }
|
||||
bind "up" { MoveFocus "up"; }
|
||||
bind "right" { MoveFocus "right"; }
|
||||
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
|
||||
bind "d" { NewPane "down"; SwitchToMode "normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
|
||||
bind "h" { MoveFocus "left"; }
|
||||
bind "j" { MoveFocus "down"; }
|
||||
bind "k" { MoveFocus "up"; }
|
||||
bind "l" { MoveFocus "right"; }
|
||||
bind "n" { NewPane; SwitchToMode "normal"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Alt h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
bind "Alt p" { SwitchToMode "normal"; }
|
||||
bind "r" { NewPane "right"; SwitchToMode "normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
|
||||
}
|
||||
tab {
|
||||
bind "Alt t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "Normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
bind "left" { GoToPreviousTab; }
|
||||
bind "down" { GoToNextTab; }
|
||||
bind "up" { GoToPreviousTab; }
|
||||
bind "right" { GoToNextTab; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "normal"; }
|
||||
bind "h" { GoToPreviousTab; }
|
||||
bind "j" { GoToNextTab; }
|
||||
bind "k" { GoToPreviousTab; }
|
||||
bind "l" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "normal"; }
|
||||
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
|
||||
bind "Alt t" { SwitchToMode "normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "normal"; }
|
||||
bind "tab" { ToggleTab; }
|
||||
}
|
||||
resize {
|
||||
bind "left" { Resize "Increase left"; }
|
||||
bind "down" { Resize "Increase down"; }
|
||||
bind "up" { Resize "Increase up"; }
|
||||
bind "right" { Resize "Increase right"; }
|
||||
bind "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
bind "=" { Resize "Increase"; }
|
||||
bind "H" { Resize "Decrease left"; }
|
||||
bind "J" { Resize "Decrease down"; }
|
||||
bind "K" { Resize "Decrease up"; }
|
||||
bind "L" { Resize "Decrease right"; }
|
||||
bind "h" { Resize "Increase left"; }
|
||||
bind "j" { Resize "Increase down"; }
|
||||
bind "k" { Resize "Increase up"; }
|
||||
bind "l" { Resize "Increase right"; }
|
||||
bind "Alt n" { SwitchToMode "normal"; }
|
||||
}
|
||||
move {
|
||||
bind "left" { MovePane "left"; }
|
||||
bind "down" { MovePane "down"; }
|
||||
bind "up" { MovePane "up"; }
|
||||
bind "right" { MovePane "right"; }
|
||||
bind "h" { MovePane "left"; }
|
||||
bind "Alt h" { SwitchToMode "normal"; }
|
||||
bind "j" { MovePane "down"; }
|
||||
bind "k" { MovePane "up"; }
|
||||
bind "l" { MovePane "right"; }
|
||||
bind "n" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "tab" { MovePane; }
|
||||
}
|
||||
scroll {
|
||||
bind "Alt s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
bind "e" { EditScrollback; SwitchToMode "normal"; }
|
||||
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
|
||||
}
|
||||
search {
|
||||
bind "Alt s" { SwitchToMode "Normal"; }
|
||||
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Alt c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Alt c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Alt c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
}
|
||||
session {
|
||||
bind "Alt o" { SwitchToMode "Normal"; }
|
||||
bind "Alt s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
bind "Alt o" { SwitchToMode "normal"; }
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
SwitchToMode "normal"
|
||||
}
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Alt b" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
bind "Space" { NextSwapLayout; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Alt g" { SwitchToMode "Locked"; }
|
||||
bind "Alt q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt i" { MoveTab "Left"; }
|
||||
bind "Alt o" { MoveTab "Right"; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt left" { MoveFocusOrTab "left"; }
|
||||
bind "Alt down" { MoveFocus "down"; }
|
||||
bind "Alt up" { MoveFocus "up"; }
|
||||
bind "Alt right" { MoveFocusOrTab "right"; }
|
||||
bind "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt =" { Resize "Increase"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt g" { SwitchToMode "locked"; }
|
||||
bind "Alt i" { MoveTab "left"; }
|
||||
bind "Alt j" { MoveFocus "down"; }
|
||||
bind "Alt k" { MoveFocus "up"; }
|
||||
bind "Alt l" { MoveFocusOrTab "right"; }
|
||||
bind "Alt q" { Quit; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
shared_except "locked" "move" {
|
||||
bind "Alt h" { MoveFocusOrTab "left"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Alt p" { SwitchToMode "Pane"; }
|
||||
shared_except "locked" "session" {
|
||||
bind "Alt o" { SwitchToMode "session"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Alt n" { SwitchToMode "Resize"; }
|
||||
shared_except "locked" "scroll" "search" "tmux" {
|
||||
bind "Alt b" { SwitchToMode "tmux"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Alt s" { SwitchToMode "Scroll"; }
|
||||
shared_except "locked" "scroll" "search" {
|
||||
bind "Alt f" { ToggleFocusFullscreen; }
|
||||
bind "Alt s" { SwitchToMode "scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Alt o" { SwitchToMode "Session"; }
|
||||
shared_except "locked" "tab" {
|
||||
bind "Alt t" { SwitchToMode "tab"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Alt t" { SwitchToMode "Tab"; }
|
||||
shared_except "locked" "pane" {
|
||||
bind "Alt p" { SwitchToMode "pane"; }
|
||||
}
|
||||
// shared_except "move" "locked" {
|
||||
// bind "Alt h" { SwitchToMode "Move"; }
|
||||
// }
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Alt b" { SwitchToMode "Tmux"; }
|
||||
shared_except "locked" "resize" {
|
||||
bind "Alt n" { SwitchToMode "resize"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" {
|
||||
bind "enter" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
|
||||
bind "esc" { SwitchToMode "normal"; }
|
||||
}
|
||||
shared_among "scroll" "search" {
|
||||
bind "PageDown" { PageScrollDown; }
|
||||
bind "PageUp" { PageScrollUp; }
|
||||
bind "left" { PageScrollUp; }
|
||||
bind "down" { ScrollDown; }
|
||||
bind "up" { ScrollUp; }
|
||||
bind "right" { PageScrollDown; }
|
||||
bind "Alt b" { PageScrollUp; }
|
||||
bind "Alt c" { ScrollToBottom; SwitchToMode "normal"; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "Alt f" { PageScrollDown; }
|
||||
bind "h" { PageScrollUp; }
|
||||
bind "j" { ScrollDown; }
|
||||
bind "k" { ScrollUp; }
|
||||
bind "l" { PageScrollDown; }
|
||||
bind "Alt s" { SwitchToMode "normal"; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Alt c" { SwitchToMode "scroll"; }
|
||||
bind "esc" { SwitchToMode "scroll"; }
|
||||
bind "enter" { SwitchToMode "search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
|
||||
}
|
||||
shared_among "renametab" "renamepane" {
|
||||
bind "Alt c" { SwitchToMode "normal"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
|
||||
}
|
||||
}
|
||||
|
||||
// Plugin aliases - can be used to change the implementation of Zellij
|
||||
// changing these requires a restart to take effect
|
||||
plugins {
|
||||
tab-bar location="zellij:tab-bar"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
about location="zellij:about"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
session-manager location="zellij:session-manager"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
configuration location="zellij:configuration"
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
plugin-manager location="zellij:plugin-manager"
|
||||
session-manager location="zellij:session-manager"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
tab-bar location="zellij:tab-bar"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd ""
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout true
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Plugins to load in the background when a new session starts
|
||||
// eg. "file:/path/to/my-plugin.wasm"
|
||||
// eg. "https://example.com/my-plugin.wasm"
|
||||
load_plugins {
|
||||
}
|
||||
|
||||
// Use a simplified UI without special fonts (arrow glyphs)
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
// serialize_pane_viewport true
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
// themes {
|
||||
// dracula {
|
||||
// fg 248 248 242
|
||||
// bg 40 42 54
|
||||
// red 255 85 85
|
||||
// green 80 250 123
|
||||
// yellow 241 250 140
|
||||
// blue 98 114 164
|
||||
// magenta 255 121 198
|
||||
// orange 255 184 108
|
||||
// cyan 139 233 253
|
||||
// black 0 0 0
|
||||
// white 255 255 255
|
||||
// }
|
||||
// }
|
||||
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
// theme "default"
|
||||
|
||||
//
|
||||
// theme "gruvbox-dark"
|
||||
theme "catppuccin-macchiato"
|
||||
|
||||
// Choose the base input mode of zellij.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd "/tmp"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
// (Requires restart)
|
||||
//
|
||||
// layout_dir "/tmp"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
// (Requires restart)
|
||||
//
|
||||
// theme_dir "/tmp"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
|
||||
// Toggle having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default, enabled)
|
||||
// - false
|
||||
//
|
||||
// pane_frames false
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// (Requires restart)
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// (Requires restart)
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
@ -317,49 +306,102 @@ plugins {
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
//
|
||||
// copy_command "pbcopy"
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
|
||||
// Enable automatic copying (and clearing) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
|
||||
//
|
||||
// copy_on_select true
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
|
||||
// A fixed name to always give the Zellij session.
|
||||
// Consider also setting `attach_to_session true,`
|
||||
// otherwise this will error if such a session exists.
|
||||
// Default: <RANDOM>
|
||||
//
|
||||
// session_name "My singleton session"
|
||||
|
||||
// When `session_name` is provided, attaches to that session
|
||||
// if it is already running or creates it otherwise.
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
//
|
||||
// theme_dir "/path/to/my/theme_dir"
|
||||
|
||||
//
|
||||
// attach_to_session true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout false
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
//
|
||||
// serialize_pane_viewport false
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// (Requires restart)
|
||||
// Default: true
|
||||
//
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
|
||||
// How often in seconds sessions are serialized
|
||||
//
|
||||
// serialization_interval 10000
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// (Requires restart)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata true
|
||||
//
|
||||
// disable_session_metadata false
|
||||
|
||||
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
|
||||
// (Requires restart)
|
||||
// Default: true (if the host terminal supports it)
|
||||
//
|
||||
// support_kitty_keyboard_protocol false
|
||||
|
||||
// Whether to stack panes when resizing beyond a certain size
|
||||
// Default: true
|
||||
//
|
||||
// stacked_resize false
|
||||
|
||||
// Whether to show tips on startup
|
||||
// Default: true
|
||||
//
|
||||
show_startup_tips false
|
||||
|
||||
// Whether to show release notes on first version run
|
||||
// Default: true
|
||||
//
|
||||
// show_release_notes false
|
||||
|
||||
344
.config/zellij/config.kdl.bak
Normal file
344
.config/zellij/config.kdl.bak
Normal file
@ -0,0 +1,344 @@
|
||||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds clear-defaults=true {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Alt g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Alt n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Increase Left"; }
|
||||
bind "j" "Down" { Resize "Increase Down"; }
|
||||
bind "k" "Up" { Resize "Increase Up"; }
|
||||
bind "l" "Right" { Resize "Increase Right"; }
|
||||
bind "H" { Resize "Decrease Left"; }
|
||||
bind "J" { Resize "Decrease Down"; }
|
||||
bind "K" { Resize "Decrease Up"; }
|
||||
bind "L" { Resize "Decrease Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Alt p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Alt h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Alt t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "b" { BreakPane; SwitchToMode "Normal"; }
|
||||
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
|
||||
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Alt s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Alt s" { SwitchToMode "Normal"; }
|
||||
bind "Alt c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Alt f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Alt b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Alt c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Alt c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Alt c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Alt o" { SwitchToMode "Normal"; }
|
||||
bind "Alt s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
bind "w" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Alt g" { SwitchToMode "Locked"; }
|
||||
bind "Alt q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt i" { MoveTab "Left"; }
|
||||
bind "Alt o" { MoveTab "Right"; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
bind "Alt f" { ToggleFocusFullscreen; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Alt p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Alt n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Alt s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Alt o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Alt t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
// shared_except "move" "locked" {
|
||||
// bind "Alt h" { SwitchToMode "Move"; }
|
||||
// }
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Alt b" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
tab-bar location="zellij:tab-bar"
|
||||
status-bar location="zellij:status-bar"
|
||||
strider location="zellij:strider"
|
||||
compact-bar location="zellij:compact-bar"
|
||||
session-manager location="zellij:session-manager"
|
||||
welcome-screen location="zellij:session-manager" {
|
||||
welcome_screen true
|
||||
}
|
||||
filepicker location="zellij:strider" {
|
||||
cwd "/"
|
||||
}
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd ""
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout true
|
||||
|
||||
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// session_serialization false
|
||||
|
||||
// Whether pane viewports are serialized along with the session, default is false
|
||||
// Options:
|
||||
// - true
|
||||
// - false (default)
|
||||
// serialize_pane_viewport true
|
||||
|
||||
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
|
||||
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
|
||||
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
|
||||
//
|
||||
// scrollback_lines_to_serialize 10000
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
// themes {
|
||||
// dracula {
|
||||
// fg 248 248 242
|
||||
// bg 40 42 54
|
||||
// red 255 85 85
|
||||
// green 80 250 123
|
||||
// yellow 241 250 140
|
||||
// blue 98 114 164
|
||||
// magenta 255 121 198
|
||||
// orange 255 184 108
|
||||
// cyan 139 233 253
|
||||
// black 0 0 0
|
||||
// white 255 255 255
|
||||
// }
|
||||
// }
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
// theme "catppuccin-macchiato"
|
||||
theme "gruvbox-dark"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
//
|
||||
// theme_dir "/path/to/my/theme_dir"
|
||||
|
||||
// Enable or disable the rendering of styled and colored underlines (undercurl).
|
||||
// May need to be disabled for certain unsupported terminals
|
||||
// Default: true
|
||||
//
|
||||
// styled_underlines false
|
||||
|
||||
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
|
||||
// metadata info on this session)
|
||||
// Default: false
|
||||
//
|
||||
// disable_session_metadata true
|
||||
6
.config/zellij/layouts/nvim.kdl
Normal file
6
.config/zellij/layouts/nvim.kdl
Normal file
@ -0,0 +1,6 @@
|
||||
layout {
|
||||
pane command="nvim" size="80%"
|
||||
pane split_direction="vertical" {
|
||||
pane size="20%"
|
||||
}
|
||||
}
|
||||
57
.config/zellij/themes/catppuccin.kdl
Normal file
57
.config/zellij/themes/catppuccin.kdl
Normal file
@ -0,0 +1,57 @@
|
||||
themes {
|
||||
catppuccin-latte {
|
||||
bg "#acb0be" // Surface2
|
||||
fg "#4c4f69" // Text
|
||||
red "#d20f39"
|
||||
green "#40a02b"
|
||||
blue "#1e66f5"
|
||||
yellow "#df8e1d"
|
||||
magenta "#ea76cb" // Pink
|
||||
orange "#fe640b" // Peach
|
||||
cyan "#04a5e5" // Sky
|
||||
black "#e6e9ef" // Mantle
|
||||
white "#4c4f69" // Text
|
||||
}
|
||||
|
||||
catppuccin-frappe {
|
||||
bg "#626880" // Surface2
|
||||
fg "#c6d0f5" // Text
|
||||
red "#e78284"
|
||||
green "#a6d189"
|
||||
blue "#8caaee"
|
||||
yellow "#e5c890"
|
||||
magenta "#f4b8e4" // Pink
|
||||
orange "#ef9f76" // Peach
|
||||
cyan "#99d1db" // Sky
|
||||
black "#292c3c" // Mantle
|
||||
white "#c6d0f5" // Text
|
||||
}
|
||||
|
||||
catppuccin-macchiato {
|
||||
bg "#5b6078" // Surface2
|
||||
fg "#cad3f5" // Text
|
||||
red "#ed8796"
|
||||
green "#a6da95"
|
||||
blue "#8aadf4"
|
||||
yellow "#eed49f"
|
||||
magenta "#f5bde6" // Pink
|
||||
orange "#f5a97f" // Peach
|
||||
cyan "#91d7e3" // Sky
|
||||
black "#1e2030" // Mantle
|
||||
white "#cad3f5" // Text
|
||||
}
|
||||
|
||||
catppuccin-mocha {
|
||||
bg "#585b70" // Surface2
|
||||
fg "#cdd6f4" // Text
|
||||
red "#f38ba8"
|
||||
green "#a6e3a1"
|
||||
blue "#89b4fa"
|
||||
yellow "#f9e2af"
|
||||
magenta "#f5c2e7" // Pink
|
||||
orange "#fab387" // Peach
|
||||
cyan "#89dceb" // Sky
|
||||
black "#181825" // Mantle
|
||||
white "#cdd6f4" // Text
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user