Compare commits

...

129 commits

Author SHA1 Message Date
f1ef247c0c
[update] Update the zellij config 2023-06-20 14:50:45 +03:00
d50d555e11
[update] Update the KB layuots 2023-06-15 15:42:41 +03:00
8de3e7e86b
[new] Create btop config 2023-05-28 16:24:41 +03:00
db6ce2cf41
[update] Update the WM binary name 2023-05-28 15:15:03 +03:00
f4a5a15a8e
[shell] Create the setup.sh 2023-05-17 10:14:36 +03:00
efb569a435
[update] Update the yo-dwm binary name and source the .xprofile 2023-05-11 02:38:21 +03:00
37b3ccfd2a
[update] Add the atostart stuff to the .xprofile 2023-05-11 02:34:33 +03:00
93294e256d
[add/new] Create the .Xresources 2023-05-10 03:37:48 +03:00
9851a66ff9
[log] Save the dwm logs 2023-05-10 03:27:02 +03:00
29d62e5242
[fix] Auto start the gpg agent and setup the keybord lauots 2023-05-10 03:10:56 +03:00
0d39d11c52 Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-05-10 01:35:13 +03:00
b2ac1d5ff2
[add/new] Create the vconsole config 2023-05-10 01:34:34 +03:00
e655f043e1
[fix] Fix the browser config link 2023-05-09 23:54:39 +03:00
878a6fc8b9
[doc] Create the browesr sub section 2023-05-09 23:42:57 +03:00
6d3de31390
[add/new] Create the firefox style 2023-05-09 23:23:43 +03:00
129b7e5c67 Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-05-07 13:49:53 +03:00
2083dc5074
[fix] fix the wifi disable on startup issue 2023-05-07 13:48:12 +03:00
mergify[bot]
435d0ae8e7
Merge pull request #5 from anas-elgarhy/renovate/configure
Configure Renovate
2023-05-07 10:23:47 +00:00
e1016c11ba
[improve/driver conf] Use libinput for the touchpad instad of synaptics 2023-05-07 13:17:19 +03:00
43acbe091c
[improve] Update the tlp config 2023-05-07 05:00:05 +03:00
3e1bb5e15c
[doc/fix] Fix the tlp wiki link 2023-05-07 03:53:28 +03:00
03beee0e18
[doc] Improve the readme 2023-05-07 03:49:05 +03:00
baa36c638c
[doc] Add tlp explane 2023-05-07 03:41:42 +03:00
012e0e0f9c
[doc] Fix some grammer 2023-05-05 20:49:45 +03:00
f8bdba9ca9
[doc] Create ref section 2023-05-05 20:44:53 +03:00
dc1d970a7d
[clean] Remove the useless .scripts dir 2023-05-05 17:36:03 +03:00
bc7d3f6032
[update/add] Add aur:// alias 2023-05-05 17:18:36 +03:00
7c5bda0919
[update] Use the ssh insted of https in me:// alias 2023-05-05 17:14:50 +03:00
4a1f09d970
[add/new] Create the touchpad config, with Synaptics driver 2023-05-05 17:09:30 +03:00
7c30575420
[update/shell] Remove thefuck alias 2023-04-21 01:37:30 +02:00
44b89545d5
[update/shell] Add the init command for `github-copilot-cli 2023-04-21 01:21:45 +02:00
2a221d0667
[update/shell] Add the init command for `github-copilot-cli 2023-04-21 01:21:36 +02:00
4a8337e472
[update/shell] Add pull and fetch aliases for git 2023-04-18 23:33:53 +02:00
77af2fa024
[update] Remove the zellij pane freams and use the compact layuot 2023-04-18 23:20:43 +02:00
renovate[bot]
c1309c652f
Add renovate.json 2023-04-17 17:26:41 +00:00
mergify[bot]
ee8b820127
Merge pull request #8 from anas-elgarhy/imgbot
[ImgBot] Optimize images
2023-04-17 17:26:30 +00:00
ImgBotApp
89ba8be7e9
[ImgBot] Optimize images
*Total -- 3,394.60kb -> 2,962.89kb (12.72%)

/Screenshots/zsh-kitty-v0.3.png -- 919.40kb -> 772.17kb (16.01%)
/Screenshots/zsh-neofetch-kitty-cava-tty_clock-v0.3.png -- 1,131.93kb -> 992.27kb (12.34%)
/Screenshots/zsh-neofetch-kitty-cmus-notify-v0.3.png -- 1,343.27kb -> 1,198.45kb (10.78%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-04-17 12:49:57 +00:00
6f06cfe888
[doc] Update the screenshots 2023-04-17 11:15:52 +02:00
5855de31a4
[update] Add ~/.local/bin to the path 2023-04-17 10:54:12 +02:00
0a0b163dd1
[update] Changa the dwm oppacity to 80% 2023-04-17 10:47:25 +02:00
3337e9dea8
[new] Add the git config 2023-04-17 10:08:52 +02:00
51738c04ea
[add/new] Add the qt5 configs 2023-04-17 09:57:02 +02:00
cefb5fbb29
[update] Use the dracula theme with kitty
Source: https://github.com/dracula/kitty
2023-04-17 09:30:56 +02:00
46e83503aa
[update] use the dracula theme with dunst
Source: https://github.com/dracula/dunst
2023-04-17 09:16:42 +02:00
051b29f9ce
[add/new] Add the copyq configs 2023-04-17 08:57:57 +02:00
628138d100
[update] Changa the kitty oppacity to 26% 2023-04-17 08:36:30 +02:00
067d055c09
[update] Use the dracula theam for cava 2023-04-17 08:31:43 +02:00
bdbe4ba3ed
[update] Add more aliases 2023-04-16 00:10:10 +02:00
d3af14c21e
[CI] Add the disroot repo to the mirror action 2023-04-15 23:20:16 +02:00
73a70b022f
Merge pull request #7 from anas-elgarhy/mergify/anas-elgarhy/config-update
ci(Mergify): configuration update
2023-04-15 22:51:48 +02:00
2d9397eb53
Merge pull request #6 from anas-elgarhy/imgbot
[ImgBot] Optimize images
2023-04-15 22:51:32 +02:00
0bd95d9043 ci(Mergify): configuration update
Signed-off-by: Anas Elgarhy <anas.elgarhy.dev@gmail.com>
2023-04-15 22:51:13 +02:00
48ecf15dce
[clean] Remove the outdated screenshots 2023-04-15 22:36:24 +02:00
ImgBotApp
69ff5f2f93
[ImgBot] Optimize images
*Total -- 2,102.74kb -> 1,875.91kb (10.79%)

/Screenshots/zsh-neofetch-kitty-v0.2.png -- 831.39kb -> 721.69kb (13.19%)
/Screenshots/zsh-neofetch-kitty-cmus-notify-v0.2.png -- 1,271.35kb -> 1,154.22kb (9.21%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-04-15 06:17:47 +00:00
918a282bb2
[clean] Remove the outdated .ideavimrc file 2023-04-15 08:07:25 +02:00
c2e5c02078
[clean] Remove the cmus garpage 2023-04-15 08:02:05 +02:00
d3e901f710
[update] Udate the fish shell config 2023-04-15 07:56:47 +02:00
69ce4691b5
[update] Improve the ZSH config 2023-04-15 07:32:25 +02:00
bcf9205dfa
[update] Update bashrc 2023-04-15 07:18:14 +02:00
0474e0f265
[update] Move the util.sh to the correct path 2023-04-15 06:45:16 +02:00
7cf174e37e
[update] Create the extract util function 2023-04-15 06:42:10 +02:00
2e3fe67a92
[update] Create the youtube alieses 2023-04-15 06:32:58 +02:00
0197e6d3c5
[update] Set the pager to bat 2023-04-15 06:30:48 +02:00
45afdd620c
[doc] Update the readme 2023-04-15 05:23:19 +02:00
4c6140418d
[doc] Update the readme 2023-04-15 05:21:49 +02:00
7e0341098e
[update] Add alias for git 2023-04-15 05:04:44 +02:00
5001635823
[update] Remove the power10k prombt config 2023-04-15 04:54:29 +02:00
0a95329df7
[update] Add more aliases 2023-04-15 04:49:20 +02:00
e60e06afcc
[update] Improve the zsh configs 2023-04-15 04:36:04 +02:00
25a90e80c2
[fix] Append the PATH 2023-04-15 04:33:42 +02:00
dca853ac85
Create the public env 2023-04-15 04:06:04 +02:00
b569b57d63
Create the oh-my-posh theme 2023-04-15 03:26:18 +02:00
a816e697e9
Seprae the aliases 2023-04-15 02:45:02 +02:00
6698040877
Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-04-15 02:41:44 +02:00
a772c19f8f
Rename README.md to README.md.outdated 2023-04-15 01:47:05 +02:00
239eacf23e
Add .xinitrc file 2023-03-08 22:48:25 +02:00
8a849d1865
Add X environment variables for Nabi in '.xprofile' 2023-03-08 22:47:22 +02:00
f0a1783099
Improve the doom configs :) 2023-03-04 12:02:11 +02:00
b6afc1eb74
Remove the wakatime api key and ignore it :) 2023-03-04 05:34:49 +02:00
7b3ce3e0ff
Create a basic doom emacs configs. 2023-03-04 04:24:04 +02:00
a7d6ccd855
Update the fish configs 2023-03-03 21:39:51 +02:00
9d5abd0cd1
Create nnn config 2023-03-03 21:35:17 +02:00
b6a0f3aa5a
Update kitty.conf background opacity 2023-03-03 21:33:30 +02:00
39850bf997
Create the base cmus configs 2023-01-20 22:31:24 +02:00
35bed94a39
Create the cmus-rps-rs configs :P 2023-01-20 22:30:38 +02:00
cd404690a2
Create the cmus-rpc configs :D 2023-01-20 22:29:35 +02:00
3da9e55f1f
Update the picom configs :P 2023-01-20 22:12:33 +02:00
b615b1e44d
Create the base configs for dunst 2023-01-20 22:06:09 +02:00
d41749472a Create a basic configs to zellij :P 2023-01-07 01:11:20 +02:00
5a12976349 Update the fish configs 2023-01-07 00:37:16 +02:00
0f30c2f543 Create polybar config :p 2022-11-02 10:09:32 +02:00
797299c280 Create sxhkd config :D 2022-11-02 10:08:35 +02:00
6281fcc236 Create bspwm config 2022-11-02 10:07:43 +02:00
555eba3b6f Add !! and !$ to fish yo 😆 2022-08-25 10:36:04 +02:00
001d99af84 Add fish shell configs yoooo 🥰😆 2022-08-24 13:09:22 +02:00
a7d6ed27cd 🥰 2022-08-24 10:47:26 +02:00
e1d8e4dd4a update bitbuket miror link 😆 2022-08-15 20:34:31 +02:00
ffc95140ad Remove the garbage file 2🗑 2022-08-15 20:20:31 +02:00
3d2f5438a2 Add scripts directory yoo 🥰📂 2022-08-15 20:12:08 +02:00
3cd28ef39d Update neofetch config 😆 2022-08-09 12:05:54 +02:00
bb73c2a688 Add base kitty config 💙 2022-08-05 21:42:57 +02:00
7b2a1201c5 update yoo 🥰 2022-08-05 21:41:34 +02:00
f9d55ef6a4 Fix neovim configs 🥰 2022-07-17 15:20:40 +02:00
b73d4104d7 Add presence plugin 🥰
https://github.com/andweeb/presence.nvim
2022-07-17 14:48:28 +02:00
362daca71f Update neofetch out 🥰 2022-07-12 06:43:38 +02:00
08627549ed Add stickykeys script 😍 2022-07-12 06:16:59 +02:00
803ffda7c4 Unload node version manger 2022-07-11 15:41:30 +02:00
fb96241b69 Update alias 😆 2022-06-27 09:03:49 +02:00
b69d40eb46 Add sdkman conf 😊 2022-06-21 16:31:05 +02:00
f99c061870 Add idea vim configs 😊 2022-06-21 16:27:59 +02:00
8d5e314407 update zshrc 2022-06-21 16:27:18 +02:00
e54915e519 Use logo ls 📁 2022-05-22 10:21:18 +02:00
73722658a4 Merge remote-tracking branch 'origin/master' bebow 2022-05-21 09:06:34 +02:00
1b40b20e71 Add script to install emoji font(noto-fonts-emoji)😆 2022-05-21 09:05:39 +02:00
080b01b454 Add ls colors 😆 2022-05-21 08:59:40 +02:00
216965a9f4
Merge pull request #4 from Anas-Elgarhy/imgbot
[ImgBot] Optimize images
2022-05-13 17:11:37 +02:00
ImgBotApp
4bac0d2160
[ImgBot] Optimize images
/Screenshots/neovim.png -- 604.36kb -> 499.46kb (17.36%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-05-13 07:25:51 +00:00
ab98dbb4e7 Fix nvim plugins 2022-05-13 04:24:43 +02:00
2d1e72db72 Add https://github.com/NvChad/NvChad 2022-05-12 16:43:25 +02:00
bce43311f3 Clean up the neovim config 2022-05-12 16:32:10 +02:00
32ee90ef6f Add kovetskiy/sxhkd-vim plugin 2022-05-12 12:35:01 +02:00
fee6cf0365 Set shell to zsh 🐚🐚 2022-05-12 06:17:45 +02:00
19e22395e2 Update NeoVim screenshot 🥰 2022-05-12 05:59:46 +02:00
331dc5825a Use FuraCode Nerd Font to terminal 2022-05-10 21:40:01 +02:00
48b6579da8 Merge remote-tracking branch 'origin/master' 2022-05-10 21:34:22 +02:00
9ec18aa8e2 Add Nvchad and setup the plugins 😍 2022-05-10 21:33:34 +02:00
b47b2fc890
Merge pull request #3 from Anas-Elgarhy/imgbot
[ImgBot] Optimize images
2022-05-05 17:43:21 +02:00
ImgBotApp
9874a14474
[ImgBot] Optimize images
*Total -- 1,096.91kb -> 932.56kb (14.98%)

/Screenshots/2.png -- 500.98kb -> 410.27kb (18.11%)
/Screenshots/1.png -- 595.93kb -> 522.29kb (12.36%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-05-05 08:52:58 +00:00
1fa8680a73 Add wakatime plugin 2022-05-04 19:22:57 +02:00
79 changed files with 4290 additions and 2362 deletions

29
.Xresources Normal file
View file

@ -0,0 +1,29 @@
*faceName: Public Sans
xterm*faceSize: 14
*multiClickTime: 300
*international: true
Xcursor.theme: default
Xcursor.size: 16 ! 32, 48 or 64 may also be good values
! Xft settings ---------------------------------------------------------------
Xft.lcdfilter: lcddefault
Xft.antialias: true
Xft.autohint: false
Xft.hinting: true
Xft.hintstyle: hintfull
Xft.rgba: rgb
! xterm ----------------------------------------------------------------------
xterm*geometry: 100x25
xterm*dynamicColors: true
xterm*utf8: 1
xterm*eightBitInput: true
xterm*saveLines: 12000
xterm*scrollTtyKeypress: true
xterm*scrollTtyOutput: false
xterm*jumpScroll: true
xterm*multiScroll: true
xterm*toolBar: false
xterm*termName: xterm-256color
xterm*faceName: Noto Sans Mono

333
.bashrc
View file

@ -1,15 +1,7 @@
### EXPORT ### source "$HOME/.config/shell/public-env.sh"
export EDITOR='nano' source "$HOME/.config/shell/aliases.sh"
export VISUAL='nano' source "$HOME/.config/shell/utils.sh"
export HISTCONTROL=ignoreboth:erasedups source "$HOME/.config/shell/setup.sh"
export PAGER='most'
#Ibus settings if you need them
#type ibus-setup in terminal to change settings and start the daemon
#delete the hashtags of the next lines and restart
#export GTK_IM_MODULE=ibus
#export XMODIFIERS=@im=dbus
#export QT_IM_MODULE=ibus
PS1='[\u@\h \W]\$ ' PS1='[\u@\h \W]\$ '
@ -17,147 +9,9 @@ PS1='[\u@\h \W]\$ '
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH"
fi
if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH"
fi
#ignore upper and lowercase when TAB completion #ignore upper and lowercase when TAB completion
bind "set completion-ignore-case on" bind "set completion-ignore-case on"
### ALIASES ###
#list
alias ls='ls --color=auto'
alias la='ls -a'
alias ll='ls -alFh'
alias l='ls'
alias l.="ls -A | egrep '^\.'"
#fix obvious typo's
alias cd..='cd ..'
alias pdw='pwd'
alias udpate='sudo pacman -Syyu'
alias upate='sudo pacman -Syyu'
alias updte='sudo pacman -Syyu'
alias updqte='sudo pacman -Syyu'
alias upqll='paru -Syu --noconfirm'
alias upal='paru -Syu --noconfirm'
## Colorize the grep command output for ease of use (good for log files)##
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
#readable output
alias df='df -h'
#keyboard
alias give-me-azerty-be="sudo localectl set-x11-keymap be"
alias give-me-qwerty-us="sudo localectl set-x11-keymap us"
#pacman unlock
alias unlock="sudo rm /var/lib/pacman/db.lck"
alias rmpacmanlock="sudo rm /var/lib/pacman/db.lck"
#arcolinux logout unlock
alias rmlogoutlock="sudo rm /tmp/arcologout.lock"
#which graphical card is working
alias whichvga="/usr/local/bin/arcolinux-which-vga"
#free
alias free="free -mt"
#continue download
alias wget="wget -c"
#userlist
alias userlist="cut -d: -f1 /etc/passwd"
#merge new settings
alias merge="xrdb -merge ~/.Xresources"
# Aliases for software managment
# pacman or pm
alias pacman='sudo pacman --color auto'
alias update='sudo pacman -Syyu'
# paru as aur helper - updates everything
alias pksyua="paru -Syu --noconfirm"
alias upall="paru -Syu --noconfirm"
#ps
alias psa="ps auxf"
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
#grub update
alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg"
#add new fonts
alias update-fc='sudo fc-cache -fv'
#copy/paste all content of /etc/skel over to home folder - backup of config created - beware
alias skel='[ -d ~/.config ] || mkdir ~/.config && cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && cp -rf /etc/skel/* ~'
#backup contents of /etc/skel to hidden backup folder in home/user
alias bupskel='cp -Rf /etc/skel ~/.skel-backup-$(date +%Y.%m.%d-%H.%M.%S)'
#copy shell configs
alias cb='cp /etc/skel/.bashrc ~/.bashrc && exec bash'
alias cz='cp /etc/skel/.zshrc ~/.zshrc && echo "Copied."'
alias cf='cp /etc/skel/.config/fish/config.fish ~/.config/fish/config.fish && echo "Copied."'
#switch between bash and zsh
alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'"
alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'"
#switch between lightdm and sddm
alias tolightdm="sudo pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings --noconfirm --needed ; sudo systemctl enable lightdm.service -f ; echo 'Lightm is active - reboot now'"
alias tosddm="sudo pacman -S sddm --noconfirm --needed ; sudo systemctl enable sddm.service -f ; echo 'Sddm is active - reboot now'"
alias toly="sudo pacman -S ly --noconfirm --needed ; sudo systemctl enable ly.service -f ; echo 'Ly is active - reboot now'"
alias togdm="sudo pacman -S gdm --noconfirm --needed ; sudo systemctl enable gdm.service -f ; echo 'Gdm is active - reboot now'"
alias tolxdm="sudo pacman -S lxdm --noconfirm --needed ; sudo systemctl enable lxdm.service -f ; echo 'Lxdm is active - reboot now'"
# kill commands
# quickly kill conkies
alias kc='killall conky'
# quickly kill polybar
alias kp='killall polybar'
# quickly kill picom
alias kpi='killall picom'
#hardware info --short
alias hw="hwinfo --short"
#skip integrity check
alias paruskip='paru -S --mflags --skipinteg'
alias yayskip='yay -S --mflags --skipinteg'
alias trizenskip='trizen -S --skipinteg'
#check vulnerabilities microcode
alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*'
#get fastest mirrors in your neighborhood
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
alias mirrord="sudo reflector --latest 30 --number 10 --sort delay --save /etc/pacman.d/mirrorlist"
alias mirrors="sudo reflector --latest 30 --number 10 --sort score --save /etc/pacman.d/mirrorlist"
alias mirrora="sudo reflector --latest 30 --number 10 --sort age --save /etc/pacman.d/mirrorlist"
#our experimental - best option for the moment
alias mirrorx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 5 --sort rate --protocol https --save /etc/pacman.d/mirrorlist"
alias mirrorxx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist"
alias ram='rate-mirrors --allow-root arch | sudo tee /etc/pacman.d/mirrorlist'
#mounting the folder Public for exchange between host and guest on virtualbox
alias vbm="sudo /usr/local/bin/arcolinux-vbox-share"
#enabling vmware services
alias start-vmware="sudo systemctl enable --now vmtoolsd.service"
alias sv="sudo systemctl enable --now vmtoolsd.service"
#shopt #shopt
shopt -s autocd # change to named directory shopt -s autocd # change to named directory
shopt -s cdspell # autocorrects cd misspellings shopt -s cdspell # autocorrects cd misspellings
@ -166,179 +20,8 @@ shopt -s dotglob
shopt -s histappend # do not overwrite history shopt -s histappend # do not overwrite history
shopt -s expand_aliases # expand aliases shopt -s expand_aliases # expand aliases
#youtube download # History in cache directory:
alias yta-aac="yt-dlp --extract-audio --audio-format aac " HISTSIZE=1000000000
alias yta-best="yt-dlp --extract-audio --audio-format best " SAVEHIST=1000000000
alias yta-flac="yt-dlp --extract-audio --audio-format flac " HISTFILE=~/.shell_history
alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 "
alias ytv-best="yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "
#Recent Installed Packages
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
alias riplong="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -3000 | nl"
#iso and version used to install ArcoLinux
alias iso="cat /etc/dev-rel | awk -F '=' '/ISO/ {print $2}'"
#Cleanup orphaned packages
alias cleanup='sudo pacman -Rns $(pacman -Qtdq)'
#clear
alias clean="clear; seq 1 (tput cols) | sort -R | sparklines | lolcat"
#search content with ripgrep
alias rg="rg --sort path"
#get the error messages from journalctl
alias jctl="journalctl -p 3 -xb"
#nano for important configuration files
#know what you do in these files
alias nlxdm="sudo $EDITOR /etc/lxdm/lxdm.conf"
alias nlightdm="sudo $EDITOR /etc/lightdm/lightdm.conf"
alias npacman="sudo $EDITOR /etc/pacman.conf"
alias ngrub="sudo $EDITOR /etc/default/grub"
alias nconfgrub="sudo $EDITOR /boot/grub/grub.cfg"
alias nmkinitcpio="sudo $EDITOR /etc/mkinitcpio.conf"
alias nmirrorlist="sudo $EDITOR /etc/pacman.d/mirrorlist"
alias narcomirrorlist='sudo nano /etc/pacman.d/arcolinux-mirrorlist'
alias nsddm="sudo $EDITOR /etc/sddm.conf"
alias nsddmk="sudo $EDITOR /etc/sddm.conf.d/kde_settings.conf"
alias nfstab="sudo $EDITOR /etc/fstab"
alias nnsswitch="sudo $EDITOR /etc/nsswitch.conf"
alias nsamba="sudo $EDITOR /etc/samba/smb.conf"
alias ngnupgconf="sudo nano /etc/pacman.d/gnupg/gpg.conf"
alias nhosts="sudo $EDITOR /etc/hosts"
alias nb="$EDITOR ~/.bashrc"
alias nz="$EDITOR ~/.zshrc"
alias nf="EDITOR ~/.config/fish/config.fish"
#gpg
#verify signature for isos
alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
alias fix-gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
#receive the key of a developer
alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
alias fix-gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
alias fix-keyserver="[ -d ~/.gnupg ] || mkdir ~/.gnupg ; cp /etc/pacman.d/gnupg/gpg.conf ~/.gnupg/ ; echo 'done'"
#fixes
alias fix-permissions="sudo chown -R $USER:$USER ~/.config ~/.local"
alias keyfix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias key-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias keys-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fixkey="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fixkeys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-key="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-keys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-sddm-config="/usr/local/bin/arcolinux-fix-sddm-config"
alias fix-pacman-conf="/usr/local/bin/arcolinux-fix-pacman-conf"
alias fix-pacman-keyserver="/usr/local/bin/arcolinux-fix-pacman-gpg-conf"
#maintenance
alias big="expac -H M '%m\t%n' | sort -h | nl"
alias downgrada="sudo downgrade --ala-url https://ant.seedhost.eu/arcolinux/"
#hblock (stop tracking with hblock)
#use unhblock to stop using hblock
alias unhblock="hblock -S none -D none"
#systeminfo
alias probe="sudo -E hw-probe -all -upload"
alias sysfailed="systemctl list-units --failed"
#shutdown or reboot
alias ssn="sudo shutdown now"
alias sr="sudo reboot"
#update betterlockscreen images
alias bls="betterlockscreen -u /usr/share/backgrounds/arcolinux/"
#give the list of all installed desktops - xsessions desktops
alias xd="ls /usr/share/xsessions"
# # ex = EXtractor for all kinds of archives
# # usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) tar xf $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
#btrfs aliases
alias btrfsfs="sudo btrfs filesystem df /"
alias btrfsli="sudo btrfs su li / -t"
#snapper aliases
alias snapcroot="sudo snapper -c root create-config /"
alias snapchome="sudo snapper -c home create-config /home"
alias snapli="sudo snapper list"
alias snapcr="sudo snapper -c root create"
alias snapch="sudo snapper -c home create"
#Leftwm aliases
alias lti="leftwm-theme install"
alias ltu="leftwm-theme uninstall"
alias lta="leftwm-theme apply"
alias ltupd="leftwm-theme update"
alias ltupg="leftwm-theme upgrade"
#arcolinux applications
alias att="arcolinux-tweak-tool"
alias adt="arcolinux-desktop-trasher"
alias abl="arcolinux-betterlockscreen"
alias agm="arcolinux-get-mirrors"
alias amr="arcolinux-mirrorlist-rank-info"
alias aom="arcolinux-osbeck-as-mirror"
alias ars="arcolinux-reflector-simple"
alias atm="arcolinux-tellme"
alias avs="arcolinux-vbox-share"
alias awa="arcolinux-welcome-app"
#remove
alias rmgitcache="rm -r ~/.cache/git"
#moving your personal files and folders from /personal to ~
alias personal='cp -Rf /personal/* ~'
#create a file called .bashrc-personal and put all your personal aliases
#in there. They will not be overwritten by skel.
[[ -f ~/.bashrc-personal ]] && . ~/.bashrc-personal
exec zsh
# reporting tools - install when not installed
neofetch
#screenfetch
#alsi
#paleofetch
#fetch
#hfetch
#sfetch
#ufetch
#ufetch-arco
#pfetch
#sysinfo
#sysinfo-retro
#cpufetch
#colorscript random

View file

@ -117,7 +117,7 @@ font:
# - (macOS) Menlo # - (macOS) Menlo
# - (Linux/BSD) monospace # - (Linux/BSD) monospace
# - (Windows) Consolas # - (Windows) Consolas
family: "Noto Sans Mono" family: "FuraCode Nerd Font"
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
style: Regular style: Regular
@ -433,8 +433,8 @@ font:
# - (macOS) /bin/bash --login # - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell # - (Linux/BSD) user login shell
# - (Windows) powershell # - (Windows) powershell
#shell: shell:
# program: /bin/bash program: /bin/zsh
# args: # args:
# - --login # - --login

51
.config/bspwm/bspwmrc Executable file
View file

@ -0,0 +1,51 @@
#!/bin/sh
#######################################################
# ██████╗ ███████╗██████╗ ██╗ ██╗███╗ ███╗
# ██╔══██╗██╔════╝██╔══██╗██║ ██║████╗ ████║
# ██████╔╝███████╗██████╔╝██║ █╗ ██║██╔████╔██║
# ██╔══██╗╚════██║██╔═══╝ ██║███╗██║██║╚██╔╝██║
# ██████╔╝███████║██║ ╚███╔███╔╝██║ ╚═╝ ██║
# ╚═════╝ ╚══════╝╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝
#
# By: Anas Elgarhy: @anas-elgarhy or @anaselgarhy
####################################################
# Terminal
export TERMINAL=kitty
pgrep -x sxhkd > /dev/null || sxhkd &
setxkbmap -model pc101 -layout us,ar -variant ,, -option grp:win_space_toggle &
/bin/stickykeys &
nitrogen --restore &
nm-applet &
copyq &
polybar &
# eww -c $HOME/.config/eww/eww-bar --restart open bar &
bspc monitor -d www dev sys chat img vid mus vbox gfx \;
bspc config border_width 2
bspc config window_gap 2
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config single_monocle true
bspc config gapless_monocle false
# Rules
bspc rule -a Gimp desktop='^9' state=floating follow=on
bspc rule -a firefoxdeveloperedition desktop='^1' state=tiling follow=on
bspc rule -a "Tor Browser" desktop='^10' state=tiling follow=off
bspc rule -a "keepassxc" desktop='^10' state=tiling follow=on
bspc rule -a "discord" desktop='^4' state=tiling follow=on
bspc rule -a "jetbrains-idea" desktop='^2' state=tiling follow=on
bspc rule -a "jetbrains-pycharm" desktop='^2' state=tiling follow=on
bspc rule -a "jetbrains-clion" desktop='^2' state=tiling follow=on
bspc rule -a "jetbrains-webstorm" desktop='^2' state=tiling follow=on
bspc rule -a "jetbrains-rubymine" desktop='^2' state=tiling follow=on
bspc rule -a "jetbrains-goland" desktop='^2' state=tiling follow=on

212
.config/btop/btop.conf Normal file
View file

@ -0,0 +1,212 @@
#? Config file for btop v. 1.2.13
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "/usr/share/btop/themes/dracula.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = True
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = True
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "total"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "idle"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = False
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = True
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = True
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = True
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "BAT0"
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"

View file

@ -1,11 +1,5 @@
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting. ## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
[general] [general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values. # Accepts only non-negative values.
framerate = 144 framerate = 144
@ -21,9 +15,9 @@ sensitivity = 200
# The number of bars (0-200). 0 sets it to auto (fill up console). # The number of bars (0-200). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters. # Bars' width and space between bars in number of characters.
; bars = 0 bars = 0
bar_width = 3 bar_width = 3
; bar_spacing = 1 bar_spacing = 1
# bar_height is only used for output in "noritake" format # bar_height is only used for output in "noritake" format
; bar_height = 32 ; bar_height = 32
@ -127,32 +121,16 @@ channels = stereo
[color] [color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. gradient = 1
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
# if supported, ncurses mode will be forced on if user defined colors are used.
# default is to keep current terminal color
; background = default
; foreground = default
# SDL only support hex code colors, these are the default: gradient_color_1 = '#8BE9FD'
; background = '#111111' gradient_color_2 = '#9AEDFE'
; foreground = '#33cccc' gradient_color_3 = '#CAA9FA'
gradient_color_4 = '#BD93F9'
gradient_color_5 = '#FF92D0'
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported, gradient_color_6 = '#FF79C6'
# background must also be defined in hex or remain commented out. 1 = on, 0 = off. gradient_color_7 = '#FF6E67'
# You can define as many as 8 different colors. They range from bottom to top of screen gradient_color_8 = '#FF5555'
; gradient = 0
; gradient_count = 8
; gradient_color_1 = '#59cc33'
; gradient_color_2 = '#80cc33'
; gradient_color_3 = '#a6cc33'
; gradient_color_4 = '#cccc33'
; gradient_color_5 = '#cca633'
; gradient_color_6 = '#cc8033'
; gradient_color_7 = '#cc5933'
; gradient_color_8 = '#cc3333'

View file

@ -0,0 +1,11 @@
{
"interval" : 1000,
"caverImage" : "cmus",
"playIcon" : "play_icon_1",
"pauseIcon" : "pause_icon_2",
"partOneFormat" : "%title%",
"partTowFormat" : "from %album% by %artist%",
"sleepTime" : 300000,
"debug" : false,
"link" : false
}

View file

@ -0,0 +1,17 @@
debug: false
link: false
config_path: /home/anas/.config/cmus-rps-rs/config.conf
interval: 1
sleep: 300
part_one_format: %artist% - %title%
part_two_format: %album%
large_image: cmus
playing_image: play_icon_2
paused_image: pause_icon_2
large_text: cmus yoooo 
playing_text: Playing 
paused_text: Paused 
button_one_text: On github 😆
button_one_url: https://github.com/anas-elgarhy/cmus-rps-rs
button_two_text:
button_two_url:

221
.config/cmus/autosave Normal file
View file

@ -0,0 +1,221 @@
set aaa_mode=artist
set altformat_current= %F
set altformat_playlist= %f%= %d
set altformat_title=%f
set altformat_trackwin= %f%= %d
set auto_expand_albums_follow=true
set auto_expand_albums_search=true
set auto_expand_albums_selcur=true
set auto_reshuffle=true
set buffer_seconds=10
set color_cmdline_attr=default
set color_cmdline_bg=233
set color_cmdline_fg=188
set color_cur_sel_attr=default
set color_error=167
set color_info=186
set color_separator=107
set color_statusline_attr=default
set color_statusline_bg=237
set color_statusline_fg=145
set color_titleline_attr=default
set color_titleline_bg=186
set color_titleline_fg=237
set color_trackwin_album_attr=bold
set color_trackwin_album_bg=default
set color_trackwin_album_fg=default
set color_win_attr=default
set color_win_bg=233
set color_win_cur=183
set color_win_cur_attr=default
set color_win_cur_sel_attr=default
set color_win_cur_sel_bg=186
set color_win_cur_sel_fg=237
set color_win_dir=186
set color_win_fg=188
set color_win_inactive_cur_sel_attr=default
set color_win_inactive_cur_sel_bg=242
set color_win_inactive_cur_sel_fg=186
set color_win_inactive_sel_attr=default
set color_win_inactive_sel_bg=237
set color_win_inactive_sel_fg=145
set color_win_sel_attr=default
set color_win_sel_bg=254
set color_win_sel_fg=237
set color_win_title_attr=default
set color_win_title_bg=237
set color_win_title_fg=110
set confirm_run=true
set continue=true
set continue_album=true
set device=/dev/cdrom
set display_artist_sort_name=false
set dsp.alsa.device=
set dsp.ao.buffer_size=16384
set dsp.ao.device_interface=
set dsp.ao.driver=
set dsp.ao.wav_counter=1
set dsp.ao.wav_dir=/home/anas
set dsp.jack.resampling_quality=2
set dsp.jack.server_name=
set dsp.oss.device=
set follow=false
set format_clipped_text=…
set format_current= %a - %l -%3n. %t%= %y
set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? }
set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? }
set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle}
set format_title=%a - %l - %t (%y)
set format_trackwin=%3n. %t%= %y %d
set format_trackwin_album= %l %= %{albumduration}
set format_trackwin_va=%3n. %t (%a)%= %y %d
set format_treewin= %l
set format_treewin_artist=%a
set icecast_default_charset=UTF-8
set id3_default_charset=UTF-8
set input.aac.priority=50
set input.cdio.cddb_url=freedb.freedb.org:8880
set input.cdio.priority=50
set input.cue.priority=50
set input.ffmpeg.priority=30
set input.flac.priority=50
set input.mad.priority=55
set input.modplug.priority=50
set input.mpc.priority=50
set input.vorbis.priority=50
set input.wav.priority=50
set input.wavpack.priority=50
set lib_add_filter=
set lib_sort=albumartist date album discnumber tracknumber title filename play_count
set mixer.alsa.channel=
set mixer.alsa.device=
set mixer.oss.channel=PCM
set mixer.oss.device=
set mixer.pulse.restore_volume=1
set mouse=false
set mpris=true
set output_plugin=pulse
set passwd=
set pause_on_output_change=false
set pl_sort=
set play_library=true
set play_sorted=true
set repeat=true
set repeat_current=false
set replaygain=disabled
set replaygain_limit=true
set replaygain_preamp=0.000000
set resume=false
set rewind_offset=5
set scroll_offset=2
set set_term_title=true
set show_all_tracks=true
set show_current_bitrate=false
set show_hidden=false
set show_playback_position=true
set show_remaining_time=true
set shuffle=off
set skip_track_info=false
set smart_artist_sort=true
set softvol=false
set softvol_state=0 0
set start_view=tree
set status_display_program=
set stop_after_queue=false
set time_show_leading_zero=true
set tree_width_max=0
set tree_width_percent=33
set wrap_search=true
bind browser backspace browser-up
bind browser i toggle show_hidden
bind browser space win-activate
bind browser u win-update
bind common ! push shell
bind common + vol +10%
bind common , seek -1m
bind common - vol -10%
bind common . seek +1m
bind common / search-start
bind common 1 view tree
bind common 2 view sorted
bind common 3 view playlist
bind common 4 view queue
bind common 5 view browser
bind common 6 view filters
bind common 7 view settings
bind common = vol +10%
bind common ? search-b-start
bind common C toggle continue
bind common D win-remove
bind common E win-add-Q
bind common F push filter
bind common G win-bottom
bind common I echo {}
bind common L push live-filter
bind common M toggle play_library
bind common N search-prev
bind common P win-mv-before
bind common U win-update-cache
bind common [ vol +1% +0
bind common ] vol +0 +1%
bind common ^B win-page-up
bind common ^C echo Type :quit<enter> to exit cmus.
bind common ^D win-half-page-down
bind common ^E win-scroll-down
bind common ^F win-page-down
bind common ^L refresh
bind common ^R toggle repeat_current
bind common ^U win-half-page-up
bind common ^Y win-scroll-up
bind common a win-add-l
bind common b player-next
bind common c player-pause
bind common delete win-remove
bind common down win-down
bind common e win-add-q
bind common end win-bottom
bind common enter win-activate
bind common f toggle follow
bind common g win-top
bind common h seek -5
bind common home win-top
bind common i win-sel-cur
bind common j win-down
bind common k win-up
bind common l seek +5
bind common left seek -5
bind common m toggle aaa_mode
bind common mlb_click_bar player-pause
bind common mlb_click_selected win-activate
bind common mouse_scroll_down win-down
bind common mouse_scroll_down_bar seek -5
bind common mouse_scroll_down_title right-view
bind common mouse_scroll_up win-up
bind common mouse_scroll_up_bar seek +5
bind common mouse_scroll_up_title left-view
bind common n search-next
bind common o toggle play_sorted
bind common p win-mv-after
bind common page_down win-page-down
bind common page_up win-page-up
bind common q quit -i
bind common r toggle repeat
bind common right seek +5
bind common s toggle shuffle
bind common space win-toggle
bind common t toggle show_remaining_time
bind common tab win-next
bind common u update-cache
bind common up win-up
bind common v player-stop
bind common x player-play
bind common y win-add-p
bind common z player-prev
bind common { vol -1% -0
bind common } vol -0 -1%
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
fset mp3=filename="*.mp3"
fset ogg=filename="*.ogg"
fset ogg-or-mp3=ogg|mp3
fset unheard=play_count=0
factivate

View file

@ -0,0 +1,50 @@
[Commands]
1\Command=copyq: plugins.itempinned.pin()
1\Icon=\xf08d
1\InMenu=true
1\Input=!OUTPUT
1\InternalId=copyq_pinned_pin
1\Name=Pin
1\Output=application/x-copyq-item-pinned
2\Command=copyq: plugins.itempinned.unpin()
2\Icon=\xf08d
2\InMenu=true
2\Input=application/x-copyq-item-pinned
2\InternalId=copyq_pinned_unpin
2\Name=Unpin
3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
3\Icon=\xf02b
3\InMenu=true
3\InternalId=copyq_tags_tag:Important
3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
3\Name=Tag as \x201cImportant\x201d
4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
4\Icon=\xf02b
4\InMenu=true
4\InternalId=copyq_tags_untag:Important
4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
4\Name=Remove tag \x201cImportant\x201d
5\Command=copyq: plugins.itemtags.tag()
5\Icon=\xf02b
5\InMenu=true
5\InternalId=copyq_tags_tag
5\Name=Add a Tag
6\Command=copyq: plugins.itemtags.untag()
6\Icon=\xf02b
6\InMenu=true
6\Input=application/x-copyq-tags
6\InternalId=copyq_tags_untag
6\Name=Remove a Tag
7\Command=copyq: plugins.itemtags.clearTags()
7\Icon=\xf02b
7\InMenu=true
7\Input=application/x-copyq-tags
7\InternalId=copyq_tags_clear
7\Name=Clear all tags
8\Command=copyq: menu()
8\GlobalShortcut=meta+v
8\Icon=\xf01c
8\InternalId=copyq_global_menu
8\IsGlobalShortcut=true
8\Name=Show the tray menu
size=8

View file

@ -0,0 +1,2 @@
[General]
filter_history=@Invalid()

220
.config/copyq/copyq.conf Normal file
View file

@ -0,0 +1,220 @@
[General]
plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
[Options]
activate_closes=true
activate_focuses=true
activate_item_with_single_click=false
activate_pastes=true
always_on_top=true
autocompletion=true
autostart=false
change_clipboard_owner_delay_ms=150
check_clipboard=true
check_selection=false
clipboard_notification_lines=0
clipboard_tab=&clipboard
close_on_unfocus=true
close_on_unfocus_delay_ms=500
command_history_size=100
confirm_exit=true
copy_clipboard=false
copy_selection=false
disable_tray=false
edit_ctrl_return=true
editor=gedit --standalone -- %1
expire_tab=0
filter_case_insensitive=true
filter_regular_expression=false
hide_main_window=false
hide_main_window_in_task_bar=false
hide_tabs=false
hide_toolbar=false
hide_toolbar_labels=true
item_popup_interval=0
language=en
max_process_manager_rows=1000
maxitems=200
move=true
native_menu_bar=true
native_notifications=true
native_tray_menu=false
notification_horizontal_offset=10
notification_maximum_height=100
notification_maximum_width=300
notification_position=3
notification_vertical_offset=10
number_search=false
open_windows_on_current_screen=true
restore_geometry=true
row_index_from_one=true
run_selection=true
save_delay_ms_on_item_added=300000
save_delay_ms_on_item_edited=1000
save_delay_ms_on_item_modified=300000
save_delay_ms_on_item_moved=1800000
save_delay_ms_on_item_removed=600000
save_filter_history=false
save_on_app_deactivated=true
script_paste_delay_ms=250
show_advanced_command_settings=false
show_simple_items=false
show_tab_item_count=false
style=
tab_tree=false
tabs=&clipboard
text_tab_width=8
text_wrap=true
transparency=0
transparency_focused=0
tray_commands=true
tray_images=true
tray_item_paste=true
tray_items=5
tray_menu_open_on_left_click=false
tray_tab=
tray_tab_is_current=true
vi=true
window_key_press_time_ms=50
window_paste_with_ctrl_v_regex=
window_wait_after_raised_ms=50
window_wait_before_raise_ms=20
window_wait_for_modifier_released_ms=2000
window_wait_raised_ms=150
[Plugins]
itemencrypted\enabled=true
itemfakevim\enabled=true
itemimage\enabled=true
itemimage\image_editor=
itemimage\max_image_height=240
itemimage\max_image_width=320
itemimage\svg_editor=
itemnotes\enabled=true
itempinned\enabled=true
itemsync\enabled=true
itemtags\enabled=true
itemtext\default_style_sheet=
itemtext\enabled=true
itemtext\max_height=0
itemtext\max_lines=1000
itemtext\use_rich_text=true
[Shortcuts]
about=shift+f1
change_tab_icon=ctrl+shift+t
commands=f6
copy_selected_items=ctrl+c
delete_item=del
edit=f2
edit_notes=shift+f2
editor=ctrl+e
editor_background=
editor_bold=ctrl+b
editor_cancel=esc
editor_erase_style=
editor_font=
editor_foreground=
editor_italic=ctrl+i
editor_redo=ctrl+shift+z
editor_save=f2
editor_search=ctrl+f
editor_strikethrough=
editor_underline=ctrl+u
editor_undo=ctrl+z
exit=ctrl+q
export=ctrl+s
find_items=f3
help=f1
import=ctrl+i
item-menu=shift+f10
move_down=ctrl+down
move_to_bottom=ctrl+end
move_to_clipboard=
move_to_top=ctrl+home
move_up=ctrl+up
new=ctrl+n
new_tab=ctrl+t
next_tab=right
paste_selected_items=ctrl+v
preferences=ctrl+p
previous_tab=left
process_manager=ctrl+shift+z
remove_tab=ctrl+w
rename_tab=ctrl+f2
reverse_selected_items=ctrl+shift+r
show-log=f12
show_clipboard_content=ctrl+shift+c
show_item_content=f4
show_item_preview=f7
sort_selected_items=ctrl+shift+s
system-run=f5
toggle_clipboard_storing=ctrl+shift+x
[Tabs]
1\icon=
1\max_item_count=0
1\name=&clipboard
1\store_items=true
size=1
[Theme]
alt_bg=#21222c
alt_item_css=
bg=#282a36
css=
css_template_items=items
css_template_main_window=main_window
css_template_menu=menu
css_template_notification=notification
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=#282a36
edit_fg=#a4ffff
edit_font="Monospace,9,-1,5,50,0,0,0,0,0"
fg=#f8f8f2
find_bg="rgba(40,42,54,100)"
find_fg=#ffffa5
find_font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font_antialiasing=true
hover_item_css=
icon_size=20
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=#44475a
notes_css=
notes_fg=#d6acff
notes_font="Serif,10,-1,5,50,0,0,0,0,0"
notification_bg=#44475a
notification_fg=#f8f8f2
notification_font=
num_fg=#a4ffff
num_font="Monospace,7,-1,5,25,0,0,0,0,0"
num_margin=2
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=#44475a
sel_fg=#f8f8f2
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=true
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=true

View file

@ -0,0 +1,6 @@
[Options]
ConfigurationManager_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2k\0\0\0\xe4\0\0\x5\xbd\0\0\x3H\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G\0\0\0\0\0\0\0\0\a\x80\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G)
ConfigurationManager_geometry_1920x1080=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2k\0\0\0\xe4\0\0\x5\xbd\0\0\x3H\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G\0\0\0\0\0\0\0\0\a\x80\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G)
MainWindow_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37)
MainWindow_geometry_1920x1080=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37)
MainWindow_state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x3\0\0\0\0\0\0\0\0\xfc\x1\0\0\0\x1\xfb\0\0\0*\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0I\0t\0\x65\0m\0P\0r\0\x65\0v\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x43\0\xff\xff\xff\0\0\x3\xa5\0\0\x3\xf6\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x3\0\0\0\0\0\0\0\x1\0\0\0\x1c\0t\0o\0o\0l\0\x42\0\x61\0r\0T\0\x61\0\x62\0T\0r\0\x65\0\x65\x2\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0t\0o\0o\0l\0\x42\0\x61\0r\0T\0\x61\0\x62\0\x42\0\x61\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)

View file

@ -0,0 +1,3 @@
[TabWidget]
collapsed_tabs=@Invalid()
tab_item_counters=@Variant(\0\0\0\b\0\0\0\x1\0\0\0\x14\0&\0\x63\0l\0i\0p\0\x62\0o\0\x61\0r\0\x64\0\0\0\x2\0\0\0\xc8)

View file

@ -0,0 +1,59 @@
[General]
alt_bg=#21222c
alt_item_css=
bg=#282a36
css=
css_template_items=items
css_template_main_window=main_window
css_template_notification=notification
css_template_tooltip=tooltip
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=#282a36
edit_fg=#a4ffff
edit_font="Monospace,9,-1,5,50,0,0,0,0,0"
fg=#f8f8f2
find_bg="rgba(40,42,54,100)"
find_fg=#ffffa5
find_font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font_antialiasing=true
hover_item_css=
icon_size=20
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=#44475a
notes_css=
notes_fg=#d6acff
notes_font="Serif,10,-1,5,50,0,0,0,0,0"
notification_bg=#44475a
notification_fg=#f8f8f2
notification_font=
num_fg=#a4ffff
num_font="Monospace,7,-1,5,25,0,0,0,0,0"
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=#44475a
sel_fg=#f8f8f2
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=true
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=true

96
.config/doom/config.el Normal file
View file

@ -0,0 +1,96 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets. It is optional.
(setq user-full-name "Anas Elgarhy"
user-mail-address "anas.elgarhy.dev@gmail.com")
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `Load-theme' function. This is the default:
;doom-theme 'doom-xcode
;doom-theme 'doom-one
;doom-theme 'consult-theme
;doom-theme 'doom-henna
(setq doom-theme 'doom-dracula)
;; doom exposes five (optional) variables for controlling fonts in doom:
;;
;; - `doom-font' -- the primary font to use
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;; - `doom-unicode-font' -- for unicode glyphs
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
;;
;; see 'c-h v doom-font' for documentation and more examples of what they
;; accept. for example:
;;
;; (setq doom-font (font-spec :family "FiraCode Nerd Font" :size 12 :weight 'semi-light))
;; Defult directory
(setq default-directory "~")
;; Maps
(map! :ne "M-/" #'comment-or-uncomment-region)
;; (map! :ne "SPC / r" #'deadgrep)
;; (map! :ne "SPC n b" #'org-brain-visualize)
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type 'relative)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;
;; (after! PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will help you configure Doom.
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; accept completion from copilot and fallback to company
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)
:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)))
(global-wakatime-mode)

198
.config/doom/init.el Normal file
View file

@ -0,0 +1,198 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
(company ; the ultimate code completion backend
+tng ; a snazzy tab completion backend for Emacs
+auto ; as-you-type code completion
+childframe ; a nicer company UI (Emacs 26+ only)
)
helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
(ivy +fuzzy) ; a search engine for love and life
vertico ; the search engine of the future
:ui
deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:emacs
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:tools
;;ansible
biblio ; Writes a PhD for you (citation needed)
debugger ; FIXME stepping through code, to help you add bugs
direnv
docker
editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
(go +lsp) ; the hipster dialect
(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
yaml ; JSON, but readable
zig ; C, but simpler
:email
(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
calendar
emms
everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

58
.config/doom/packages.el Normal file
View file

@ -0,0 +1,58 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see radian-software/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
; GitHub Copilot
(package! copilot
:recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
; Wakatime
(package! wakatime-mode
:recipe (:host github :repo "wakatime/wakatime-mode" :files ("*.el")))

436
.config/dunst/dunstrc Normal file
View file

@ -0,0 +1,436 @@
# See dunst(5) for all configuration options
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = 300
# The maximum height of a single notification, excluding the frame.
height = 300
# Position the notification in the top right corner
origin = top-right
# Offset from the origin
offset = 10x50
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 0
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 15
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 10
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 0
# Defines color of the frame around the notification window.
frame_color = "#282a36"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = FiraCode Nerd Font 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "%s %p\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 0
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 64
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox-developer-edition -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = do_action, close_current
mouse_middle_click = open_url, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282a36"
foreground = "#6272a4"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#new_icon = /path/to/icon
[urgency_normal]
background = "#282a36"
foreground = "#bd93f9"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#new_icon = /path/to/icon
[urgency_critical]
background = "#ff5555"
foreground = "#f8f8f2"
frame_color = "#ff5555"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#new_icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# set_category
# timeout
# urgency
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# skip_display = true
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View file

@ -0,0 +1,177 @@
# fish completion for prx -*- shell-script -*-
function __prx_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __prx_perform_completion
__prx_debug "Starting __prx_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__prx_debug "args: $args"
__prx_debug "last arg: $lastArg"
# Disable ActiveHelp which is not supported for fish shell
set -l requestComp "PRX_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
__prx_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__prx_debug "Comps: $comps"
__prx_debug "DirectiveLine: $directiveLine"
__prx_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does two things:
# - Obtain the completions and store them in the global __prx_comp_results
# - Return false if file completion should be performed
function __prx_prepare_completions
__prx_debug ""
__prx_debug "========= starting completion logic =========="
# Start fresh
set --erase __prx_comp_results
set -l results (__prx_perform_completion)
__prx_debug "Completion results: $results"
if test -z "$results"
__prx_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $results[-1])
set --global __prx_comp_results $results[1..-2]
__prx_debug "Completions are: $__prx_comp_results"
__prx_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__prx_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__prx_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__prx_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__prx_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__prx_comp_results)
set --global __prx_comp_results $completions
__prx_debug "Filtered completions are: $__prx_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__prx_comp_results)
__prx_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__prx_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__prx_debug "Adding second completion to perform nospace directive"
set --global __prx_comp_results $split[1] $split[1].
__prx_debug "Completions are now: $__prx_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__prx_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "prx"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "prx " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c prx -e
# The call to __prx_prepare_completions will setup __prx_comp_results
# which provides the program's completion choices.
complete -c prx -n '__prx_prepare_completions' -f -a '$__prx_comp_results'

View file

@ -0,0 +1,203 @@
complete -c zellij -n "__fish_use_subcommand" -l max-panes -d 'Maximum panes on screen, caution: opening more panes will close old ones' -r
complete -c zellij -n "__fish_use_subcommand" -l data-dir -d 'Change where zellij looks for plugins' -r -F
complete -c zellij -n "__fish_use_subcommand" -l server -d 'Run server listening at the specified socket path' -r -F
complete -c zellij -n "__fish_use_subcommand" -s s -l session -d 'Specify name of a new session' -r
complete -c zellij -n "__fish_use_subcommand" -s l -l layout -d 'Name of a predefined layout inside the layout directory or the path to a layout file' -r -F
complete -c zellij -n "__fish_use_subcommand" -s c -l config -d 'Change where zellij looks for the configuration file' -r -F
complete -c zellij -n "__fish_use_subcommand" -l config-dir -d 'Change where zellij looks for the configuration directory' -r -F
complete -c zellij -n "__fish_use_subcommand" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_use_subcommand" -s V -l version -d 'Print version information'
complete -c zellij -n "__fish_use_subcommand" -s d -l debug -d 'Specify emitting additional debug information'
complete -c zellij -n "__fish_use_subcommand" -f -a "options" -d 'Change the behaviour of zellij'
complete -c zellij -n "__fish_use_subcommand" -f -a "setup" -d 'Setup zellij and check its configuration'
complete -c zellij -n "__fish_use_subcommand" -f -a "list-sessions" -d 'List active sessions'
complete -c zellij -n "__fish_use_subcommand" -f -a "attach" -d 'Attach to a session'
complete -c zellij -n "__fish_use_subcommand" -f -a "kill-session" -d 'Kill the specific session'
complete -c zellij -n "__fish_use_subcommand" -f -a "kill-all-sessions" -d 'Kill all sessions'
complete -c zellij -n "__fish_use_subcommand" -f -a "action" -d 'Send actions to a specific session'
complete -c zellij -n "__fish_use_subcommand" -f -a "run" -d 'Run a command in a new pane'
complete -c zellij -n "__fish_use_subcommand" -f -a "edit" -d 'Edit file with default $EDITOR / $VISUAL'
complete -c zellij -n "__fish_use_subcommand" -f -a "convert-config"
complete -c zellij -n "__fish_use_subcommand" -f -a "convert-layout"
complete -c zellij -n "__fish_use_subcommand" -f -a "convert-theme"
complete -c zellij -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c zellij -n "__fish_seen_subcommand_from options" -l simplified-ui -d 'Allow plugins to use a more simplified layout that is compatible with more fonts (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l theme -d 'Set the default theme' -r
complete -c zellij -n "__fish_seen_subcommand_from options" -l default-mode -d 'Set the default mode' -r -f -a "{normal In `Normal` mode, input is always written to the terminal, except for the shortcuts leading to other modes,locked In `Locked` mode, input is always written to the terminal and all shortcuts are disabled except the one leading back to normal mode,resize `Resize` mode allows resizing the different existing panes,pane `Pane` mode allows creating and closing panes, as well as moving between them,tab `Tab` mode allows creating and closing tabs, as well as moving between them,scroll `Scroll` mode allows scrolling up and down within a pane,enter-search `EnterSearch` mode allows for typing in the needle for a search in the scroll buffer of a pane,search `Search` mode allows for searching a term in a pane (superset of `Scroll`),rename-tab `RenameTab` mode allows assigning a new name to a tab,rename-pane `RenamePane` mode allows assigning a new name to a pane,session `Session` mode allows detaching sessions,move `Move` mode allows moving the different existing panes within a tab,prompt `Prompt` mode allows interacting with active prompts,tmux `Tmux` mode allows for basic tmux keybindings functionality}"
complete -c zellij -n "__fish_seen_subcommand_from options" -l default-shell -d 'Set the default shell' -r -F
complete -c zellij -n "__fish_seen_subcommand_from options" -l default-layout -d 'Set the default layout' -r -F
complete -c zellij -n "__fish_seen_subcommand_from options" -l layout-dir -d 'Set the layout_dir, defaults to subdirectory of config dir' -r -F
complete -c zellij -n "__fish_seen_subcommand_from options" -l theme-dir -d 'Set the theme_dir, defaults to subdirectory of config dir' -r -F
complete -c zellij -n "__fish_seen_subcommand_from options" -l mouse-mode -d 'Set the handling of mouse events (true or false) Can be temporarily bypassed by the [SHIFT] key' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l pane-frames -d 'Set display of the pane frames (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l mirror-session -d 'Mirror session when multiple users are connected (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l on-force-close -d 'Set behaviour on force close (quit or detach)' -r -f -a "{quit ,detach }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l scroll-buffer-size -r
complete -c zellij -n "__fish_seen_subcommand_from options" -l copy-command -d 'Switch to using a user supplied command for clipboard instead of OSC52' -r
complete -c zellij -n "__fish_seen_subcommand_from options" -l copy-clipboard -d 'OSC52 destination clipboard' -r -f -a "{system ,primary }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l copy-on-select -d 'Automatically copy when selecting text (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l scrollback-editor -d 'Explicit full path to open the scrollback editor (default is $EDITOR or $VISUAL)' -r -F
complete -c zellij -n "__fish_seen_subcommand_from options" -l session-name -d 'The name of the session to create when starting Zellij' -r
complete -c zellij -n "__fish_seen_subcommand_from options" -l attach-to-session -d 'Whether to attach to a session specified in "session-name" if it exists' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from options" -l disable-mouse-mode -d 'Disable handling of mouse events'
complete -c zellij -n "__fish_seen_subcommand_from options" -l no-pane-frames -d 'Disable display of pane frames'
complete -c zellij -n "__fish_seen_subcommand_from options" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from setup" -l dump-layout -d 'Dump the specified layout file to stdout' -r
complete -c zellij -n "__fish_seen_subcommand_from setup" -l dump-plugins -d 'Dump the builtin plugins to DIR or "DATA DIR" if unspecified' -r -F
complete -c zellij -n "__fish_seen_subcommand_from setup" -l generate-completion -d 'Generates completion for the specified shell' -r
complete -c zellij -n "__fish_seen_subcommand_from setup" -l generate-auto-start -d 'Generates auto-start script for the specified shell' -r
complete -c zellij -n "__fish_seen_subcommand_from setup" -l dump-config -d 'Dump the default configuration file to stdout'
complete -c zellij -n "__fish_seen_subcommand_from setup" -l clean -d 'Disables loading of configuration file at default location, loads the defaults that zellij ships with'
complete -c zellij -n "__fish_seen_subcommand_from setup" -l check -d 'Checks the configuration of zellij and displays currently used directories'
complete -c zellij -n "__fish_seen_subcommand_from setup" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from list-sessions" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from attach; and not __fish_seen_subcommand_from options; and not __fish_seen_subcommand_from help" -l index -d 'Number of the session index in the active sessions ordered creation date' -r
complete -c zellij -n "__fish_seen_subcommand_from attach; and not __fish_seen_subcommand_from options; and not __fish_seen_subcommand_from help" -s c -l create -d 'Create a session if one does not exist'
complete -c zellij -n "__fish_seen_subcommand_from attach; and not __fish_seen_subcommand_from options; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from attach; and not __fish_seen_subcommand_from options; and not __fish_seen_subcommand_from help" -f -a "options" -d 'Change the behaviour of zellij'
complete -c zellij -n "__fish_seen_subcommand_from attach; and not __fish_seen_subcommand_from options; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l simplified-ui -d 'Allow plugins to use a more simplified layout that is compatible with more fonts (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l theme -d 'Set the default theme' -r
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l default-mode -d 'Set the default mode' -r -f -a "{normal In `Normal` mode, input is always written to the terminal, except for the shortcuts leading to other modes,locked In `Locked` mode, input is always written to the terminal and all shortcuts are disabled except the one leading back to normal mode,resize `Resize` mode allows resizing the different existing panes,pane `Pane` mode allows creating and closing panes, as well as moving between them,tab `Tab` mode allows creating and closing tabs, as well as moving between them,scroll `Scroll` mode allows scrolling up and down within a pane,enter-search `EnterSearch` mode allows for typing in the needle for a search in the scroll buffer of a pane,search `Search` mode allows for searching a term in a pane (superset of `Scroll`),rename-tab `RenameTab` mode allows assigning a new name to a tab,rename-pane `RenamePane` mode allows assigning a new name to a pane,session `Session` mode allows detaching sessions,move `Move` mode allows moving the different existing panes within a tab,prompt `Prompt` mode allows interacting with active prompts,tmux `Tmux` mode allows for basic tmux keybindings functionality}"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l default-shell -d 'Set the default shell' -r -F
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l default-layout -d 'Set the default layout' -r -F
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l layout-dir -d 'Set the layout_dir, defaults to subdirectory of config dir' -r -F
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l theme-dir -d 'Set the theme_dir, defaults to subdirectory of config dir' -r -F
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l mouse-mode -d 'Set the handling of mouse events (true or false) Can be temporarily bypassed by the [SHIFT] key' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l pane-frames -d 'Set display of the pane frames (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l mirror-session -d 'Mirror session when multiple users are connected (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l on-force-close -d 'Set behaviour on force close (quit or detach)' -r -f -a "{quit ,detach }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l scroll-buffer-size -r
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l copy-command -d 'Switch to using a user supplied command for clipboard instead of OSC52' -r
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l copy-clipboard -d 'OSC52 destination clipboard' -r -f -a "{system ,primary }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l copy-on-select -d 'Automatically copy when selecting text (true or false)' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l scrollback-editor -d 'Explicit full path to open the scrollback editor (default is $EDITOR or $VISUAL)' -r -F
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l session-name -d 'The name of the session to create when starting Zellij' -r
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l attach-to-session -d 'Whether to attach to a session specified in "session-name" if it exists' -r -f -a "{true ,false }"
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l disable-mouse-mode -d 'Disable handling of mouse events'
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -l no-pane-frames -d 'Disable display of pane frames'
complete -c zellij -n "__fish_seen_subcommand_from attach; and __fish_seen_subcommand_from options" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from kill-session" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from kill-all-sessions" -s y -l yes -d 'Automatic yes to prompts'
complete -c zellij -n "__fish_seen_subcommand_from kill-all-sessions" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "write" -d 'Write bytes to the terminal'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "write-chars" -d 'Write characters to the terminal'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "resize" -d '[increase|decrease] the focused panes area at the [left|down|up|right] border'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "focus-next-pane" -d 'Change focus to the next pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "focus-previous-pane" -d 'Change focus to the previous pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "move-focus" -d 'Move the focused pane in the specified direction. [right|left|up|down]'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "move-focus-or-tab" -d 'Move focus to the pane or tab (if on screen edge) in the specified direction [right|left|up|down]'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "move-pane" -d 'Change the location of the focused pane in the specified direction [right|left|up|down]'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "dump-screen" -d 'Dump the focused pane to a file'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "edit-scrollback" -d 'Open the pane scrollback in your default editor'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "scroll-up" -d 'Scroll up in the focused pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "scroll-down" -d 'Scroll down in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "scroll-to-bottom" -d 'Scroll down to bottom in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "page-scroll-up" -d 'Scroll up one page in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "page-scroll-down" -d 'Scroll down one page in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "half-page-scroll-up" -d 'Scroll up half page in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "half-page-scroll-down" -d 'Scroll down half page in focus pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "toggle-fullscreen" -d 'Toggle between fullscreen focus pane and normal layout'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "toggle-pane-frames" -d 'Toggle frames around panes in the UI'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "toggle-active-sync-tab" -d 'Toggle between sending text commands to all panes on the current tab and normal mode'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "new-pane" -d 'Open a new pane in the specified direction [right|down] If no direction is specified, will try to use the biggest available space'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "edit" -d 'Open the specified file in a new zellij pane with your default EDITOR'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "switch-mode" -d 'Switch input mode of all connected clients [locked|pane|tab|resize|move|search|session]'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "toggle-pane-embed-or-floating" -d 'Embed focused pane if floating or float focused pane if embedded'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "toggle-floating-panes" -d 'Toggle the visibility of all fdirectionloating panes in the current Tab, open one if none exist'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "close-pane" -d 'Close the focused pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "rename-pane" -d 'Renames the focused pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "undo-rename-pane" -d 'Remove a previously set pane name'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "go-to-next-tab" -d 'Go to the next tab'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "go-to-previous-tab" -d 'Go to the previous tab'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "close-tab" -d 'Close the current tab'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "go-to-tab" -d 'Go to tab with index [index]'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "rename-tab" -d 'Renames the focused pane'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "undo-rename-tab" -d 'Remove a previously set tab name'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "new-tab" -d 'Create a new tab, optionally with a specified tab layout and name'
complete -c zellij -n "__fish_seen_subcommand_from action; and not __fish_seen_subcommand_from write; and not __fish_seen_subcommand_from write-chars; and not __fish_seen_subcommand_from resize; and not __fish_seen_subcommand_from focus-next-pane; and not __fish_seen_subcommand_from focus-previous-pane; and not __fish_seen_subcommand_from move-focus; and not __fish_seen_subcommand_from move-focus-or-tab; and not __fish_seen_subcommand_from move-pane; and not __fish_seen_subcommand_from dump-screen; and not __fish_seen_subcommand_from edit-scrollback; and not __fish_seen_subcommand_from scroll-up; and not __fish_seen_subcommand_from scroll-down; and not __fish_seen_subcommand_from scroll-to-bottom; and not __fish_seen_subcommand_from page-scroll-up; and not __fish_seen_subcommand_from page-scroll-down; and not __fish_seen_subcommand_from half-page-scroll-up; and not __fish_seen_subcommand_from half-page-scroll-down; and not __fish_seen_subcommand_from toggle-fullscreen; and not __fish_seen_subcommand_from toggle-pane-frames; and not __fish_seen_subcommand_from toggle-active-sync-tab; and not __fish_seen_subcommand_from new-pane; and not __fish_seen_subcommand_from edit; and not __fish_seen_subcommand_from switch-mode; and not __fish_seen_subcommand_from toggle-pane-embed-or-floating; and not __fish_seen_subcommand_from toggle-floating-panes; and not __fish_seen_subcommand_from close-pane; and not __fish_seen_subcommand_from rename-pane; and not __fish_seen_subcommand_from undo-rename-pane; and not __fish_seen_subcommand_from go-to-next-tab; and not __fish_seen_subcommand_from go-to-previous-tab; and not __fish_seen_subcommand_from close-tab; and not __fish_seen_subcommand_from go-to-tab; and not __fish_seen_subcommand_from rename-tab; and not __fish_seen_subcommand_from undo-rename-tab; and not __fish_seen_subcommand_from new-tab; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from write" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from write-chars" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from resize" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from focus-next-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from focus-previous-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from move-focus" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from move-focus-or-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from move-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from dump-screen" -s f -l full -d 'Dump the pane with full scrollback'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from dump-screen" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit-scrollback" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from scroll-up" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from scroll-down" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from scroll-to-bottom" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from page-scroll-up" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from page-scroll-down" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from half-page-scroll-up" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from half-page-scroll-down" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from toggle-fullscreen" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from toggle-pane-frames" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from toggle-active-sync-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s d -l direction -d 'Direction to open the new pane in' -r
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -l cwd -d 'Change the working directory of the new pane' -r -F
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s n -l name -d 'Name of the new pane' -r
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s f -l floating -d 'Open the new pane in floating mode'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s c -l close-on-exit -d 'Close the pane immediately when its command exits'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s s -l start-suspended -d 'Start the command suspended, only running it after the you first press ENTER'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit" -s d -l direction -d 'Direction to open the new pane in' -r
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit" -s l -l line-number -d 'Open the file in the specified line number' -r
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit" -l cwd -d 'Change the working directory of the editor' -r -F
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit" -s f -l floating -d 'Open the new pane in floating mode'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from edit" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from switch-mode" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from toggle-pane-embed-or-floating" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from toggle-floating-panes" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from close-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from rename-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from undo-rename-pane" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from go-to-next-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from go-to-previous-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from close-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from go-to-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from rename-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from undo-rename-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-tab" -s l -l layout -d 'Layout to use for the new tab' -r -F
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-tab" -s n -l name -d 'Name of the new tab' -r
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-tab" -s c -l cwd -d 'Change the working directory of the new tab' -r -F
complete -c zellij -n "__fish_seen_subcommand_from action; and __fish_seen_subcommand_from new-tab" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from run" -s d -l direction -d 'Direction to open the new pane in' -r
complete -c zellij -n "__fish_seen_subcommand_from run" -l cwd -d 'Change the working directory of the new pane' -r -F
complete -c zellij -n "__fish_seen_subcommand_from run" -s n -l name -d 'Name of the new pane' -r
complete -c zellij -n "__fish_seen_subcommand_from run" -s f -l floating -d 'Open the new pane in floating mode'
complete -c zellij -n "__fish_seen_subcommand_from run" -s c -l close-on-exit -d 'Close the pane immediately when its command exits'
complete -c zellij -n "__fish_seen_subcommand_from run" -s s -l start-suspended -d 'Start the command suspended, only running after you first presses ENTER'
complete -c zellij -n "__fish_seen_subcommand_from run" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from edit" -s l -l line-number -d 'Open the file in the specified line number' -r
complete -c zellij -n "__fish_seen_subcommand_from edit" -s d -l direction -d 'Direction to open the new pane in' -r
complete -c zellij -n "__fish_seen_subcommand_from edit" -l cwd -d 'Change the working directory of the editor' -r -F
complete -c zellij -n "__fish_seen_subcommand_from edit" -s f -l floating -d 'Open the new pane in floating mode'
complete -c zellij -n "__fish_seen_subcommand_from edit" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from convert-config" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from convert-layout" -s h -l help -d 'Print help information'
complete -c zellij -n "__fish_seen_subcommand_from convert-theme" -s h -l help -d 'Print help information'
function __fish_complete_sessions
zellij list-sessions 2>/dev/null
end
complete -c zellij -n "__fish_seen_subcommand_from attach" -f -a "(__fish_complete_sessions)" -d "Session"
complete -c zellij -n "__fish_seen_subcommand_from a" -f -a "(__fish_complete_sessions)" -d "Session"
complete -c zellij -n "__fish_seen_subcommand_from kill-session" -f -a "(__fish_complete_sessions)" -d "Session"
complete -c zellij -n "__fish_seen_subcommand_from k" -f -a "(__fish_complete_sessions)" -d "Session"
complete -c zellij -n "__fish_seen_subcommand_from setup" -l "generate-completion" -x -a "bash elvish fish zsh powershell" -d "Shell"
function zr
command zellij run --name "$argv" -- fish -c "$argv"
end
function zrf
command zellij run --name "$argv" --floating -- fish -c "$argv"
end
function ze
command zellij edit $argv
end
function zef
command zellij edit --floating $argv
end

View file

@ -0,0 +1,7 @@
# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Load Oh My Fish configuration.
source $OMF_PATH/init.fish

63
.config/fish/config.fish Normal file
View file

@ -0,0 +1,63 @@
### EXPORT ###
set fish_greeting # Supresses fish's intro message
set TERM "xterm-256color" # Sets the terminal type
set EDITOR "nvim" # $EDITOR use nvim in terminal
set VISUAL "neovide" # $VISUAL use neovide in GUI mode
source $HOME/.config/fish/completions/*
source $HOME/.config/fish/functions/functions.fish # Loads the functions file
source $HOME/.config/shell/aliases.sh # Loads the aliases file
clear
source $HOME/.config/nnn/config.sh
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export SDL_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"
### SET MANPAGER
### Uncomment only one of these!
### "bat" as manpager
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
### "vim" as manpager
# set -x MANPAGER '/bin/bash -c "vim -MRn -c \"set buftype=nofile showtabline=0 ft=man ts=8 nomod nolist norelativenumber nonu noma\" -c \"normal L\" -c \"nmap q :qa<CR>\"</dev/tty <(col -b)"'
### "nvim" as manpager
# set -x MANPAGER "nvim -c 'set ft=man' -"
if status is-interactive
# Commands to run in interactive sessions can go here
end
# Vi mode
function fish_user_key_bindings
# fish_default_key_bindings
fish_vi_key_bindings
end
### AUTOCOMPLETE AND HIGHLIGHT COLORS ###
set fish_color_normal brcyan
set fish_color_autosuggestion '#7d7d7d'
set fish_color_command brcyan
set fish_color_error '#ff6c6b'
set fish_color_param brcyan
### SETTING THE STARSHIP PROMPT ###
# starship init fish | source
# thefuck --alias | source
# pnpm
set -gx PNPM_HOME "/home/anas/.local/share/pnpm"
if not string match -q -- $PNPM_HOME $PATH
set -gx PATH "$PNPM_HOME" $PATH
end
# pnpm end
# Auto run
echo "Don't worry I'm here for you <3"
oh-my-posh init fish --config ~/.config/ohmyposh/1_shell.omp.json | source

View file

@ -0,0 +1,44 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR EDITOR:nvim
SETUVAR __fish_initialized:3400
SETUVAR fish_color_autosuggestion:\x237d7d7d
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:brcyan
SETUVAR fish_color_comment:6272A4
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:50FA7B
SETUVAR fish_color_error:\x23ff6c6b
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:\x1d
SETUVAR fish_color_keyword:\x1d
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
SETUVAR fish_color_normal:brcyan
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_option:\x1d
SETUVAR fish_color_param:brcyan
SETUVAR fish_color_quote:F1FA8C
SETUVAR fish_color_redirection:8BE9FD
SETUVAR fish_color_search_match:bryellow\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_background:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D
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_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_user_paths:/home/anas/\x2econfig/emacs/bin\x1e/usr/lib/jvm/default/bin\x1e/home/anas/\x2eemacs\x2ed/bin\x1e/snap/bin\x1e/home/anas/\x2elocal/bin\x1e/home/anas/Android/Sdk/platform\x2dtools\x1e/home/anas/\x2ecargo/bin\x1e/home/anas/\x2escripts

View file

@ -0,0 +1,30 @@
function fish_prompt --description 'Write out the prompt'
set -l last_status $status
set -l normal (set_color normal)
set -l status_color (set_color brgreen)
set -l cwd_color (set_color $fish_color_cwd)
set -l vcs_color (set_color brpurple)
set -l prompt_status ""
# Since we display the prompt on a new line allow the directory names to be longer.
set -q fish_prompt_pwd_dir_length
or set -lx fish_prompt_pwd_dir_length 0
# Color the prompt differently when we're root
set -l suffix ''
if functions -q fish_is_root_user; and fish_is_root_user
if set -q fish_color_cwd_root
set cwd_color (set_color $fish_color_cwd_root)
end
set suffix '#'
end
# Color the prompt in red on error
if test $last_status -ne 0
set status_color (set_color $fish_color_error)
set prompt_status $status_color "[" $last_status "]" $normal
end
echo -s (prompt_login) ' ' $cwd_color (prompt_pwd) $vcs_color (fish_vcs_prompt) $normal ' ' $prompt_status
echo -n -s $status_color $suffix ' ' $normal
end

View file

@ -0,0 +1,33 @@
source $HOME/.config/fish/functions/fish_wakatime.sh
function fish_prompt --description 'Write out the prompt'
set -l last_status $status
set -l normal (set_color normal)
set -l status_color (set_color brgreen)
set -l cwd_color (set_color $fish_color_cwd)
set -l vcs_color (set_color brpurple)
set -l prompt_status ""
# Since we display the prompt on a new line allow the directory names to be longer.
set -q fish_prompt_pwd_dir_length
or set -lx fish_prompt_pwd_dir_length 0
# Color the prompt differently when we're root
set -l suffix ''
if functions -q fish_is_root_user; and fish_is_root_user
if set -q fish_color_cwd_root
set cwd_color (set_color $fish_color_cwd_root)
end
set suffix '#'
end
# Color the prompt in red on error
if test $last_status -ne 0
set status_color (set_color $fish_color_error)
set prompt_status $status_color "[" $last_status "]" $normal
end
echo -s (prompt_login) ' ' $cwd_color (prompt_pwd) $vcs_color (fish_vcs_prompt) $normal ' ' $prompt_status
echo -n -s $status_color $suffix ' ' $normal
end

View file

@ -0,0 +1,22 @@
# wakatime for fish
#
# Add this to the fish_prompt function in
# ~/.config/fish/functions/fish_prompt.fish
# (or if it doesn't exist, create it).
# We've also included an example of how
# to determine the current project from the pwd.
# It'll only work without alterations if
# you happen to keep all your projects in
# ~/Sites/ on a Mac, but it's easy to modify
set -l project
if echo (pwd) | grep -qEi "^/Users/$USER/Sites/"
set project (echo (pwd) | sed "s#^/Users/$USER/Sites/\\([^/]*\\).*#\\1#")
else
set project "Terminal"
end
wakatime --write --plugin "fish-wakatime/0.0.1" --entity-type app --project "$project" --entity (echo $history[1] | cut -d ' ' -f1) 2>&1 > /dev/null&

View file

@ -0,0 +1,2 @@
source $HOME/.config/fish/functions/take_skip.fish
source $HOME/.config/fish/functions/history.fish

View file

@ -0,0 +1,28 @@
# Functions needed for !! and !$
function __history_previous_command
switch (commandline -t)
case "!"
commandline -t $history[1]; commandline -f repaint
case "*"
commandline -i !
end
end
function __history_previous_command_arguments
switch (commandline -t)
case "!"
commandline -t ""
commandline -f history-token-search-backward
case "*"
commandline -i '$'
end
end
# The bindings for !! and !$
if [ "$fish_key_bindings" = "fish_vi_key_bindings" ];
bind -Minsert ! __history_previous_command
bind -Minsert '$' __history_previous_command_arguments
else
bind ! __history_previous_command
bind '$' __history_previous_command_arguments
end

View file

@ -0,0 +1,13 @@
# Function for ignoring the first 'n' lines
# ex: seq 10 | skip 5
# results: prints everything but the first 5 lines
function skip --argument n
tail +(math 1 + $n)
end
# Function for taking the first 'n' lines
# ex: seq 10 | take 5
# results: prints only the first 5 lines
function take --argument number
head -$number
end

11
.config/kitty/kitty.conf Normal file
View file

@ -0,0 +1,11 @@
background #1d1f21
background_opacity 0.26
include themes/dracula.conf
font_family FiraCode Nerd Font
bold_font FiraCode Nerd Font Bold
italic_font FiraCode Nerd Font Italic
bold_italic_font FiraCode Nerd Font Bold Italic
font_size 16

View file

@ -0,0 +1,56 @@
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a
url_color #8be9fd
# black
color0 #21222c
color8 #6272a4
# red
color1 #ff5555
color9 #ff6e6e
# green
color2 #50fa7b
color10 #69ff94
# yellow
color3 #f1fa8c
color11 #ffffa5
# blue
color4 #bd93f9
color12 #d6acff
# magenta
color5 #ff79c6
color13 #ff92df
# cyan
color6 #8be9fd
color14 #a4ffff
# white
color7 #f8f8f2
color15 #ffffff
# Cursor colors
cursor #f8f8f2
cursor_text_color background
# Tab bar colors
active_tab_foreground #282a36
active_tab_background #f8f8f2
inactive_tab_foreground #282a36
inactive_tab_background #6272a4
# Marks
mark1_foreground #282a36
mark1_background #ff5555
# Splits/Windows
active_border_color #f8f8f2
inactive_border_color #6272a4

View file

@ -24,11 +24,11 @@ print_info() {
# info "GPU Driver" gpu_driver # Linux/macOS only # info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage # info "CPU Usage" cpu_usage
# info "Disk" disk info "Disk" disk
info "Battery" battery info "Battery" battery
# info "Font" font info "Font" font
# info "Song" song info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player" [[ "$player" ]] && prin "Music Player" "$player"
# info "Local IP" local_ip # info "Local IP" local_ip
# info "Public IP" public_ip # info "Public IP" public_ip
# info "Users" users # info "Users" users

2
.config/nnn/config.sh Normal file
View file

@ -0,0 +1,2 @@
export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)\$"

View file

@ -1,28 +0,0 @@
"languageserver": {
"ccls": {
"command": "ccls",
"filetypes": ["c", "cc", "cpp", "c++", "objc", "objcpp"],
"rootPatterns": [".ccls", "compile_commands.json", ".git/", ".hg/"],
"initializationOptions": {
"cache": {
"directory": "/tmp/ccls"
}
}
},
"bash": {
"command": "bash-language-server",
"args": ["start"],
"filetypes": ["sh"]
},
"arduino":{
"command":"/path/to/arduino-language-server",
"rootPatterns":["*.ino"],
"filetypes":["arduino"],
"args":["-cli", "/path/to/arduino-cli", "-clangd", "/path/to/clangd", "-cli-config", "/path/to/arduino-cli.yaml"]
},
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
}

View file

@ -1,69 +0,0 @@
set number
set relativenumber
set autoindent
set tabstop=4
set shiftwidth=4
set smarttab
set softtabstop=4
set encoding=UTF-8
set clipboard+=unnamedplus " Allow nvim to copy/paste from/to the clipboard"
syntax on " Enable syntax highlighting
set wildmode=longest,list,full " Enable autocompletion
" Install vim-plug if not already installed
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
echo "Downloading junegunn/vim-plug to manage plugins..."
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
autocmd VimEnter * PlugInstall
endif
" Plugins
call plug#begin()
Plug 'https://github.com/wakatime/vim-wakatime' " wakatime plugin
Plug 'https://github.com/github/copilot.vim' " Copilot
Plug 'https://github.com/vim-scripts/Gist.vim' " Gits plugin
Plug 'https://github.com/folke/todo-comments.nvim' " Highlight todo comments
Plug 'https://github.com/tpope/vim-surround' " Surround
Plug 'https://github.com/tpope/vim-commentary' " Commenting gcc &gc
Plug 'https://github.com/preservim/nerdtree' " File tree
Plug 'https://github.com/preservim/tagbar' " Tagbar
Plug 'https://github.com/terryma/vim-multiple-cursors' " Multiple cursors
Plug 'https://github.com/vim-airline/vim-airline' " Status bar theme
Plug 'https://github.com/nvim-lua/plenary.nvim' " Plenary
Plug 'https://github.com/nvim-telescope/telescope.nvim' " Finder
Plug 'https://github.com/tmux-plugins/vim-tmux' " Tmux plugin
call plug#end()
" NERDTree keybindings
nnoremap <C-f> :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-l> :call CocActionAsync('jumpDefinition')<CR>
" air-line
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
" airline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ' LN '
let g:airline_symbols.colnr = ' CN '
" Vim sence (discord) settings
let g:vimsence_small_text = 'NeoVim'
let g:vimsence_small_image = 'neovim'
let g:vimsence_editing_details = 'Editing: {}'
let g:vimsence_editing_state = 'Working on: {}'
let g:vimsence_file_explorer_text = 'In NERDTree'
let g:vimsence_file_explorer_details = 'Looking for files'
let g:vimsence_custom_icons = {'filetype': 'iconname'}

View file

@ -0,0 +1,18 @@
-- Just an example, supposed to be placed in /lua/custom/
local M = {}
-- make sure you maintain the structure of `core/default_config.lua` here,
-- example of changing theme:
M.ui = {
theme = "gruvchad",
}
local userPlugins = require "custom.plugins"
M.plugins = {
user = userPlugins
}
return M

View file

@ -0,0 +1,28 @@
-- example file i.e lua/custom/init.lua
-- MAPPINGS
vim.api.nvim_set_keymap("i", "<C-J>", 'copilot#Accept("<CR>")', { silent = true, expr = true })
-- Github copilot config
vim.g.copilot_no_tab_map = true
-- The setup config table shows all available config options with their default values:
require("presence"):setup({
-- General options
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
enable_line_number = false, -- Displays the current line number instead of the current project
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
-- Rich Presence text options
editing_text = "Playing with code 🤓", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
reading_text = "Reading some of the code 🥰", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
})

View file

@ -0,0 +1,11 @@
-- My plugins
return {
["wakatime/vim-wakatime"] = {},
["github/copilot.vim"] = {},
["andweeb/presence.nvim"] = {},
}

View file

@ -0,0 +1,113 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#ffbebc",
"leading_diamond": "<#ff70a6> \ue200 </>",
"properties": {
"display_host": true
},
"style": "diamond",
"template": "{{ .UserName }} <#ffffff>on</>",
"type": "session"
},
{
"foreground": "#bc93ff",
"properties": {
"time_format": "Monday <#ffffff>at</> 3:04 PM"
},
"style": "diamond",
"template": " {{ .CurrentDate | date .Format }} ",
"type": "time"
}
],
"type": "prompt"
},
{
"alignment": "right",
"segments": [
{
"foreground": "#a9ffb4",
"style": "plain",
"type": "text"
},
{
"foreground": "#a9ffb4",
"properties": {
"style": "dallas",
"threshold": 0
},
"style": "diamond",
"template": " {{ .FormattedMs }}s <#ffffff>\ue601</>",
"type": "executiontime"
},
{
"properties": {
"root_icon": "\uf292 "
},
"style": "diamond",
"template": " \uf0e7 ",
"type": "root"
},
{
"foreground": "#ee79d1",
"properties": {
"branch_icon": "\ue725 ",
"fetch_stash_count": true,
"fetch_status": true,
"fetch_upstream_icon": true,
"fetch_worktree_count": true
},
"style": "diamond",
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \uf692 {{ .StashCount }}{{ end }} ",
"type": "git"
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#ffafd2",
"leading_diamond": "<#00c7fc> \ue285 </><#ffafd2>{</>",
"properties": {
"folder_icon": "\uf07b",
"folder_separator_icon": "\uf9e0",
"home_icon": "home",
"style": "agnoster_full"
},
"style": "diamond",
"template": " \ue5ff {{ .Path }} ",
"trailing_diamond": "<#ffafd2>}</>",
"type": "path"
},
{
"foreground": "#A9FFB4",
"foreground_templates": [
"{{ if gt .Code 0 }}#ef5350{{ end }}"
],
"properties": {
"always_enabled": true
},
"style": "plain",
"template": " \ue286 ",
"type": "exit"
}
],
"type": "prompt"
}
],
"console_title_template": "{{ .Folder }}",
"transient_prompt": {
"background": "transparent",
"foreground": "#FEF5ED",
"template": "\ue285 "
},
"version": 2
}

View file

@ -1,3 +1,31 @@
########## GLX Backend ##########
backend = "glx";
glx-no-stencil = true;
###### Background-Blurring ######
blur-background = true;
blur-background-frame = true;
blur-background-fixed = true;
blur-method = "dual_kawase";
blur-strength = 3;
########## Rounded Corners ##########
# corner-radius = 18.0;
# detect-rounded-corners = true;
# rounded-corners-exclude = [
# "class_g = 'dwm'",
# ];
#### Transparency / Opacity #####
inactive-opacity = 0.77;
frame-opacity = 0.9;
inactive-opacity-override = true;
opacity-rule = [ opacity-rule = [
"80:class_g = 'Alacritty'", "70:class_g = 'Alacritty'",
"80:class_g = 'dwm'",
]; ];

286
.config/polybar/config.ini Normal file
View file

@ -0,0 +1,286 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; By: Anas Elgarhy: @anas-elgarhy, @anaselgarhy
;
;==========================================================
[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/example]
width = 100%
height = 20pt
radius = 6
; dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
border-size = 2pt
border-color = #00000000
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
font-0 = "FiraCode Nerd Font:size=13;0"
; https://github.com/polybar/polybar/wiki/Known-Issues#huge-emojis
font-1 = "NotoColorEmoji:scale=10;1"
modules-left = xworkspaces xwindow
modules-right = pulseaudio xkeyboard memory cpu backlight battery date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = right
; wm-restack = generic
wm-restack = bspwm
; wm-restack = i3
; override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/pulseaudio]
type = internal/pulseaudio
label-muted = 🔇 muted
label-muted-foreground = #666
; Only applies if <ramp-volume> is used
ramp-volume-0 = 🔈
ramp-volume-1 = 🔉
ramp-volume-2 = 🔊
; Right and Middle click
click-right = pavucontrol
format-volume-prefix-foreground = ${colors.primary}
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.primary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[module/backlight]
type = internal/backlight
; Use the following command to list available cards:
; $ ls -1 /sys/class/backlight/
card = nvidia_0
; Use the `/sys/class/backlight/.../actual-brightness` file
; rather than the regular `brightness` file.
; Defaults to true unless the specified card is an amdgpu backlight.
; New in version 3.6.0
use-actual-brightness = true
; Available tags:
; <label> (default)
; <ramp>
; <bar>
format = <ramp> <label>
; Available tokens:
; %percentage% (default)
label = %percentage%%
; Only applies if <ramp> is used
ramp-0 = 🌕
ramp-1 = 🌔
ramp-2 = 🌓
ramp-3 = 🌒
ramp-4 = 🌑
; Only applies if <bar> is used
bar-width = 10
bar-indicator = |
bar-fill =
bar-empty =
[module/battery]
type = internal/battery
; format-low once this charge percentage is reached
; Default: 10
; New in version 3.6.0
low-at = 20
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = ADP0
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 20
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <ramp-capacity> <label-full>
; Format used when battery level drops to low-at
; If not defined, format-discharging is used instead.
;format-low = <label-low> <animation-low>
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = " %percentage%%+"
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = " %percentage%%-"
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
label-full = " %percentage%%*"
; Available tokens:
; %percentage% (default) - is set to 100 if full-at is reached
; %percentage_raw%
; %time%
; %consumption% (shows current discharge rate in watts)
; New in version 3.6.0
label-low = " %percentage%%!"
; Only applies if <ramp-capacity> is used
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-3 =
ramp-capacity-4 =
; Only applies if <bar-capacity> is used
bar-capacity-width = 10
; Only applies if <animation-charging> is used
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-3 =
animation-charging-4 =
; Framerate in milliseconds
animation-charging-framerate = 750
; Only applies if <animation-discharging> is used
animation-discharging-0 =
animation-discharging-1 =
animation-discharging-2 =
animation-discharging-3 =
animation-discharging-4 =
; Framerate in milliseconds
animation-discharging-framerate = 500
; Only applies if <animation-low> is used
; New in version 3.6.0
animation-low-0 = !
animation-low-1 =
animation-low-framerate = 200
[module/date]
type = internal/date
interval = 1
date = %r
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[settings]
screenchange-reload = true
pseudo-transparency = true
; vim:ft=dosini

View file

@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
disabled_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
inactive_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a

32
.config/qt5ct/qt5ct.conf Normal file
View file

@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/home/anas/.config/qt5ct/colors/Dracula.conf
custom_palette=true
icon_theme=Dracula
standard_dialogs=default
style=Breeze
[Fonts]
fixed="Sans Serif,9,-1,5,50,0,0,0,0,0"
general="Sans Serif,9,-1,5,50,0,0,0,0,0"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\x4\x1f\0\0\x4\x37\0\0\0\x1\0\0\0\x17\0\0\x4\x1e\0\0\x4\x36\0\0\0\0\0\0\0\0\a\x80\0\0\0\x1\0\0\0\x17\0\0\x4\x1e\0\0\x4\x36)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

Binary file not shown.

285
.config/qtile/config.py Normal file
View file

@ -0,0 +1,285 @@
from libqtile import hook, qtile
from libqtile import bar, layout, widget
from libqtile.config import Click, Drag, Group, Key, Match, Screen, KeyChord
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal
mod = "mod4"
terminal = guess_terminal()
# def _change_bar_color(color: str):
# qtile.current_screen.bottom.background = color
# qtile.current_screen.bottom.draw()
#
#
# def _clear_bar_color():
# _change_bar_color("#00000000")
#
#
# def _restore_bar_color():
# _change_bar_color(bar_color)
#
#
# @hook.subscribe.setgroup
# @hook.subscribe.client_killed
# def on_setgroup_and_clinet_killed(c=None):
# if hasattr(qtile, "current_screen"):
# windows = len(qtile.current_group.windows)
# if (windows == 0) or (windows == 1 and c):
# _clear_bar_color()
# else:
# _restore_bar_color()
#
#
# @hook.subscribe.client_new
# def on_client_new(c):
# if hasattr(qtile, "current_screen"):
# if len(qtile.current_group.windows) > 0 or c:
# _restore_bar_color()
# else:
# _clear_bar_color()
keys = [
# A list of available commands that can be bound to keys can be found
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
# Switch between windows
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
# Move windows between left/right columns or move up/down in current stack.
# Moving out of range in Columns layout will create new column.
Key([mod, "shift"], "h", lazy.layout.shuffle_left(), desc="Move window to the left"),
Key([mod, "shift"], "l", lazy.layout.shuffle_right(), desc="Move window to the right"),
Key([mod, "shift"], "j", lazy.layout.shuffle_down(), desc="Move window down"),
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
# Grow windows. If current window is on the edge of screen and direction
# will be to screen edge - window would shrink.
Key([mod, "control"], "h", lazy.layout.grow_left(), desc="Grow window to the left"),
Key([mod, "control"], "l", lazy.layout.grow_right(), desc="Grow window to the right"),
Key([mod, "control"], "j", lazy.layout.grow_down(), desc="Grow window down"),
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
Key([mod], "b", lazy.hide_show_bar(), desc="Toggle bar"),
# Toggle between split and unsplit sides of stack.
# Split = all windows displayed
# Unsplit = 1 window displayed, like Max layout, but still with
# multiple stack panes
Key(
[mod, "shift"],
"Return",
lazy.layout.toggle_split(),
desc="Toggle between split and unsplit sides of stack",
),
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
# Toggle between different layouts as defined below
Key([mod, "shift"], "space", lazy.next_layout(), desc="Toggle between layouts"),
Key([mod], "Tab", lazy.screen.toggle_group(), desc="Move to the last visited group"),
# Kill focused window
KeyChord([mod], "q", [
Key([], "q", lazy.window.kill(), desc="Kill focused window")
]),
Key(["mod4"], "e", lazy.spawn("rofi -show emoji"), desc="Launch the emoji selector (rofi)"),
Key([mod], "space", lazy.widget["keyboardlayout"].next_keyboard(), desc="Next keyboard layout."),
Key([mod], "Print", lazy.spawn("spectacle"), desc="Launch screen shot tool (spectacle)"),
Key([mod], "d", lazy.spawn("rofi -show drun"), desc="Run rofi luancher"),
KeyChord([mod], "t", [
Key([], "a", lazy.spawn("alacritty"), desc="Launch alacritty terminal"),
Key([], "k", lazy.spawn("kitty"), desc="Launch kitty terminal")
]),
### Web browsers
KeyChord([mod], "w", [
Key([], "g", lazy.spawn("google-chrome-stable"), desc="Launch google-chrome-stable"),
Key([], "t", lazy.spawn("tor-browser"), desc="Lanuch tor-browser"),
Key([], "f", lazy.spawn("firfox"), desc="Lanuch firfox browser")
]),
### File browsers
KeyChord([mod], "f", [
Key([], "g", lazy.spawn("pcmanfm"), desc="Launch the GUI file manger (pcmanfm)"),
Key([], "t", lazy.spawn(terminal + " -e ranger"), desc="Launch the tui file manger(ranger) in the default terminal"),
Key([], "r", lazy.spawn("rofi -show filebrowser"), desc="Lanuch the rofi file browser")
]),
### Multi media apps
KeyChord([mod], "m", [
Key([], "c", lazy.spawn(terminal + " -e cmus"), desc="Launch cmus player"),
Key([], "v", lazy.spawn("vlc"), desc="Launch vlc")
]),
### Start the caht/email/\* apps
KeyChord([mod] , "c", [
Key([], "d", lazy.spawn("discord"), desc="Launch discord"),
Key([], "o", lazy.spawn("obsidian"), desc="Launch obsidian")
]),
### Start the dev apps
KeyChord([mod], "a", [
Key([], "j", lazy.spawn("jetbrains-toolbox"), desc="Lunch jetbrains-toolbox"),
Key([], "n", lazy.spawn(terminal + " -e nvim"), desc="Lunch neovim in the default terminal"),
Key([], "v", lazy.spawn(terminal + " -e vim"), desc="Lunch vim in the default terminal"),
Key([], "e", lazy.spawn("emacs"), desc="Lunch emacs")
]),
### Start personalize apps
KeyChord([mod], "p", [
Key([], "b", lazy.spawn("nitrogen"), desc="Lunch the background manger (nitrogen)"),
Key([], "n", lazy.spawn("nm-connection-editor"), desc="Lunch the network manager (nm-connection-editor)")
]),
### Controls keys
# Screen
Key([], "XF86MonBrightnessUp", lazy.spawn("xbacklight -inc 5")),
Key([], "XF86MonBrightnessDown", lazy.spawn("xbacklight -dec 5")),
# Sound
Key([], "XF86AudioRaiseVolume", lazy.spawn("pamixer --allow-boost -i 4")),
Key([], "XF86AudioLowerVolume", lazy.spawn("pamixer --allow-boost -d 4")),
Key([], "XF86AudioMute", lazy.spawn("pamixer -t"), desc="Toggle mute audio"),
# Mic
Key([], "XF86AudioMicMute", lazy.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle")),
# Players control
Key([], "XF86AudioPlay", lazy.spawn("playerctl play-pause")),
Key([], "XF86AudioStop", lazy.spawn("playerctl stop")),
Key([], "XF86AudioNext", lazy.spawn("playerctl next")),
Key([], "XF86AudioPrev", lazy.spawn("playerctl previous")),
Key([mod, "shift"], "x", lazy.spawn("betterlockscreen -l dim"), desc="Lock screen"),
Key([mod, "control"], "r", lazy.reload_config(), desc="Reload the config"),
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"),
]
groups = [Group(i) for i in "123456789."]
for i in groups:
keys.extend(
[
# mod1 + letter of group = switch to group
Key(
[mod],
i.name,
lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name),
),
# mod1 + shift + letter of group = switch to & move focused window to group
Key(
[mod, "shift"],
i.name,
lazy.window.togroup(i.name, switch_group=True),
desc="Switch to & move focused window to group {}".format(i.name),
),
# Or, use below if you prefer not to switch to that group.
# # mod1 + shift + letter of group = move focused window to group
# Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
# desc="move focused window to group {}".format(i.name)),
]
)
layouts = [
layout.Columns(border_focus_stack=["#d75f5f", "#8f3d3d"], border_width=1),
layout.Max(),
# Try more layouts by unleashing below layouts.
layout.Stack(num_stacks=2),
# layout.Bsp(),
# layout.Matrix(),
layout.MonadTall(),
layout.MonadWide(),
# layout.RatioTile(),
layout.Tile(),
# layout.TreeTab(),
# layout.VerticalTile(),
# layout.Zoomy(),
]
widget_defaults = dict(
font="sans",
fontsize=12,
padding=3,
)
extension_defaults = widget_defaults.copy()
screens = [
Screen(
bottom=bar.Bar(
[
widget.GroupBox(),
widget.CurrentLayout(),
widget.WindowCount(text_format="[{num}]"),
widget.Prompt(),
widget.Spacer(),
widget.WindowName(),
widget.Spacer(),
widget.Chord(
chords_colors={
"launch": ("#ff0000", "#ffffff"),
},
name_transform=lambda name: name.upper(),
),
widget.Systray(),
widget.CPU(),
widget.ThermalSensor(update_interval=2),
widget.TextBox("🔊"),
widget.Volume(emoji=False, volume_up_command="",
volume_down_command=""),
widget.Battery(format="🔋{char} {percent:2.0%}"),
widget.Backlight(backlight_name="nvidia_0", format="🌞{percent:2.0%}"),
widget.Clock(format="🗓️%Y-%m-%d %a 🕑%I:%M:%S %p"),
widget.KeyboardLayout(configured_keyboards=['us', 'ar']),
widget.QuickExit(),
],
24,
# border_width=[2, 0, 2, 0], # Draw top and bottom borders
# border_color=["ff00ff", "000000", "ff00ff", "000000"] # Borders are magenta
),
),
]
# Drag floating layouts.
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front()),
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: list
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(
float_rules=[
# Run the utility of `xprop` to see the wm class and name of an X client.
*layout.Floating.default_float_rules,
Match(wm_class="confirmreset"), # gitk
Match(wm_class="makebranch"), # gitk
Match(wm_class="maketag"), # gitk
Match(wm_class="ssh-askpass"), # ssh-askpass
Match(title="branchdialog"), # gitk
Match(title="pinentry"), # GPG key password entry
]
)
auto_fullscreen = True
focus_on_window_activation = "smart"
reconfigure_screens = True
# If things like steam games want to auto-minimize themselves when losing
# focus, should we respect this or not?
auto_minimize = True
# When using the Wayland backend, this can be used to configure input devices.
wl_input_rules = None
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"

6
.config/scripts/stickykeys.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
while true;
do
xkbset sticky -twokey -latchlock
sleep 600
done

56
.config/shell/aliases.sh Normal file
View file

@ -0,0 +1,56 @@
alias lsc='/usr/bin/ls --color=auto' # Default ls with colors
# alias ls='logo-ls -Dh' # Modern ls https://github.com/Yash-Handa/logo-ls
alias jls='jls -lh'
alias ls='jls'
alias neofetch='neofetch --kitty /mnt/Data/Personalize/Wallpapers --crop_mode fill --crop_offset center --xoffset 1 --yoffset 1'
alias nfe='neofetch'
# navigation
alias ~='cd ~'
alias .-='cd -'
alias cd..='cd ..'
alias ..='cd ..'
alias ...='cd ../..'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'
# Show the current path with (jpwd)
alias .='jpwd'
# Edit something
alias e="$EDITOR"
# Read the file
alias r='bat'
# Git
alias push='git push'
alias commit='git commit -S'
alias clone='git clone'
alias add='git add'
alias status='git status'
alias pull='git pull'
alias fetch='git fetch'
# Colorize grep output (good for log files)
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
# confirm before overwriting something
alias cp="cp -i"
alias mv='mv -i'
# alias rm='rm -i'
# Update
alias fuck-my-lap='sudo pacman -Syyu'
#youtube download
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
alias yta-best="yt-dlp --extract-audio --audio-format best "
alias yta-flac="yt-dlp --extract-audio --audio-format flac "
alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 "
alias ytv-best="yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "

View file

@ -0,0 +1,33 @@
export BROWSER='firefox-developer-edition'
# ls colors from https://github.com/body20002/nova/blob/main/nova.zsh-theme + *.jar and *.mp4, *.mkv from me :D
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.jar=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.mp4=01;35:*.mkv=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
# XDG
export XDG_CACHE_HOME=$HOME/.cache
export XDG_CONFIG_HOME=$HOME/.config
export XDG_DATA_HOME=$HOME/.local/share
export XDG_STATE_HOME=$HOME/.local/state
# Editor
export EDITOR='lvim'
export VISUAL="lvim"
export HISTCONTROL=ignoreboth:erasedups
export PAGER='bat'
export JAVA_HOME='/usr/lib/jvm/java-19-openjdk'
### PATH ###
# export PATH="$HOME/.local/bin:/usr/local/bin:/usr/bin:$PATH"
if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH"
fi
if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH"
fi
export PATH="$HOME/.local/share/bin:$PATH"
export PATH="$JAVA_HOME/bin:$HOME/.local/share/gem/ruby/3.0.0/bin:$HOME/Android/Sdk/platform-tools:$PATH"
export PATH="$HOME/.scripts:$PATH"
export PATH="$HOME/.config/emacs/bin:$HOME/.emacs.d/bin:$PATH"
export PATH="/snap/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"

25
.config/shell/setup.sh Normal file
View file

@ -0,0 +1,25 @@
PROMPT=ohmyposh
# Fix cava not showing bars
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en_US
LANG=en_US.UTF-8
# Enable the autojump
[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
# Setup the github-copilot-cli alias `??`
if command -v github-copilot-cli >/dev/null 2>&1; then
eval "$(github-copilot-cli alias -- "$0")"
fi
# The prompt
if command -v oh-my-posh >/dev/null 2>&1 && [[ $PROMPT == "ohmyposh" ]]; then
eval "$(oh-my-posh init $(basename $SHELL) --config ~/.config/ohmyposh/1_shell.omp.json)"
fi
if command -v starship >/dev/null 2>&1 && [[ $PROMPT == "starship" ]]; then
eval "$(starship init $(basename $SHELL))"
fi
# Auto run
echo "Don't worry I'm here for you <3"

26
.config/shell/utils.sh Normal file
View file

@ -0,0 +1,26 @@
# # ex = EXtractor for all kinds of archives
# # usage: ex <file>
ex ()
{
if [ -f "$1" ] ; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1";;
*.7z) 7z x "$1" ;;
*.deb) ar x "$1" ;;
*.tar.xz) tar xf "$1" ;;
*.tar.zst) tar xf "$1" ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}

176
.config/sxhkd/sxhkdrc Normal file
View file

@ -0,0 +1,176 @@
#################################################
# ███████╗██╗ ██╗██╗ ██╗██╗ ██╗██████╗ #
# ██╔════╝╚██╗██╔╝██║ ██║██║ ██╔╝██╔══██╗ #
# ███████╗ ╚███╔╝ ███████║█████╔╝ ██║ ██║ #
# ╚════██║ ██╔██╗ ██╔══██║██╔═██╗ ██║ ██║ #
# ███████║██╔╝ ██╗██║ ██║██║ ██╗██████╔╝ #
# ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ #
####################By: anas####################
##---------- Keybindings for bspwm ----------##
# Terminal (kitty)
super + Return
kitty
# Terminal (floating)
super + shift + Return
bspc rule -a kitty -o state=floating follow=on center=true rectangle=590x410+0+0 && kitty
# Open application menu
super + m
sh $HOME/.scripts/luncher
# Lockscreen
super + shift + x
betterlockscreen -l
##---------- Applications ----------##
# Lunchers (rofi, dmenu)
# dmenu
super + shift + d
$HOME/.scripts/run_dmenu
# Dev applications 3>
super + d; {j,v,l}
{jetbrains-toolbox,$TERMINAL -e nvim,$TERMINAL -e lvim}
# Tools
super + t; {p}
sh $HOME/.scripts/xcolor-pick
# Emoji picker
super + e
rofimoji --skin-tone light
# Web browsers
super + w; {f,c,t}
{firefox-developer-edition,google-chrome,tor-browser}
# Chat applications
super + c; {d,o}
{discord,obsidian}
# Personal applications
super + p; {b,n}
{nitrogen,nm-connection-editor}
##---------- System Keys ----------##
# Take a screenshot
Print
sh $HOME/.scripts/screenshot
# Take screenshot in a specific area
alt + Print
sh $HOME/.scripts/screenshot --region
# Take screenshot of active window
ctrl + Print
sh $HOME/.scripts/screenshot --activewindow
# Take screenshot of area and copy to clipboard
ctrl + alt + Print
sh $HOME/.scripts/screenshot --fullscreen --background --copy-image
# Manage brightness
XF86MonBrightness{Up,Down}
sh $HOME/.scripts/brightness {up,down}
# Manage Volume
XF86Audio{Raise,Lower}Volume
sh $HOME/.scripts/volume {up,down}
XF86AudioMute
sh $HOME/.scripts/volume mute
# Music control
XF86Audio{Next,Prev,Play,Stop}
playerctl {next,previous,play-pause,stop}
# Player control
alt + {F1,F2,F3}
playerctl {volume 0.0,volume 0.1-, volume 0.1+}
alt + {Left,Right}
playerctl {position 1-,position 1+}
# Mic mute
XF86AudioMicMute
sh $HOME/.scripts/toggle_mic
##---------- Bspwm ----------##
# Close App (super + alt + q)
super + {_, alt + }q
bspc node -{c,k}
# Reload Keybindings
super + Escape
pkill -USR1 -x sxhkd
# kill window
ctrl + alt + Escape
xkill
# Quit/Restart bspwm
ctrl + shift + {q,r}
bspc {quit,wm -r}
# Split horizontal, vertical or cancel
super + shift + {h,v,c}
bspc node -p {east,south,cancel}
# Preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# Fullscreen or Monocle
super + f
# bspc desktop -l next
bspc node -t "~"fullscreen
# Toggle beetwen floating & tiled
super + shift + s; {f, t, p}
bspc node -t "~"{floating,tiled,pseudo_tiled}
# Set the node flags
super + ctrl + {m,x,s,p}
bspc node -g {marked,locked,sticky,private}
# Send the window to another edge of the screen
super + {_,shift + }{Left,Down,Up,Right}
bspc node -{f,s} {west,south,north,east}
# Change focus to next window, including floating window
alt + {_,shift + }Tab
bspc node -f {next.local,prev.local}
# Switch workspace
super + ctrl + {Left,Right}
bspc desktop -f {prev.local,next.local}
# Switch to last opened workspace
super + {Tab,grave}
bspc {node,desktop} -f last
# Send focused window to another workspace
super + {_,shift + }{1-9, 0}
bspc {desktop -f,node -d} '^{1-9,10}'
# Expanding windows
super + control + {Left,Right,Up,Down}
bspc node -z {left -20 0,right 20 0,top 0 -20,bottom 0 20}
## Shrinking windows
super + alt + {Left,Right,Up,Down}
bspc node -z {left 20 0,right -20 0,top 0 20,bottom 0 -20}
## Move floating windows
alt + shift + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
##---------- EOF ----------##

274
.config/zellij/config.kdl Normal file
View file

@ -0,0 +1,274 @@
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
keybinds {
normal {
// uncomment this and adjust key if using copy_on_select=false
bind "Alt c" { Copy; }
}
locked {
bind "Ctrl g" { SwitchToMode "Normal"; }
}
resize {
bind "Ctrl 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 "Ctrl 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 "Ctrl h" { SwitchToMode "Normal"; }
bind "n" "Tab" { MovePane; }
bind "h" "Left" { MovePane "Left"; }
bind "j" "Down" { MovePane "Down"; }
bind "k" "Up" { MovePane "Up"; }
bind "l" "Right" { MovePane "Right"; }
}
tab {
bind "Ctrl 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 "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 "Ctrl s" { SwitchToMode "Normal"; }
bind "e" { EditScrollback; SwitchToMode "Normal"; }
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl 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 "Ctrl s" { SwitchToMode "Normal"; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl 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 "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
bind "Enter" { SwitchToMode "Search"; }
}
renametab {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
}
renamepane {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
}
session {
bind "Ctrl o" { SwitchToMode "Normal"; }
bind "Ctrl s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
}
tmux {
bind "[" { SwitchToMode "Scroll"; }
bind "Ctrl 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; }
}
shared_except "locked" {
bind "Ctrl g" { SwitchToMode "Locked"; }
bind "Ctrl q" { Quit; }
bind "Alt n" { NewPane; }
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"; }
}
shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
}
shared_except "pane" "locked" {
bind "Ctrl p" { SwitchToMode "Pane"; }
}
shared_except "resize" "locked" {
bind "Ctrl n" { SwitchToMode "Resize"; }
}
shared_except "scroll" "locked" {
bind "Ctrl s" { SwitchToMode "Scroll"; }
}
shared_except "session" "locked" {
bind "Ctrl o" { SwitchToMode "Session"; }
}
shared_except "tab" "locked" {
bind "Ctrl t" { SwitchToMode "Tab"; }
}
shared_except "move" "locked" {
bind "Ctrl h" { SwitchToMode "Move"; }
}
shared_except "tmux" "locked" {
bind "Ctrl b" { SwitchToMode "Tmux"; }
}
}
plugins {
tab-bar { path "tab-bar"; }
status-bar { path "status-bar"; }
strider { path "strider"; }
compact-bar { path "compact-bar"; }
}
// 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 "detach"
// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
//
simplified_ui false
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
//
pane_frames false
// Choose the theme that is specified in the themes section.
// Default: default
//
theme "dracula"
// 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.
mouse_mode true
// 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
scroll_buffer_size 100000
// 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 "system"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
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)
mirror_session false
// 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"
ui {
pane_frames {
rounded_corners true
}
}

View file

@ -0,0 +1,60 @@
// Catppuccin Theme:
// https://github.com/catppuccin/catppuccin
themes {
catppuccin-latte {
bg "#acb0be" // Surface2
fg "#acb0be" // Surface2
red "#d20f39"
green "#40a02b"
blue "#1e66f5"
yellow "#df8e1d"
magenta "#ea76cb" // Pink
orange "#fe640b" // Peach
cyan "#04a5e5" // Sky
black "#dce0e8" // Crust
white "#4c4f69" // Text
}
catppuccin-frappe {
bg "#626880" // Surface2
fg "#c6d0f5"
red "#e78284"
green "#a6d189"
blue "#8caaee"
yellow "#e5c890"
magenta "#f4b8e4" // Pink
orange "#ef9f76" // Peach
cyan "#99d1db" // Sky
black "#292c3c" // Mantle
white "#c6d0f5"
}
catppuccin-macchiato {
bg "#5b6078" // Surface2
fg "#cad3f5"
red "#ed8796"
green "#a6da95"
blue "#8aadf4"
yellow "#eed49f"
magenta "#f5bde6" // Pink
orange "#f5a97f" // Peach
cyan "#91d7e3" // Sky
black "#1e2030" // Mantle
white "#cad3f5"
}
catppuccin-mocha {
bg "#585b70" // Surface2
fg "#cdd6f4"
red "#f38ba8"
green "#a6e3a1"
blue "#89b4fa"
yellow "#f9e2af"
magenta "#f5c2e7" // Pink
orange "#fab387" // Peach
cyan "#89dceb" // Sky
black "#181825" // Mantle
white "#cdd6f4"
}
}

View file

@ -0,0 +1,17 @@
// From https://github.com/dracula/zellij
themes {
dracula {
fg 248 248 242
bg 40 42 54
black 0 0 0
red 255 85 85
green 80 250 123
yellow 241 250 140
blue 98 114 164
magenta 255 121 198
cyan 139 233 253
white 255 255 255
orange 255 184 108
}
}

View file

@ -0,0 +1,30 @@
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/gruvbox.kdl
themes {
gruvbox-light {
fg 60 56 54
bg 251 82 75
black 40 40 40
red 205 75 69
green 152 151 26
yellow 215 153 33
blue 69 133 136
magenta 177 98 134
cyan 104 157 106
white 213 196 161
orange 214 93 14
}
gruvbox-dark {
fg 213 196 161
bg 40 40 40
black 60 56 54
red 204 36 29
green 152 151 26
yellow 215 153 33
blue 69 133 136
magenta 177 98 134
cyan 104 157 106
white 251 241 199
orange 214 93 14
}
}

View file

@ -0,0 +1,16 @@
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/nord.kdl
themes {
nord {
fg 216 222 233 // #D8DEE9
bg 46 52 64 // #2E3440
black 59 66 82 // #3B4252
red 191 97 106 // #BF616A
green 163 190 140 // #A3BE8C
yellow 235 203 139 // #EBCB8B
blue 129 161 193 // #81A1C1
magenta 180 142 173 // #B48EAD
cyan 136 192 208 // #88C0D0
white 229 233 240 // #E5E9F0
orange 208 135 112 // #D08770
}
}

View file

@ -0,0 +1,58 @@
themes {
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/tokyo-night-dark.kdl
tokyo-night {
fg 169 177 214
bg 26 27 38
black 56 62 90
red 249 51 87
green 158 206 106
yellow 224 175 104
blue 122 162 247
magenta 187 154 247
cyan 42 195 222
white 192 202 245
orange 255 158 100
}
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/tokyo-night-dark.kdl
tokyo-night-dark {
fg 169 177 214
bg 26 27 38
black 56 62 90
red 249 51 87
green 158 206 106
yellow 224 175 104
blue 122 162 247
magenta 187 154 247
cyan 42 195 222
white 192 202 245
orange 255 158 100
}
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/tokyo-night-dark.kdl
tokyo-night-light {
fg 52 59 88
bg 213 214 219
black 15 15 20
red 186 75 96
green 72 94 48
yellow 143 94 21
blue 52 84 138
magenta 90 74 120
cyan 15 75 110
white 130 137 172
orange 150 80 39
}
// From: https://github.com/zellij-org/zellij/blob/main/example/themes/tokyo-night-dark.kdl
tokyo-night-storm {
fg 169 177 214
bg 36 40 59
black 56 62 90
red 249 51 87
green 158 206 106
yellow 224 175 104
blue 122 162 247
magenta 187 154 247
cyan 42 195 222
white 192 202 245
orange 255 158 100
}
}

60
.gitconfig Normal file
View file

@ -0,0 +1,60 @@
# INCLUDES
# --------
# Local/Private config goes in the include
[include]
path = ~/.gitconfig.local
# URL ALIASES
# -----------
# Alias for my mian account
[url "git@github.com:anas-elgarhy/"]
insteadOf = me://
# Alias for AUR
[url "ssh://aur@aur.archlinux.org/"]
insteadOf = aur://
# COLORS
# ------
# Dracula Dark Theme
[color]
ui = auto
[color "branch"]
current = cyan bold reverse
local = white
plain =
remote = cyan
[color "diff"]
commit =
func = cyan
plain =
whitespace = magenta reverse
meta = white
frag = cyan bold reverse
old = red
new = green
[color "grep"]
context =
filename =
function =
linenumber = white
match =
selected =
separator =
[color "interactive"]
error =
header =
help =
prompt =
[color "status"]
added = green
changed = yellow
header =
localBranch =
nobranch =
remoteBranch = cyan bold
unmerged = magenta bold reverse
untracked = red
updated = green bold
[user]
name = Anas Elgarhy
email = anas.elgarhy.dev@gmail.com
[core]
editor = lvim

View file

@ -24,7 +24,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- uses: yesolutions/mirror-action@master - uses: yesolutions/mirror-action@master
with: with:
REMOTE: 'https://anas_elgarhy@bitbucket.org/anas_elgarhy/dotfiles.git' REMOTE: 'https://anas-elgarhy@bitbucket.org/anas_elgarhy/dotfiles.git'
REMOTE_NAME: bitbucket REMOTE_NAME: bitbucket
GIT_USERNAME: anas_elgarhy GIT_USERNAME: anas_elgarhy
GIT_PASSWORD: ${{ secrets.BITBUCKET_TOKEN }} GIT_PASSWORD: ${{ secrets.BITBUCKET_TOKEN }}
@ -39,3 +39,14 @@ jobs:
REMOTE_NAME: codeberg REMOTE_NAME: codeberg
GIT_USERNAME: anas-elgarhy GIT_USERNAME: anas-elgarhy
GIT_PASSWORD: ${{ secrets.CODEBERG_TOKEN }} GIT_PASSWORD: ${{ secrets.CODEBERG_TOKEN }}
- name: mirror in git.disroot
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: yesolutions/mirror-action@master
with:
REMOTE: 'https://git.disroot.org/anas-elgarhy/dotfiles.git'
REMOTE_NAME: disroot
GIT_USERNAME: anas-elgarhy
GIT_PASSWORD: ${{ secrets.DISROOT_TOKEN }}

7
.mergify.yml Normal file
View file

@ -0,0 +1,7 @@
pull_request_rules:
- name: Automatic merge on approval
conditions:
- "#approved-reviews-by>=1"
actions:
merge:
method: merge

View file

@ -0,0 +1,36 @@
@-moz-document url(chrome://browser/content/browser.xhtml) {
/* tabs on bottom of window */
/* requires that you set
* toolkit.legacyUserProfileCustomizations.stylesheets = true
* in about:config
*/
#main-window body { flex-direction: column-reverse !important; }
#navigator-toolbox { flex-direction: column-reverse !important; }
#urlbar {
top: unset !important;
bottom: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
box-shadow: none !important;
display: flex !important;
flex-direction: column !important;
}
#urlbar-input-container {
order: 2;
}
#urlbar > .urlbarView {
order: 1;
border-bottom: 1px solid #666;
}
#urlbar-results {
display: flex;
flex-direction: column-reverse;
}
.search-one-offs { display: none !important; }
.tab-background { border-top: none !important; }
#navigator-toolbox::after { border: none; }
#TabsToolbar .tabbrowser-arrowscrollbox,
#tabbrowser-tabs, .tab-stack { min-height: 28px !important; }
.tabbrowser-tab { font-size: 80%; }
.tab-content { padding: 0 5px; }
.tab-close-button .toolbarbutton-icon { width: 12px !important; height: 12px !important; }
toolbox[inFullscreen=true] { display: none; }
}

1740
.p10k.zsh

File diff suppressed because it is too large Load diff

38
.xinitrc Normal file
View file

@ -0,0 +1,38 @@
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
[ -f /etc/xprofile ] && . /etc/xprofile
[ -f ~/.xprofile ] && . ~/.xprofile
exec archy-dwm 2> .logs/archy-dwm.err > .logs/archy-dwm.log

29
.xprofile Normal file
View file

@ -0,0 +1,29 @@
#!/bin/sh
export XIM=nabi
export XIM_ARGS=
export XIM_PROGRAM="nabi"
export XMODIFIERS="@im=nabi"
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
# gnupg keyring agent
# ensure it's started so SSH will work
# https://www.gnupg.org/faq/whats-new-in-2.1.html#autostart
dbus-update-activation-environment --systemd DISPLAY
gpgconf --launch gpg-agent
export "SSH_AUTH_SOCK=/run/user/$(id -u)/gnupg/S.gpg-agent.ssh"
# Keyboard layouts switch (requires setxkbmap)
setxkbmap -model pc104 -layout us,ara -variant dvorak-l, -option grp:win_space_toggle
# Start compositor , for transparency
picom &
# Restores the wallpaper
nitrogen --restore &
# Start the network manger
nm-applet &
# Start the clipboard manger
copyq &
# sticky keys script
stickykeys &

61
.zshrc
View file

@ -1,27 +1,25 @@
### EXPORT ### source "$HOME/.config/shell/public-env.sh"
export EDITOR='nvim' source "$HOME/.config/shell/aliases.sh"
export VISUAL='nvim' source "$HOME/.config/shell/utils.sh"
export TERMINAL='alacritty' source "$HOME/.config/shell/setup.sh"
export JAVA_HOME='/usr/lib/jvm/java-18-openjdk'
### PATH ###
export PATH="$java_home/bin:$PATH"
USE_POWERLINE="true" USE_POWERLINE="true"
setopt correct # Auto corect mistakes setopt correct # Auto corect mistakes
setopt nobeep # No beep setopt nobeep # No beep
setopt dvorak # Use the Dvorak keyboard instead of the standard qwerty keyboard
setopt correctall # Try to correct the spelling of all arguments in a line.
setopt aliases # Expand aliases
# Enable colors and change prompt: # Enable colors and change prompt:
autoload -U colors && colors autoload -U colors && colors
# PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
# PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.% " # PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.% "
# History in cache directory: # History in cache directory:
HISTSIZE=10000 HISTSIZE=1000000000
SAVEHIST=10000 SAVEHIST=1000000000
HISTFILE=~/.zsh_history HISTFILE=~/.shell_history
# Basic auto/tab complete: # Basic auto/tab complete:
autoload -U compinit autoload -U compinit
@ -35,18 +33,13 @@ zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache zstyle ':completion:*' cache-path ~/.zsh/cache
## Plugins section: Enable fish style features ## Plugins section:
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme # Enable fish style features
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Use syntax highlighting
# Initialization code that may require console input (password prompts, [y/n] source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# confirmations, etc.) must go above this block; everything else may go below. # Use history substring search
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Offer to install missing package if command is not found # Offer to install missing package if command is not found
@ -55,11 +48,6 @@ if [[ -r /usr/share/zsh/functions/command-not-found.zsh ]]; then
export PKGFILE_PROMPT_INSTALL_MISSING=1 export PKGFILE_PROMPT_INSTALL_MISSING=1
fi fi
# Use syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# Key bindings section # Key bindings section
# vi mode # vi mode
bindkey -v bindkey -v
@ -121,18 +109,3 @@ bindkey '^[[B' history-substring-search-down
# exec tmux # exec tmux
# fi # fi
# Aliases
alias clear='clear && ufetch'
alias cls='/usr/bin/clear'
alias ls='ls --color=auto'
alias JCmusIntegrationWithDiscord='java -jar /mnt/Work_files/JCmusIntegrationWithDiscord/out/artifacts/JCmusIntegrationWithDiscord_jar/JCmusIntegrationWithDiscord.jar'
alias cmus='JCmusIntegrationWithDiscord --link &>/dev/null & cmus'
# Fix cava not showing bars
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en_US
LANG=en_US.UTF-8
# Auto run
ufetch

View file

@ -1,42 +1,26 @@
# My configs 😃 ## Screenshots
### I use arch btw 🥰 ![](./Screenshots/zsh-neofetch-kitty-cmus-notify-v0.3.png)
![](./Screenshots/zsh-neofetch-kitty-cava-tty_clock-v0.3.png)
![](./Screenshots/zsh-kitty-v0.3.png)
```bash ## Ref
### Laptop stuff
* If u use a laptop like me and only use [yo-dwm][yo-dwm on github] or any other standalone WM u may notch that the touchpad doesn't work as you expect (like u can't perform the mouse button clicks with it), in this case, you need to configure the touchpad driver(and maybe download the driver itself). In most cases [libinput][libinput on arch wiki] is more than enough and it's installed by default with Xorg-server and Wayland, and this is what I'll go with. see [30-touchpad.conf](./etc/X11/xorg.conf.d/30-touchpad.conf), but you maybe want to use [synaptics][synaptics on arch wiki] instant if u want a specific feature that doesn't exist in libinput yet like the Circular scrolling
> I notch that the disable touchpad while typing option doesn't work with me when I trayd synaptics idk why but it works just fine with libinput
* When u use ur laptop as a daily driver then u may be concerned about the battery life (especially when u using a gaming laptop) and if ur laptop is from Lenovo like me u maybe used to have control over the charger to select a specific percentage for the battery and when the battery reaches it the laptop will stop the charging and it'll run on the charger only without taking anything from the battery and u save your battery life by reducing the charging cycles and the all is happy :D, so u can use [tlp][tlp on arch wiki] for this job and u can see(or steal) my configure from [tlp.conf](./etc/tlp.conf) which is just the default one with enabling the threshold mode to stop charging at 60%
-` anas@archLegion ### other
.o+` --------------- #### Browser
`ooo/ OS: Arch Linux x86_64 * If u want to put the tabs on the bottom of the window on Firefox then u have to move the [userChrome.css](./.mozilla/firefox/chrome/userChrome.css) file into ur Firefox user directory(u can find it in `~/.mozilla/firefox/`) in the `chrome` dir or create it if doesn't exist, and then u have to enable the `legacy user profile customizations stylesheets feature from [about:config](about:config)
`+oooo: Host: 81SX Legion Y540-15IRH
`+oooooo: Kernel: 5.17.5-zen1-1-zen
-+oooooo+: Uptime: 20 hours, 20 mins
`/:-:++oooo+: Packages: 1349 (pacman)
`/++++/+++++++: Shell: zsh 5.8.1
`/++++++++++++++: Resolution: 1920x1080 @ 144.00Hz
`/+++ooooooooooooo/` DE: Plasma 5.24.4
./ooosssso++osssssso+` WM: dwm
.oossssso-````/ossssss+` Theme: [Plasma], Breeze [GTK2/3]
-osssssso. :ssssssso. Icons: [Plasma], breeze [GTK2/3]
:osssssss/ osssso+++. Terminal: alacritty
/ossssssss/ +ssssooo/- CPU: Intel i7-9750H (12) @ 4.500GHz [53.0°C]
`/ossssso+/:- -:/+osssso+- GPU: NVIDIA GeForce GTX 1660 Ti Mobile
`+sso+:-` `.-/+oso: Memory: 5995MiB / 15917MiB (37%)
`++:. `-/+/ Battery0: 57% [Unknown]
.` `/
```
#### Index ## Also available on
- [/etc](./etc) * [GitLab](https://gitlab.com/Anas-Elgarhy/dotfiles)
- [.config](./.config) * [BitBucket](https://bitbucket.org/anas_elgarhy/dotfiles)
- [.zshrc](./.zshrc) my main shell * [Codeberg](https://codeberg.org/anas-elgarhy/dotfiles)
- [.tmux.conf](./.tmux.conf) * [Notabug](https://notabug.org/anas-elgarhy/dotfiles) not instant updated
* [disroot](https://git.disroot.org/anas-elgarhy/dotfiles)
[yo-dwm on github]: https://github.com/anas-elgarhy/yo-dwm
#### Screenshots [libinput on arch wiki]: https://wiki.archlinux.org/title/Libinput
![terminal and tmux and dwm and cava and cmus and zsh and ufetch and cmatrix](./Screenshots/1.png) [synaptics on arch wiki]: https://wiki.archlinux.org/title/Touchpad_Synaptics
![neovim with a java code](./Screenshots/2.png "NeoVim") [tlp on arch wiki]: https://wiki.archlinux.org/title/TLP
#### Also available on
- [GitLab](https://gitlab.com/Anas-Elgarhy/dotfiles)
- [BitBucket](https://bitbucket.org/anas_elgarhy/dotfiles)
- [Codeberg](https://codeberg.org/anas-elgarhy/dotfiles)
- [Notabug](https://notabug.org/anas-elgarhy/dotfiles) not instant updated

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

View file

@ -0,0 +1,12 @@
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "TappingButtonMap" "lrm"
Option "ClickMethod" "clickfinger"
Option "TappingDrag" "true"
Option "TappingDragLock" "true"
Option "NaturalScrolling" "false"
Option "DisableWhileTyping" "true"
EndSection

View file

@ -24,9 +24,7 @@
# tlp - Parameters for power saving # tlp - Parameters for power saving
# Set to 0 to disable, 1 to enable TLP. # Set to 0 to disable, 1 to enable TLP.
# Default: 1 TLP_ENABLE=1
#TLP_ENABLE=1
# Control how warnings about invalid settings are issued: # Control how warnings about invalid settings are issued:
# 0=disabled, # 0=disabled,
@ -39,15 +37,11 @@
# Operation mode when no power supply can be detected: AC, BAT. # Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only. # Concerns some desktop and embedded hardware only.
# Default: <none> TLP_DEFAULT_MODE=AC
#TLP_DEFAULT_MODE=AC
# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE # Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC. # Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
# Default: 0 TLP_PERSISTENT_DEFAULT=0
#TLP_PERSISTENT_DEFAULT=0
# Power supply classes to ignore when determining operation mode: AC, USB, BAT. # Power supply classes to ignore when determining operation mode: AC, USB, BAT.
# Separate multiple classes with spaces. # Separate multiple classes with spaces.
@ -58,10 +52,8 @@
# Seconds laptop mode has to wait after the disk goes idle before doing a sync. # Seconds laptop mode has to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode. # Non-zero value enables, zero disables laptop mode.
# Default: 0 (AC), 2 (BAT) DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
#DISK_IDLE_SECS_ON_AC=0
#DISK_IDLE_SECS_ON_BAT=2
# Dirty page values (timeouts in secs). # Dirty page values (timeouts in secs).
# Default: 15 (AC), 60 (BAT) # Default: 15 (AC), 60 (BAT)
@ -82,10 +74,8 @@
# and therefore kernel and most distributions have chosen them as defaults. # and therefore kernel and most distributions have chosen them as defaults.
# You should have done your research about advantages/disadvantages *before* # You should have done your research about advantages/disadvantages *before*
# changing the governor. # changing the governor.
# Default: <none> CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave
# Set the min/max frequency available for the scaling governor. # Set the min/max frequency available for the scaling governor.
# Possible values depend on your CPU. For available frequencies see # Possible values depend on your CPU. For available frequencies see
@ -131,26 +121,20 @@
# Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature: # Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
# 0=disable, 1=allow. # 0=disable, 1=allow.
# Note: a value of 1 does *not* activate boosting, it just allows it. # Note: a value of 1 does *not* activate boosting, it just allows it.
# Default: <none> CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0
# Set the Intel CPU HWP dynamic boost feature: # Set the Intel CPU HWP dynamic boost feature:
# 0=disable, 1=enable. # 0=disable, 1=enable.
# Requires intel_pstate scaling driver in 'active' mode and Intel Core i # Requires intel_pstate scaling driver in 'active' mode and Intel Core i
# 6th gen. or newer CPU. # 6th gen. or newer CPU.
# Default: <none> CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
#CPU_HWP_DYN_BOOST_ON_AC=1
#CPU_HWP_DYN_BOOST_ON_BAT=0
# Minimize number of used CPU cores/hyper-threads under light load conditions: # Minimize number of used CPU cores/hyper-threads under light load conditions:
# 0=disable, 1=enable. # 0=disable, 1=enable.
# Default: 0 (AC), 1 (BAT) SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
#SCHED_POWERSAVE_ON_AC=0
#SCHED_POWERSAVE_ON_BAT=1
# Kernel NMI Watchdog: # Kernel NMI Watchdog:
# 0=disable (default, saves power), 1=enable (for kernel debugging only). # 0=disable (default, saves power), 1=enable (for kernel debugging only).
@ -164,10 +148,8 @@
# thermal and fan speed. Values are given in order of increasing power saving. # thermal and fan speed. Values are given in order of increasing power saving.
# Note: check the output of tlp-stat -p to determine availability on your # Note: check the output of tlp-stat -p to determine availability on your
# hardware and additional profiles such as: balanced-performance, quiet, cool. # hardware and additional profiles such as: balanced-performance, quiet, cool.
# Default: <none> PLATFORM_PROFILE_ON_AC=balanced_performance
PLATFORM_PROFILE_ON_BAT=balance_power
#PLATFORM_PROFILE_ON_AC=performance
#PLATFORM_PROFILE_ON_BAT=low-power
# Define disk devices on which the following DISK/AHCI_RUNTIME parameters act. # Define disk devices on which the following DISK/AHCI_RUNTIME parameters act.
# Separate multiple devices with spaces. # Separate multiple devices with spaces.
@ -202,10 +184,8 @@
# See 'man hdparm' for details. # See 'man hdparm' for details.
# Separate values for multiple disks with spaces. Use the special value 'keep' # Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk. # to keep the hardware default for the particular disk.
# Default: <none> DISK_SPINDOWN_TIMEOUT_ON_AC="keep"
DISK_SPINDOWN_TIMEOUT_ON_BAT="keep"
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
# Select I/O scheduler for the disk devices. # Select I/O scheduler for the disk devices.
# Multi queue (blk-mq) schedulers: # Multi queue (blk-mq) schedulers:
@ -310,10 +290,8 @@
#RADEON_POWER_PROFILE_ON_BAT=default #RADEON_POWER_PROFILE_ON_BAT=default
# Wi-Fi power saving mode: on=enable, off=disable. # Wi-Fi power saving mode: on=enable, off=disable.
# Default: off (AC), on (BAT) WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off
#WIFI_PWR_ON_AC=off
#WIFI_PWR_ON_BAT=on
# Disable Wake-on-LAN: Y/N. # Disable Wake-on-LAN: Y/N.
# Default: Y # Default: Y
@ -324,10 +302,8 @@
# A value of 0 disables, >= 1 enables power saving. # A value of 0 disables, >= 1 enables power saving.
# Note: 1 is recommended for Linux desktop environments with PulseAudio, # Note: 1 is recommended for Linux desktop environments with PulseAudio,
# systems without PulseAudio may require 10. # systems without PulseAudio may require 10.
# Default: 1 SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=10
#SOUND_POWER_SAVE_ON_AC=1
#SOUND_POWER_SAVE_ON_BAT=1
# Disable controller too (HDA only): Y/N. # Disable controller too (HDA only): Y/N.
# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated. # Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
@ -376,9 +352,7 @@
#RUNTIME_PM_DISABLE="44:55.6" #RUNTIME_PM_DISABLE="44:55.6"
# Set to 0 to disable, 1 to enable USB autosuspend feature. # Set to 0 to disable, 1 to enable USB autosuspend feature.
# Default: 1 USB_AUTOSUSPEND=1
#USB_AUTOSUSPEND=1
# Exclude listed devices from USB autosuspend (separate with spaces). # Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids. # Use lsusb to get the ids.
@ -390,9 +364,7 @@
# Exclude audio devices from USB autosuspend: # Exclude audio devices from USB autosuspend:
# 0=do not exclude, 1=exclude. # 0=do not exclude, 1=exclude.
# Default: 1 USB_EXCLUDE_AUDIO=1
#USB_EXCLUDE_AUDIO=1
# Exclude bluetooth devices from USB autosuspend: # Exclude bluetooth devices from USB autosuspend:
# 0=do not exclude, 1=exclude. # 0=do not exclude, 1=exclude.
@ -402,9 +374,7 @@
# Exclude phone devices from USB autosuspend: # Exclude phone devices from USB autosuspend:
# 0=do not exclude, 1=exclude (enable charging). # 0=do not exclude, 1=exclude (enable charging).
# Default: 0 USB_EXCLUDE_PHONE=0
#USB_EXCLUDE_PHONE=0
# Exclude printers from USB autosuspend: # Exclude printers from USB autosuspend:
# 0=do not exclude, 1=exclude. # 0=do not exclude, 1=exclude.
@ -426,9 +396,7 @@
# Set to 1 to disable autosuspend before shutdown, 0 to do nothing # Set to 1 to disable autosuspend before shutdown, 0 to do nothing
# Note: use as a workaround for USB devices that cause shutdown problems. # Note: use as a workaround for USB devices that cause shutdown problems.
# Default: 0 # USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0
#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0
# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown # Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable. # on system startup: 0=disable, 1=enable.
@ -440,21 +408,15 @@
# Radio devices to disable on startup: bluetooth, nfc, wifi, wwan. # Radio devices to disable on startup: bluetooth, nfc, wifi, wwan.
# Separate multiple devices with spaces. # Separate multiple devices with spaces.
# Default: <none> DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"
# Radio devices to enable on startup: bluetooth, nfc, wifi, wwan. # Radio devices to enable on startup: bluetooth, nfc, wifi, wwan.
# Separate multiple devices with spaces. # Separate multiple devices with spaces.
# Default: <none> # DEVICES_TO_ENABLE_ON_STARTUP="wifi wwan"
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
# Radio devices to disable on shutdown: bluetooth, nfc, wifi, wwan. # Radio devices to disable on shutdown: bluetooth, nfc, wifi, wwan.
# Note: use as a workaround for devices that are blocking shutdown. # Note: use as a workaround for devices that are blocking shutdown.
# Default: <none> # DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth nfc wifi wwan"
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth nfc wifi wwan"
# Radio devices to enable on shutdown: bluetooth, nfc, wifi, wwan. # Radio devices to enable on shutdown: bluetooth, nfc, wifi, wwan.
# (to prevent other operating systems from missing radios). # (to prevent other operating systems from missing radios).
@ -496,8 +458,6 @@
# BAT0: Primary / Main / Internal battery (values in %) # BAT0: Primary / Main / Internal battery (values in %)
# Note: also use for batteries BATC, BATT and CMB0 # Note: also use for batteries BATC, BATT and CMB0
# Default: <none>
START_CHARGE_THRESH_BAT0=50 START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=1 STOP_CHARGE_THRESH_BAT0=1
@ -509,16 +469,12 @@ STOP_CHARGE_THRESH_BAT0=1
#STOP_CHARGE_THRESH_BAT1=80 #STOP_CHARGE_THRESH_BAT1=80
# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable. # Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
# Default: 0 RESTORE_THRESHOLDS_ON_BAT="1"
RESTORE_THRESHOLDS_ON_BAT="0"
# Control battery care drivers: 0=disable, 1=enable. # Control battery care drivers: 0=disable, 1=enable.
# Default: 1 (all) NATACPI_ENABLE=1
TPACPI_ENABLE=1
#NATACPI_ENABLE=1 TPSMAPI_ENABLE=1
#TPACPI_ENABLE=1
#TPSMAPI_ENABLE=1
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# tlp-rdw - Parameters for the radio device wizard # tlp-rdw - Parameters for the radio device wizard

1
etc/vconsole.conf Normal file
View file

@ -0,0 +1 @@
KEYMAP=dvorak-l

6
renovate.json Normal file
View file

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
]
}

49
scripts/installemojifont.sh Executable file
View file

@ -0,0 +1,49 @@
#!/bin/sh
set -e
if [[ $(id -u) -ne 0 ]] ; then echo "Please run as root" ; exit 1 ; fi
echo "Setting up Noto Emoji font..."
# 1 - install noto-fonts-emoji package
pacman -S noto-fonts-emoji --needed
# pacman -S powerline-fonts --needed
echo "Recommended system font: inconsolata regular (ttf-inconsolata or powerline-fonts)"
# 2 - add font config to /etc/fonts/conf.d/01-notosans.conf
echo "<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Mono</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
</fontconfig>
" > /etc/fonts/local.conf
# 3 - update font cache via fc-cache
fc-cache
echo "Noto Emoji Font installed! You may need to restart applications like chrome. If chrome displays no symbols or no letters, your default font contains emojis."
echo "consider inconsolata regular"