Compare commits

...

6 Commits

Author SHA1 Message Date
8d944cbb3a [Hypr] update 2025-08-04 02:29:31 +02:00
b08ef824ac [Resto] update 2025-08-04 02:29:22 +02:00
04ab323216 [Zellij] init 2025-08-04 02:28:41 +02:00
ca4806267c [Nvim] update 2025-08-04 02:27:47 +02:00
8d1ad42d68 [Kitty] update 2025-08-04 02:26:52 +02:00
ef8f839913 [Fish] update 2025-08-04 02:25:10 +02:00
29 changed files with 2675 additions and 612 deletions

View File

@@ -0,0 +1,17 @@
function __fish_pipx_complete
set -x _ARGCOMPLETE 1
set -x _ARGCOMPLETE_DFS \t
set -x _ARGCOMPLETE_IFS \n
set -x _ARGCOMPLETE_SUPPRESS_SPACE 1
set -x _ARGCOMPLETE_SHELL fish
set -x COMP_LINE (commandline -p)
set -x COMP_POINT (string length (commandline -cp))
set -x COMP_TYPE
if set -q _ARC_DEBUG
pipx 8>&1 9>&2 1>&9 2>&1
else
pipx 8>&1 9>&2 1>/dev/null 2>&1
end
end
complete --command pipx -f -a '(__fish_pipx_complete)'

View File

@@ -1,46 +1,31 @@
set -gx EDITOR nvim
set -gx PAGER less
# set -Ux BAT_THEME gruvbox
set -Ux MANPAGER "nvim +Man!"
# set -gx BAT_THEME "Catppuccin Mocha"
## functions
set -g fish_greeting
set -g fish_cursor_insert line
set -g fish_cursor_default block
set -g fish_cursor_visual underscore
set -g fish_user_key_bindings
set -g askllama
set -g ask
set -g sshf
set -g tuis
set -gx PNPM_HOME "/home/coja/.local/share/pnpm"
if not string match -q -- $PNPM_HOME $PATH
set -gx PATH "$PNPM_HOME" $PATH
end
#set -xU MANPAGER 'less -R --use-color -Dd+r -Du+b'
#set -xU MANROFFOPT '-P -c'
alias grep="grep --color=auto"
alias fzf="fzf --preview color='always {}'"
alias pacs="sudo pacman -Syu"
alias nmaps="sudo nmap -sn 192.168.0.0/24"
alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u"
alias kittyimg="kitten icat"
alias dmz="cat ~/.config/fish/dmz.txt"
alias xremaps="sudo xremap ~/.config/xremap/config.yml"
# alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf"
alias cdots="cd ~/.dotfiles/.config/"
alias dots="cd ~/.dotfiles/.config/ && nvim"
alias keybinds="cd ~/.dotfiles/.config/ && nvim ./hypr/keybindings.conf"
alias aliases="bat ~/.config/fish/config.fish"
alias notes="cd ~/sync/notes && nvim"
alias ipadd="sudo ip route add 192.168.0.1 dev wg0"
alias copy="wl-copy"
alias current="cd ~/projects/wingman/website/ && nvim"
alias matrix="~/projects/random-clones/matrix/matrix"
# List Directory
alias ls="lsd"
alias l="ls -l"
alias la="ls -a"
alias lla="ls -la"
alias lt="ls --tree"
# LLMs
alias codellamasrv=" ~/projects/llama.cpp/build/bin/llama-server -m ~/projects/llama.cpp/models/codellama"
alias llama3-web="~/projects/llama.cpp/build/bin/llama-server -m ~/projects/llama.cpp/models/llama3"
alias llama3=" ~/projects/llama.cpp/build/bin/llama-cli -m ~/projects/llama.cpp/models/llama3"
alias llama=" ~/projects/llama.cpp/build/bin/llama-run"
# Shorts
alias fzf="fzf --preview color='always {}'"
alias grep="grep --color=auto"
alias cat="vimcat"
# Git
alias gs="git status"
@@ -50,6 +35,34 @@ alias gl="git log --graph --show-signature"
alias gla="git log --all --decorate --oneline --graph"
alias gm="git merge"
# List Directory
alias ls="lsd"
alias l="ls -l"
alias la="ls -a"
alias lla="ls -la"
alias lt="ls --tree"
alias cdots="cd ~/.dotfiles/.config/"
alias cpnotes="cd ~/sync/PersonalNotes/"
abbr dots "cdots && nvim"
abbr pnotes "cpnotes && nvim"
abbr todo "cpnotes && nvim ToDo.md"
abbr copy "wl-copy"
abbr img "kitten icat"
abbr fm "yazi" ## file manager
abbr lg "lazygit"
abbr mkdir "mkdir -p"
abbr faillock "sudo faillock --reset"
abbr ipadd "sudo ip route add 192.168.0.234 dev wg0"
abbr xremaps "sudo xremap ~/.config/xremap/config.yml"
abbr pacs "sudo pacman -Syu"
abbr nmaps "sudo nmap -sn 192.168.0.0/24"
abbr scrcpyc 'scrcpy -wSK -m 1920 --window-borderless --always-on-top --power-off-on-close'
abbr scrcpys 'scrcpy -wS --power-off-on-close'
abbr aliases "bat ~/.config/fish/config.fish"
abbr tts "tt -notheme -bold -showwpm -json"
# Handy change dir shortcuts
abbr .. "cd .."
abbr ... "cd ../.."
@@ -57,13 +70,10 @@ abbr .3 "cd ../../.."
abbr .4 "cd ../../../.."
abbr .5 "cd ../../../../.."
# Always mkdir a path (this doesn't inhibit functionality to make a single dir)
abbr mkdir "mkdir -p"
abbr pwwa "~/projects/wingman/website/src/assets/"
abbr scrp "~/projects/scripts/"
zoxide init --cmd cd fish | source
export PATH="$HOME/.cargo/bin:$PATH"
# Created by `pipx` on 2025-05-31 20:14:06
set PATH $PATH /home/anon/.local/bin

View File

@@ -1,6 +1,5 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export BAT_THEME:gruvbox
SETUVAR --export EDITOR:nvim
SETUVAR --export MANPAGER:nvim\x20\x2bMan\x21
SETUVAR --export MANROFFOPT:\x2dP\x20\x2dc

View File

@@ -0,0 +1,3 @@
function askllama --description 'answer from llama'
~/projects/llama.cpp/build/bin/llama-run ~/projects/llama.cpp/models/llama3 $(string join '+' $argv[1..])
end

View File

@@ -0,0 +1,3 @@
function sshf --description 'fzf select for ssh hosts'
ssh $(grep Host -w .ssh/config | awk '{print $2}' | fzf)
end

View File

@@ -0,0 +1,3 @@
function tuis --description 'fzf select tui'
eval (string split "\n" (cat ".dotfiles/tuis.txt") | fzf)
end

View File

@@ -1,27 +1,21 @@
#! ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
#! █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
# See https://wiki.hyprland.org/Configuring/Animations/
# HyDE Controlled content // DO NOT EDIT
# Edit or add animations in the ./hypr/animations/ directory
# and run the 'animations.sh select' command to update this file
# animations {
# enabled = yes
# bezier = wind, 0.05, 0.9, 0.1, 1.05
# bezier = winIn, 0.1, 1.1, 0.1, 1.1
# bezier = winOut, 0.3, -0.3, 0, 1
# bezier = liner, 1, 1, 1, 1
# animation = windows, 1, 6, wind, slide
# animation = windowsIn, 1, 6, winIn, slide
# animation = windowsOut, 1, 5, winOut, slide
# animation = windowsMove, 1, 5, wind, slide
# animation = border, 1, 1, liner
# animation = borderangle, 1, 30, liner, loop
# animation = fade, 1, 10, default
# animation = workspaces, 1, 5, wind
# }
$ANIMATION=theme
$ANIMATION_PATH=~/.config/hypr/animations/theme.conf
animations {
enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}

View File

@@ -1,118 +1,153 @@
#!   ░▒▒▒░░░▓▓          ___________
#! ░░▒▒▒░░░░░▓▓        //___________/
#! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
#! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
#! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#!    ░▒▓▓   ▓▓  //____/
#?  HyDE's Hyprland Configuration 
# First, let's understand the structure of the configuration file
# It is divided into 3 sections: Boilerplate, Overrides, and Users
#* 1. Boilerplate
# - This section is for the default configuration of HyDE
# - It is recommended to not change this section
# - Filepath: $XDG_DATA_HOME/share/hyde/hyprland.conf
#* 2. Overrides
# - This section is for overriding the default configuration of HyDE
# - Change this section if you intended to:
# - Change the startup and env variables
# - Stop a app/service from starting
# - Override HyDE specific variables
# - Filepath: $XDG_CONFIG_HOME/hypr/hyde.conf
#* 3. Users
# - This section is for user configuration
# - It is recommended to change this section to your liking
# - Filepath: ./keybindings.conf, ./windowrules.conf, ./monitors.conf, ./userprefs.conf
#   ░▒▒▒░░░░░▓▓          ___________
# ░░▒▒▒░░░░░▓▓        //___________/
# ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
# ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#    ░▒▓▓   ▓▓  //____/
#?  Boilerplate 
source = ~/.local/share/hyde/hyprland.conf
$scrPath = $HOME/.local/share/bin # set scripts path
#?  Overrides 
# Overriding startup and env variables
# To avoid breaking and conflicts, HyDE will use variables to store the env and startup variables
# See ~/.config/hypr/hyde.conf for overriding the default env and startup variables
#* startup:
# - The startup variables are the variables that are set when the shell starts
# - $start.BAR=waybar will launch waybar on startup (default waybar)
# - $start.BAR= will unset the variable
# - $start.BAR=other_bar will launch other_bar on startup, overriding the default (waybar)
#* env:
# - The env variables are the variables that are set when the shell starts
# - $env.QT_QPA_PLATFORMTHEME= will unset the variable
# - $env.QT_QPA_PLATFORMTHEME=qt6ct will set the variable to qt6ct
# for updated configuration, see the https://github.com/HyDE-Project/HyDE/blob/master/Configs/.config/hypr/hyde.conf
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor = ,preferred,auto,auto
#?  Users 
# These files are for user configuration
# Edit the files to your liking
# Refer to https://wiki.hyprland.org
source = ./keybindings.conf # Keyboard shortcuts
source = ./windowrules.conf # Window rules
source = ./monitors.conf # Monitor configuration
source = ./userprefs.conf # Personal hyprland configuration
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# See https://wiki.hyprland.org/Configuring/Keywords/
exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
exec-once = waybar # launch the system bar
exec-once = blueman-applet # systray app for Bluetooth
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
exec-once = nm-applet --indicator # systray app for Network/Wifi
exec-once = dunst # start notification demon
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
exec-once = $scrPath/batterynotify.sh # battery notification
exec-once = xremap ~/.config/xremap/config.yml
exec-once = swayidle -w timeout 180 'swaylock --timestr %H:%M & brightnessctl -s & brightnessctl set 15' resume 'brightnessctl -r'
# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = PATH,$PATH:$scrPath
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
# See https://wiki.hyprland.org/Configuring/Variables/
#? █▀█ █▀▀ █▀▀ █▀▀ █▀█ █▀▀ █▄░█ █▀▀ █▀▀
#? █▀▄ ██▄ █▀░ ██▄ █▀▄ ██▄ █░▀█ █▄▄ ██▄
# keyremap
input {
kb_layout = us
# kb_options=caps:swapescape
# kb_options=caps:ctrl_modifier
# follow_mouse = 1
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
touchpad {
natural_scroll = no
}
force_no_accel = 0
sensitivity = +1.0
}
# See https://wiki.hyprland.org/Configuring/Keywords/#executing
device {
name = ps/2-generic-mouse
sensitivity = +1.0
middle_button_emulation = true
}
device {
name = synps/2-synaptics-touchpad
sensitivity = 0.1
}
device {
name = xremap
sensitivity = +1.0
}
# See https://wiki.hyprland.org/Configuring/Variables/
gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
}
#?  Reference 
# Configurations below are for reference ONLY
# They are not essential for HyDE to work but can be used to enhance QOL
# Copy the config line and paste it in the Users section to use it
# This is to prevent bloating users configuration files when not needed
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
# // █▀▀ █▄░█ █░█
# // ██▄ █░▀█ ▀▄▀
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/
# env = MANGOHUD,1
# env = MANGOHUD_DLSYM,1
dwindle {
pseudotile = yes
preserve_split = yes
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/
master {
new_status = master
}
# // █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# // █░█ ██▄ ░█ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
# bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
# bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
# See https://wiki.hyprland.org/Configuring/Variables/
misc {
vrr = 0
disable_hyprland_logo = true
disable_splash_rendering = true
force_default_wallpaper = 0
}
xwayland {
force_zero_scaling = true
}
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ ██ █▄█ █░▀█ █▄▄ █
# █▀ █▀█ █░█ ██ █▀▀ █▀▀
# ▄ ██ █▄█ █▀▄ █▄▄ ██
# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/themes/common.conf # shared theme settings
source = ~/.config/hypr/themes/theme.conf # theme specific settings
source = ~/.config/hypr/themes/colors.conf # wallbash color override
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static
# exec-once = libinput-gestures // install libinput-gestures
# exec-once = swayosd-server # enable swayosd service
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
# // █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# // ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# windowrulev2 = opacity 0.60 0.60,class:^(Steam)$
# windowrulev2 = opacity 0.60 0.60,class:^(steam)$
# windowrulev2 = opacity 0.60 0.60,class:^(steamwebhelper)$
# windowrulev2 = opacity 0.60 0.60,class:^(Spotify)$
# // █░█ █▀▄▀█
# // ▀▄▀ █░▀░█
# bind = Ctrl+Alt_L, V, submap, passthrough
# submap = passthrough
# bind = Ctrl+Alt_L, V, submap, reset
# submap = reset
# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults

View File

@@ -1,54 +1,107 @@
## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# see https://wiki.hyprland.org/configuring/keywords/ for more
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# Grouping of binds for easier management
# $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
# '$d' is a variable that is used to group binds together (or use another variable)
# This is only for organization purposes and is not a defined hyprland variable
# What we did here is to modify the Description of the binds to include the group name
# The $d will be parsed as a separate key to be use for a GUI or something pretty
# [Main|Subgroup1|Subgroup2|...]
# Main - The main groupname
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description
# See https://wiki.hyprland.org/Configuring/Keywords/
# & https://wiki.hyprland.org/Configuring/Binds/
# Main modifier
$mainMod = Super # super / meta / windows key
#*  Variables 
# Default if commented out
# $mainMod = Super # super / meta / windows key
# Assign apps
# $TERMINAL = kitty
# $EDITOR = code
# $EXPLORER = dolphin
# $BROWSER = firefox
$term = kitty # fish alacritty
$editor = neovide
$file = dolphin
$browser = librewolf
$yt = freetube
$notes = obsidian
$wm=Window Management
$d=[$wm]
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = $mainMod, Delete, $d kill hyprland session, exit
bindd = $mainMod, W, $d toggle float, togglefloating, #
bindd = $mainMod Shift, G, $d toggle group, togglegroup
bindd = Shift, F11, $d toggle fullscreen, fullscreen
bindd = Alt, Return, $d toggle fullscreen, fullscreen
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
bindd = Control Alt, W, $d toggle waybar and reload config, exec, killall waybar || waybar
# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster
# Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
bind = $mainMod, Delete, exit, # kill hyprland session
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
bind = $mainMod, L, exec, swaylock --timestr %H:%M # launch lock screen
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
$d=[$wm|Group Navigation]
bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b
bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f
# Application shortcuts
bind = $mainMod, T, exec, $term
bind = Ctrl+Alt, T, exec, $term # launch terminal emulator
bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh
bind = $mainMod+Shift, T, exec, st
bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, C, exec, $editor # launch text editor
bind = $mainMod, F, exec, $yt # launch yt alternative
bind = $mainMod, B, exec, $browser # launch web browser
bind = $mainMod, M, exec, $notes # launch notes app
bind = $mainMod, G, exec, gajim # launch messanger
bind = $mainMod, K, exec, keepassxc # launch password manager
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser
$d=[$wm|Change focus]
bindd = $mainMod, Left, $d focus left, movefocus, l
bindd = $mainMod, Right, $d focus right , movefocus, r
bindd = $mainMod, Up, $d focus up , movefocus, u
bindd = $mainMod, Down , $d focus down, movefocus, d
# Rofi menus
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer
# Audio control
# bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
# Media control
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioNext, exec, playerctl next # media next
bindl = , XF86AudioPrev, exec, playerctl previous # media previous
# Brightness control
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
# Move between grouped windows
# bind = $mainMod CTRL , H, changegroupactive, b
# bind = $mainMod CTRL , L, changegroupactive, f
# Screenshot/Screencapture
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
bind = $mainMod+Shift, P, exec, hyprpicker # colorpicker
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture
# Custom scripts
bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
# bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
# bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
# bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
# bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
# Move/Change window focus
bind = $mainMod, Left, movefocus, l #chage focus to left window
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d
bindd = $mainMod Control, Left, $d focus left, movefocus, l
bindd = $mainMod Control, Right, $d focus right , movefocus, r
bindd = $mainMod Control, Up, $d focus up , movefocus, u
@@ -67,17 +120,6 @@ bindd = Alt Control, k, $d focus up , movefocus, u
bindd = Alt Control, j , $d focus down, movefocus, d
bindd = Alt, Tab, $d focus , movefocus, d
$d=[$wm|Resize Active Window]
# Resize windows
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
$d=[$wm|Move active window across workspace]
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
@@ -90,161 +132,88 @@ bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindo
bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
# Move/Resize focused window
$d=[$wm|Move & Resize with mouse]
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
binddm = $mainMod, Z, $d hold to move window , movewindow
binddm = $mainMod, X, $d hold to resize window, resizewindow
# Switch workspaces with mod + [0-9]
bind = $mainMod, 1, workspace, r~1
bind = $mainMod, 2, workspace, r~2
bind = $mainMod, 3, workspace, r~3
bind = $mainMod, 4, workspace, r~4
bind = $mainMod, 5, workspace, r~5
bind = $mainMod, 6, workspace, r~6
bind = $mainMod, 7, workspace, r~7
bind = $mainMod, 8, workspace, r~8
bind = $mainMod, 9, workspace, r~9
bind = $mainMod, 0, workspace, r~10
# Move focused window to a workspace
bind = $mainMod+Ctrl, 1, movetoworkspace, r~1
bind = $mainMod+Ctrl, 2, movetoworkspace, r~2
bind = $mainMod+Ctrl, 3, movetoworkspace, r~3
bind = $mainMod+Ctrl, 4, movetoworkspace, r~4
bind = $mainMod+Ctrl, 5, movetoworkspace, r~5
bind = $mainMod+Ctrl, 6, movetoworkspace, r~6
bind = $mainMod+Ctrl, 7, movetoworkspace, r~7
bind = $mainMod+Ctrl, 8, movetoworkspace, r~8
bind = $mainMod+Ctrl, 9, movetoworkspace, r~9
bind = $mainMod+Ctrl, 0, movetoworkspace, r~10
# Move focused window to a workspace silently
bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1
bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2
bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3
bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4
bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5
bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6
bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7
bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8
bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9
bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10
# Move/Switch to special workspace (scratchpad)
bind = $mainMod+Alt, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,
# Toggle focused window split
$d=[$wm]
bindd = $mainMod, J, $d toggle split, togglesplit
$l=Launcher
$d=[$l|Apps]
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL
# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh
bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
bindd = $mainMod, C, $d text editor , exec, $EDITOR
bindd = $mainMod, B, $d web browser , exec, $BROWSER
bindd = $mainMod Shift, B, $d web browser , exec, librewolf
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh
bindd = $mainMod, F, $d web browser , exec, freetube
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
bindd = $mainMod, G, $d messanger, exec, gajim # launch messanger
# bindd = $mainMod, M, exec, $notes # launch notes app
# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
$d=[$l|Rofi menus]
$rofi-launch=$scrPath/rofilaunch.sh
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
$hc=Hardware Controls
$d=[$hc|Audio]
binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
$d=[$hc|Media]
binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next
binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous
$d=[$hc|Brightness]
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness
$ut=Utilities
$d=[$ut]
# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
$d=[$ut|Screen Capture]
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture
# TODO Make a main rofi menu for these selectors
$rice=Theming and Wallpaper
$d=[$rice]
bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
$ws=Workspaces
$d=[$ws|Navigation]
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, 1
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, 2
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, 3
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, 4
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, 5
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, 6
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, 7
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, 8
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, 9
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, 10
bind = $mainMod, J, togglesplit
$d=[$ws|Navigation|Relative workspace]
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1 # doesnt work
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1 # doesnt work
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1
$d=[$ws|Navigation]
bindd = $mainMod Control, Down, $d navigate to the nearest empty workspace , workspace, empty
# Resize windows
binde = $mainMod+Shift, Right, resizeactive, 30 0
binde = $mainMod+Shift, Left, resizeactive, -30 0
binde = $mainMod+Shift, Up, resizeactive, 0 -30
binde = $mainMod+Shift, Down, resizeactive, 0 30
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
# Move focused window to a workspace
$d=[$ws|Move window to workspace]
bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, 1
bindd = $mainMod Control, 2, $d move to worksCtrl2 , movetoworkspace, 2
bindd = $mainMod Control, 3, $d move to worksCtrl3 , movetoworkspace, 3
bindd = $mainMod Control, 4, $d move to worksCtrl4 , movetoworkspace, 4
bindd = $mainMod Control, 5, $d move to worksCtrl5 , movetoworkspace, 5
bindd = $mainMod Control, 6, $d move to worksCtrl6 , movetoworkspace, 6
bindd = $mainMod Control, 7, $d move to worksCtrl7 , movetoworkspace, 7
bindd = $mainMod Control, 8, $d move to worksCtrl8 , movetoworkspace, 8
bindd = $mainMod Control, 9, $d move to worksCtrl9 , movetoworkspace, 9
bindd = $mainMod Control, 0, $d move to worksCtrl10 , movetoworkspace, 10
# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it
# bind = $mainMod SHIFT, P, focusmonitor, +1
# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1
# Move focused window to a relative workspace
$d=[$ws]
bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1
bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
binded = $mainMod+Shift+Ctrl, left,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod+Shift+Ctrl, up,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
binded = $mainMod+Shift+Ctrl, down,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
binded = $mainMod+Shift+Ctrl, h,Move activewindow to the left,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod+Shift+Ctrl, k,Move activewindow to the up,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
binded = $mainMod+Shift+Ctrl, j,Move activewindow to the down,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
# Scroll through existing workspaces
$d=[$ws|Navigation]
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/Resize focused window
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod, Z, movewindow
bindm = $mainMod, X, resizewindow
# Move/Switch to special workspace (scratchpad)
$d=[$ws|Navigation|Special workspace]
bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace
# Move focused window to a workspace silently
$d=[$ws|Navigation|Move window silently]
bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, 1
bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, 2
bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, 3
bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, 4
bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, 5
bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, 6
bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, 7
bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, 8
bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, 9
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, 10
$d=#! unset the group name

View File

@@ -6,18 +6,23 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2
$mainScreen = HDMI-A-1
$mainScreen = eDP-1
$leftScreen = DP-2
$rightScreen = eDP-1
$rightScreen = HDMI-A-1
monitor = $mainScreen, 3840x2160@59.99, 0x0, 1.25 # main screen
# monitor = $mainScreen, 1920x1080@59.99, 0x0, 2 # main screen
# monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left
# monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right
monitor = $mainScreen, 1366x768@60.14, 0x0, 1 # main screen
monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left
monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right
# monitor=HDMI-A-1,1920x1080@60,-1366x0,1 # hdmi on left
# monitor=HDMI-A-1,1920x1080@60,0x-768,1 # hdmi on top
# monitor=DP-2,640x480@59.94Hz,0x0,1 # vga
# monitor = HDMI-A-1, 1366x768@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen
# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, HDMI-A-1 #main hdmi, lapscreen mirrors
# monitor = , preferred, auto, 1, mirror, DP-2 # dmz projector
# monitor = eDP-1, 1920x1080@60, auto , 1, mirror, DP-2 #mirror vga test
#Main Monitor
workspace = 1, monitor:$mainScreen, default:true
@@ -54,3 +59,4 @@ workspace = 27, monitor:$leftScreen
workspace = 28, monitor:$leftScreen
workspace = 29, monitor:$leftScreen
workspace = 30, monitor:$leftScreen

View File

@@ -1,111 +0,0 @@
# Autogenerated colors by wallbash
# This can be sourced in by any hyprlang configuration file
# Color group 1
$wallbash_pry1 = 1C0725 # primary color 1
$wallbash_txt1 = FFFFFF # text color 1
$wallbash_1xa1 = 452952 # accent color 1 for primary color 1
$wallbash_1xa2 = 5C3A6B # accent color 2 for primary color 1
$wallbash_1xa3 = 6E4B7D # accent color 3 for primary color 1
$wallbash_1xa4 = 7E578F # accent color 4 for primary color 1
$wallbash_1xa5 = 9165A3 # accent color 5 for primary color 1
$wallbash_1xa6 = AC7AC2 # accent color 6 for primary color 1
$wallbash_1xa7 = CF9AE6 # accent color 7 for primary color 1
$wallbash_1xa8 = DBAAF0 # accent color 8 for primary color 1
$wallbash_1xa9 = F0CCFF # accent color 9 for primary color 1
# in rgba format
$wallbash_pry1_rgba = rgba(28,7,37,0.95) # primary color 1
$wallbash_txt1_rgba = rgba(255,255,255,0.95) # text color 1
$wallbash_1xa1_rgba = rgba(69,41,82,0.95) # accent color 1 for primary color 1
$wallbash_1xa2_rgba = rgba(92,58,107,0.95) # accent color 2 for primary color 1
$wallbash_1xa3_rgba = rgba(110,75,125,0.95) # accent color 3 for primary color 1
$wallbash_1xa4_rgba = rgba(126,87,143,0.95) # accent color 4 for primary color 1
$wallbash_1xa5_rgba = rgba(145,101,163,0.95) # accent color 5 for primary color 1
$wallbash_1xa6_rgba = rgba(172,122,194,0.95) # accent color 6 for primary color 1
$wallbash_1xa7_rgba = rgba(207,154,230,0.95) # accent color 7 for primary color 1
$wallbash_1xa8_rgba = rgba(219,170,240,0.95) # accent color 8 for primary color 1
$wallbash_1xa9_rgba = rgba(240,204,255,0.95) # accent color 9 for primary color 1
# Color group 2
$wallbash_pry2 = 4A1442 # primary color 2
$wallbash_txt2 = FFFFFF # text color 2
$wallbash_2xa1 = 52294C # accent color 1 for primary color 2
$wallbash_2xa2 = 6B3A64 # accent color 2 for primary color 2
$wallbash_2xa3 = 7D4B76 # accent color 3 for primary color 2
$wallbash_2xa4 = 8F5787 # accent color 4 for primary color 2
$wallbash_2xa5 = A3659A # accent color 5 for primary color 2
$wallbash_2xa6 = C27AB7 # accent color 6 for primary color 2
$wallbash_2xa7 = E69ADA # accent color 7 for primary color 2
$wallbash_2xa8 = F0AAE5 # accent color 8 for primary color 2
$wallbash_2xa9 = FFCCF7 # accent color 9 for primary color 2
# in rgba format
$wallbash_pry2_rgba = rgba(74,20,66,0.95) # primary color 2
$wallbash_txt2_rgba = rgba(255,255,255,0.95) # text color 2
$wallbash_2xa1_rgba = rgba(82,41,76,0.95) # accent color 1 for primary color 2
$wallbash_2xa2_rgba = rgba(107,58,100,0.95) # accent color 2 for primary color 2
$wallbash_2xa3_rgba = rgba(125,75,118,0.95) # accent color 3 for primary color 2
$wallbash_2xa4_rgba = rgba(143,87,135,0.95) # accent color 4 for primary color 2
$wallbash_2xa5_rgba = rgba(163,101,154,0.95) # accent color 5 for primary color 2
$wallbash_2xa6_rgba = rgba(194,122,183,0.95) # accent color 6 for primary color 2
$wallbash_2xa7_rgba = rgba(230,154,218,0.95) # accent color 7 for primary color 2
$wallbash_2xa8_rgba = rgba(240,170,229,0.95) # accent color 8 for primary color 2
$wallbash_2xa9_rgba = rgba(255,204,247,0.95) # accent color 9 for primary color 2
# Color group 3
$wallbash_pry3 = 9154A0 # primary color 3
$wallbash_txt3 = FAFAFA # text color 3
$wallbash_3xa1 = 4A2952 # accent color 1 for primary color 3
$wallbash_3xa2 = 613A6B # accent color 2 for primary color 3
$wallbash_3xa3 = 734B7D # accent color 3 for primary color 3
$wallbash_3xa4 = 84578F # accent color 4 for primary color 3
$wallbash_3xa5 = 9765A3 # accent color 5 for primary color 3
$wallbash_3xa6 = B47AC2 # accent color 6 for primary color 3
$wallbash_3xa7 = D79AE6 # accent color 7 for primary color 3
$wallbash_3xa8 = E2AAF0 # accent color 8 for primary color 3
$wallbash_3xa9 = F5CCFF # accent color 9 for primary color 3
# in rgba format
$wallbash_pry3_rgba = rgba(145,84,160,0.95) # primary color 3
$wallbash_txt3_rgba = rgba(250,250,250,0.95) # text color 3
$wallbash_3xa1_rgba = rgba(74,41,82,0.95) # accent color 1 for primary color 3
$wallbash_3xa2_rgba = rgba(97,58,107,0.95) # accent color 2 for primary color 3
$wallbash_3xa3_rgba = rgba(115,75,125,0.95) # accent color 3 for primary color 3
$wallbash_3xa4_rgba = rgba(132,87,143,0.95) # accent color 4 for primary color 3
$wallbash_3xa5_rgba = rgba(151,101,163,0.95) # accent color 5 for primary color 3
$wallbash_3xa6_rgba = rgba(180,122,194,0.95) # accent color 6 for primary color 3
$wallbash_3xa7_rgba = rgba(215,154,230,0.95) # accent color 7 for primary color 3
$wallbash_3xa8_rgba = rgba(226,170,240,0.95) # accent color 8 for primary color 3
$wallbash_3xa9_rgba = rgba(245,204,255,0.95) # accent color 9 for primary color 3
# Color group 4
$wallbash_pry4 = ECE8BB # primary color 4
$wallbash_txt4 = 070707 # text color 4
$wallbash_4xa1 = 524E29 # accent color 1 for primary color 4
$wallbash_4xa2 = 6B673A # accent color 2 for primary color 4
$wallbash_4xa3 = 7D794B # accent color 3 for primary color 4
$wallbash_4xa4 = 8F8A57 # accent color 4 for primary color 4
$wallbash_4xa5 = A39E65 # accent color 5 for primary color 4
$wallbash_4xa6 = C2BC7A # accent color 6 for primary color 4
$wallbash_4xa7 = E6DF9A # accent color 7 for primary color 4
$wallbash_4xa8 = F0EAAA # accent color 8 for primary color 4
$wallbash_4xa9 = FFFBCC # accent color 9 for primary color 4
# in rgba format
$wallbash_pry4_rgba = rgba(236,232,187,0.95) # primary color 4
$wallbash_txt4_rgba = rgba(7,7,7,0.95) # text color 4
$wallbash_4xa1_rgba = rgba(82,78,41,0.95) # accent color 1 for primary color 4
$wallbash_4xa2_rgba = rgba(107,103,58,0.95) # accent color 2 for primary color 4
$wallbash_4xa3_rgba = rgba(125,121,75,0.95) # accent color 3 for primary color 4
$wallbash_4xa4_rgba = rgba(143,138,87,0.95) # accent color 4 for primary color 4
$wallbash_4xa5_rgba = rgba(163,158,101,0.95) # accent color 5 for primary color 4
$wallbash_4xa6_rgba = rgba(194,188,122,0.95) # accent color 6 for primary color 4
$wallbash_4xa7_rgba = rgba(230,223,154,0.95) # accent color 7 for primary color 4
$wallbash_4xa8_rgba = rgba(240,234,170,0.95) # accent color 8 for primary color 4
$wallbash_4xa9_rgba = rgba(255,251,204,0.95) # accent color 9 for primary color 4

View File

@@ -0,0 +1,28 @@
# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
exec = hyprctl setcursor Bibata-Modern-Ice 20
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
exec = gsettings set org.gnome.desktop.interface cursor-size 20
# █▀▀ █▀█ █▄░█ ▀█▀
# █▀░ █▄█ █░▀█ ░█░
exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄
decoration {
dim_special = 0.3
blur {
special = true
}
}

View File

@@ -1,12 +1,6 @@
#  // P̳r̳a̳s̳a̳n̳t̳h̳ R̳a̳n̳g̳a̳n̳
$GTK_THEME=Catppuccin-Mocha
$ICON_THEME = Tela-circle-dracula
$COLOR_SCHEME = prefer-dark
# Optional: The varibles above will be set automatically when the theme is loaded
# This exec commands will soon be deprecated
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
general {
gaps_in = 2 #3
@@ -26,9 +20,8 @@ group {
}
decoration {
rounding = 6 #10
shadow:enabled = false
rounding = 4 #10
# drop_shadow = true #false
blur {
enabled = yes
size = 6

View File

@@ -3,23 +3,66 @@
# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█
# Set your personal hyprland configuration here
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2
#
########################
# // █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# // █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀
# █▀▀ █▄█ █░█
# ██▄ █░▀█ ▀▄▀
exec-once = xremap ~/.config/xremap/config.yml # enable xremap service
exec-once = ferdium
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket # ssh on start
env = WLR_DRM_NO_ATOMIC,1 # electron flickering
env = ELECTRON_OZONE_PLATFORM_HINT,x11 # Disable after hyprland fixes electron flickering
# env = MANGOHUD,1
# env = MANGOHUD_DLSYM,1
# I know there is like two 'solutions' already, so have third one - (tested GTX 1060, 555.58.02 drivers) - run flickery apps with --disable-gpu-compositing. This makes apps slightly less smooth (GPU still used tho), but fixes the issue. I think this is better then to disable damage_tracking, which works too.
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# bind = Ctrl+Alt+Shift, R, pass, ^(com\.obsproject\.Studio)$ # toggle obs screen recording // install obs flatpak
# bind = $mainMod+Shift, G, exec, pkill -x rofi || $scrPath/gamelauncher.sh # launch steam game launcher // install steam
# bind = $mainMod, Period, exec, emote # launch emoji selector // install emote
bind = $mainMod+Alt, XF86MonBrightnessDown, exec, hyprshade on blue-light-filter # enable blue light filter // install hyprshade
bind = $mainMod+Alt, XF86MonBrightnessUp, exec, hyprshade off # disable blue light filter // install hyprshade
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# exec-once = swayidle -w timeout 600 'swaylock' timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # lock after 10 mins, sleep after 15 mins // install swayidle
# exec-once = swayidle -w timeout 1200 'swaylock; hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' timeout 1800 'systemctl suspend' # lock and sleep after 20 mins, suspend after 30 mins // install swayidle
# exec-once = libinput-gestures // install libinput-gestures
# exec-once = swayosd-server # enable swayosd service
# exec-once = `pkexec swayosd-libinput-backend` # swayosd service for keyboard input (requires to be run in a subshell)
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
windowrulev2 = opacity 0.90 0.90,class:^(neovide)$
windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
windowrulev2 = opacity 0.80 0.80,class:^(betterbird)$
windowrulev2 = opacity 0.80 0.80,class:^(org.qbittorrent.qBittorrent)$
windowrulev2 = opacity 0.80 0.80,class:^(org.gajim.Gajim)$
windowrulev2 = opacity 0.80 0.80,class:^(Chromium)$
windowrulev2 = opacity 0.80 0.80,class:^(FreeTube)$
windowrulev2 = opacity 0.80 0.80,class:^(LibreWolf)$
windowrulev2 = opacity 0.80 0.60,class:^(obsidian)$
windowrulev2 = opacity 0.80 0.80,class:^(VSCodium)$
windowrulev2 = opacity 0.80 0.80,class:^(codium-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$
windowrulev2 = opacity 0.80 0.80,class:^(Code)$
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
windowrulev2 = opacity 0.70 0.70,class:^(tilix)$
windowrulev2 = opacity 0.70 0.70,class:^(rustdesk)$
windowrulev2 = opacity 0.70 0.70,class:^(Ferdium)$
windowrulev2 = opacity 0.70 0.70,class:^(org.keepassxc.KeePassXC)$
# █░█ █▀▄▀█
# ▀▄▀ █░▀░█
# bind = Ctrl+Alt_L, V, submap, passthrough
# submap = passthrough
# bind = Ctrl+Alt_L, V, submap, reset
# submap = reset
# render {
# explicit_sync = 1
# explicit_sync_kms = 1
# direct_scanout = no
# }

View File

@@ -3,44 +3,33 @@
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# See https://wiki.hyprland.org/Configuring/Window-Rules/
# hyprctl clients to get names
# '$&' is a hyde specific shorthand for "override" \\ analogous to a reference
# This symbol indicates that the following values will override the default configuration
$&=override
windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(firefox)$
# windowrulev2 = opacity 0.90 $& 0.90 $& 1,class:^(Brave-browser)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-oss)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^([Cc]ode)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-url-handler)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(code-insiders-url-handler)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kitty)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(nwg-look)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt5ct)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(qt6ct)$
windowrulev2 = opacity 0.80 $& 0.80 $& 1,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-applet)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 $& 0.70 $& 1,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]team)$
windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^(steamwebhelper)$
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,class:^([Ss]potify)$
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Free)$
# windowrulev2 = opacity 0.70 $& 0.70 $& 1,initialTitle:^(Spotify Premium)$
windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(lagrange)$
windowrulev2 = opacity 0.60 0.60,class:^(com.github.wwmm.easyeffects)$
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(vesktop)$ # Vesktop
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
@@ -87,14 +76,6 @@ windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloade
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
# common modals
windowrule = float,initialtitle:^(Open File)$
windowrule = float,initialTitle:^(Open File)$
windowrule = float,title:^(Choose Files)$
windowrule = float,title:^(Save As)$
windowrule = float,title:^(Confirm to replace files)$
windowrule = float,title:^(File Operation Progress)$
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

View File

@@ -1,12 +1,16 @@
include theme.conf
font_size 9.0
font_family CaskaydiaCove Nerd Font Mono
bold_font auto
italic_font auto
bold_italic_font auto
window_padding_width 25
enable_audio_bell no
font_size 14.0
window_padding_width 25
include theme.conf
tab_bar_style powerline
tab_powerline_style slanted
confirm_os_window_close 0
#background_opacity 0.60
#hide_window_decorations yes
#confirm_os_window_close 0

View File

@@ -4,11 +4,11 @@ vim.g.mapleader = " "
----- custom config -----
if vim.g.neovide then
vim.g.neovide_transparency = 0.7
vim.g.neovide_opacity = 0.5
vim.g.neovide_scale_factor = 0.7
vim.g.neovide_window_blurred = true
vim.g.neovide_floating_blur_amount_x = 1.0
vim.g.neovide_floating_blur_amount_y = 1.0
vim.g.neovide_floating_blur_amount_x = 1.9
vim.g.neovide_floating_blur_amount_y = 1.9
vim.g.neovide_floating_shadow = true
vim.g.neovide_floating_z_height = 0
vim.g.neovide_hide_mouse_when_typing = true
@@ -18,16 +18,14 @@ if vim.g.neovide then
-- vim.g.neovide_fullscreen = true
-- vim.g.neovide_padding_bottom = 0
-- vim.g.neovide_light_radius = 5
-- vim.g.neovide_show_border = false
-- vim.g.neovide_show_border = false
-- vim.g.neovide_light_angle_degrees = 45
end
vim.opt.relativenumber = true
vim.opt.wrap = false
----- end of custom -----
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
@@ -58,6 +56,22 @@ dofile(vim.g.base46_cache .. "statusline")
require "options"
require "nvchad.autocmds"
require "render-markdown"
require("gen").prompts["Markdown_links"] = {
prompt = "Make markdown links wherever you find link in the following text, and generate the namas accordingly:\n$text",
replace = true,
}
require("gen").prompts["Optimize code"] = {
prompt = "Check if code can be optimized for speed and readability:\n$text",
replace = true,
}
require("gen").prompts["Genetrate types "] = {
prompt = "Check if types are correct in this code, fix and optimize if something is needed:\n$text",
replace = true,
}
vim.schedule(function()
require "mappings"

View File

@@ -1,29 +1,32 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"NvChad": { "branch": "v2.5", "commit": "46b15ef1b9d10a83ab7df26b14f474d15c01e770" },
"base46": { "branch": "v3.0", "commit": "80358ecdb5779b199130ed03031c34c0c2bca3fc" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" },
"NvChad": { "branch": "v2.5", "commit": "bbc3d43db088c141b142a40cd5f717635833a54e" },
"base46": { "branch": "v2.5", "commit": "8971be55aeb6d5fe086169c0ee9ce647a3871570" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" },
"friendly-snippets": { "branch": "main", "commit": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa" },
"gitsigns.nvim": { "branch": "main", "commit": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"menu": { "branch": "main", "commit": "8adb036ec34c679050913864cbc98cc64eb91f6c" },
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "81920264a264144bd075f7f48f0c4356fc2c6236" },
"nvim-tree.lua": { "branch": "master", "commit": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb" },
"nvim-treesitter": { "branch": "master", "commit": "7bbed4b548d9a81c14351bda93d16336edefd067" },
"nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"ui": { "branch": "v3.0", "commit": "9201de37eb4992bef5fec974618a9a14082765fe" },
"volt": { "branch": "main", "commit": "c45d5f48da8e802e608b5c6da471ca4d84276dfb" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
"conform.nvim": { "branch": "master", "commit": "023f795dbcf32d4351b6a9ed2e613d471b5bb812" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
"gen.nvim": { "branch": "main", "commit": "c8e1f574d4a3a839dde73a87bdc319a62ee1e559" },
"gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" },
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" },
"lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"menu": { "branch": "main", "commit": "657bfc91382c0928453d9a4d0a10ec92db5de2bb" },
"mini.nvim": { "branch": "main", "commit": "efff26174ca363c059f92e906753db47e81d870b" },
"minty": { "branch": "main", "commit": "a3d69bd63fc98f640815f94b797bf978e9193022" },
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
"nvim-cmp": { "branch": "main", "commit": "f17d9b4394027ff4442b298398dfcaab97e40c4f" },
"nvim-lspconfig": { "branch": "master", "commit": "f012c1b176f0e3c71f40eb309bdec0316689462e" },
"nvim-tree.lua": { "branch": "master", "commit": "f7c65e11d695a084ca10b93df659bb7e68b71f9f" },
"nvim-treesitter": { "branch": "master", "commit": "37427012d1c77c544356bfff0c9acc88fd3256bc" },
"nvim-web-devicons": { "branch": "master", "commit": "e87554285f581047b1bf236794b0eb812b444b87" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"render-markdown.nvim": { "branch": "main", "commit": "eec00fbfd7273cdfa0a1154dbef0bb983641eaf8" },
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" },
"ui": { "branch": "v3.0", "commit": "9b31c25fc497d1ef726de15ae297769dbf90c1a5" },
"volt": { "branch": "main", "commit": "41c03a5d6a0a8a997e774a3482d82e5ef820c6ba" },
"which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }
}

View File

@@ -1,18 +1,43 @@
-- This file needs to have same structure as nvconfig.lua
-- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :(
-- Please read that file to know all available options :(
---@type ChadrcConfig
local M = {}
M.base46 = {
theme = "onedark",
transparency = true
local M = {
base46 = {
theme = "onedark",
transparency = true,
lsp = { signature = true },
hl_override = {
NvimTreeGitDirty = {
fg = "#DBA55D",
},
},
-- Comment = { italic = true },
-- ["@comment"] = { italic = true },
},
-- hl_override = {
-- Comment = { italic = true },
-- ["@comment"] = { italic = true },
-- },
nvdash = {
load_on_startup = false,
-- buttons = {
-- { txt = " Find File", keys = "Spc f f", cmd = "Telescope find_files custom" },
-- { txt = " Recent Files", keys = "Spc f o", cmd = "Telescope oldfiles" },
-- -- more... check nvconfig.lua file for full list of buttons
-- },
},
-- ui = {
-- -- lazyload it when there are 1+ buffers
-- tabufline = {
-- enabled = true,
-- lazyload = true,
-- order = { "treeOffset", "buffers", "tabs", "btns" },
-- modules = nil,
-- bufwidth = 21,
-- transparency = true,
-- },
-- },
}
return M

View File

@@ -1,24 +1,28 @@
-- load defaults i.e lua_lsp
require("nvchad.configs.lspconfig").defaults()
local lspconfig = require "lspconfig"
-- EXAMPLE
local servers = { "html", "cssls", "ts_ls" }
local nvlsp = require "nvchad.configs.lspconfig"
vim.lsp.enable(servers)
-- lsps with default config
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = nvlsp.on_attach,
on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
}
end
-- configuring single server, example: typescript
-- local lspconfig = require "lspconfig"
-- local nvlsp = require "nvchad.configs.lspconfig"
--
-- -- lsps with default config
-- for _, lsp in ipairs(servers) do
-- lspconfig[lsp].setup {
-- on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
-- capabilities = nvlsp.capabilities,
-- }
-- end
--
-- -- configuring single server, example: typescript
-- lspconfig.ts_ls.setup {
-- on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
-- capabilities = nvlsp.capabilities,
-- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'markdown' },
-- }
--
-- -- configuring single server, example: typescript
-- -- lspconfig.ts_ls.setup {
-- -- on_attach = nvlsp.on_attach,
-- -- on_init = nvlsp.on_init,
-- -- capabilities = nvlsp.capabilities,
-- -- }

View File

@@ -0,0 +1,851 @@
require("render-markdown").setup {
-- Whether markdown should be rendered by default.
enabled = true,
-- Vim modes that will show a rendered view of the markdown file, :h mode(), for all enabled
-- components. Individual components can be enabled for other modes. Remaining modes will be
-- unaffected by this plugin.
render_modes = { "i", "n", "c", "t" },
-- Maximum file size (in MB) that this plugin will attempt to render.
-- Any file larger than this will effectively be ignored.
max_file_size = 10.0,
-- Milliseconds that must pass before updating marks, updates occur.
-- within the context of the visible window, not the entire buffer.
debounce = 100,
-- Pre configured settings that will attempt to mimic various target user experiences.
-- Any user provided settings will take precedence.
-- | obsidian | mimic Obsidian UI |
-- | lazy | will attempt to stay up to date with LazyVim configuration |
-- | none | does nothing |
preset = "none",
-- The level of logs to write to file: vim.fn.stdpath('state') .. '/render-markdown.log'.
-- Only intended to be used for plugin development / debugging.
log_level = "error",
-- Print runtime of main update method.
-- Only intended to be used for plugin development / debugging.
log_runtime = false,
-- Filetypes this plugin will run on.
file_types = { "markdown" },
-- Takes buffer as input, if it returns true this plugin will not attach to the buffer
ignore = function()
return false
end,
-- Additional events that will trigger this plugin's render loop.
change_events = {},
injections = {
-- Out of the box language injections for known filetypes that allow markdown to be interpreted
-- in specified locations, see :h treesitter-language-injections.
-- Set enabled to false in order to disable.
gitcommit = {
enabled = true,
query = [[
((message) @injection.content
(#set! injection.combined)
(#set! injection.include-children)
(#set! injection.language "markdown"))
]],
},
},
patterns = {
-- Highlight patterns to disable for filetypes, i.e. lines concealed around code blocks
markdown = {
disable = true,
directives = {
{ id = 17, name = "conceal_lines" },
{ id = 18, name = "conceal_lines" },
},
},
},
anti_conceal = {
-- This enables hiding any added text on the line the cursor is on.
enabled = true,
-- Modes to disable anti conceal feature.
disabled_modes = false,
-- Number of lines above cursor to show.
above = 0,
-- Number of lines below cursor to show.
below = 0,
-- Which elements to always show, ignoring anti conceal behavior. Values can either be
-- booleans to fix the behavior or string lists representing modes where anti conceal
-- behavior will be ignored. Valid values are:
-- bullet
-- callout
-- check_icon, check_scope
-- code_background, code_border, code_language
-- dash
-- head_background, head_border, head_icon
-- indent
-- link
-- quote
-- sign
-- table_border
-- virtual_lines
ignore = {
code_background = true,
indent = true,
sign = true,
virtual_lines = true,
},
},
padding = {
-- Highlight to use when adding whitespace, should match background.
highlight = "Normal",
},
latex = {
-- Turn on / off latex rendering.
enabled = true,
-- Additional modes to render latex.
render_modes = false,
-- Executable used to convert latex formula to rendered unicode.
converter = "latex2text",
-- Highlight for latex blocks.
highlight = "RenderMarkdownMath",
-- Determines where latex formula is rendered relative to block.
-- | above | above latex block |
-- | below | below latex block |
position = "above",
-- Number of empty lines above latex blocks.
top_pad = 0,
-- Number of empty lines below latex blocks.
bottom_pad = 0,
},
on = {
-- Called when plugin initially attaches to a buffer.
attach = function() end,
-- Called before adding marks to the buffer for the first time.
initial = function() end,
-- Called after plugin renders a buffer.
render = function() end,
-- Called after plugin clears a buffer.
clear = function() end,
},
completions = {
-- Settings for blink.cmp completions source
blink = { enabled = false },
-- Settings for coq_nvim completions source
coq = { enabled = false },
-- Settings for in-process language server completions
lsp = { enabled = false },
filter = {
callout = function()
-- example to exclude obsidian callouts
-- return value.category ~= 'obsidian'
return true
end,
checkbox = function()
return true
end,
},
},
heading = {
-- Useful context to have when evaluating values.
-- | level | the number of '#' in the heading marker |
-- | sections | for each level how deeply nested the heading is |
-- Turn on / off heading icon & background rendering.
enabled = true,
-- Additional modes to render headings.
render_modes = false,
-- Turn on / off atx heading rendering.
atx = true,
-- Turn on / off setext heading rendering.
setext = true,
-- Turn on / off any sign column related rendering.
sign = true,
-- Replaces '#+' of 'atx_h._marker'.
-- Output is evaluated depending on the type.
-- | function | `value(context)` |
-- | string[] | `cycle(value, context.level)` |
icons = { "󰲡 ", "󰲣 ", "󰲥 ", "󰲧 ", "󰲩 ", "󰲫 " },
-- Determines how icons fill the available space.
-- | right | '#'s are concealed and icon is appended to right side |
-- | inline | '#'s are concealed and icon is inlined on left side |
-- | overlay | icon is left padded with spaces and inserted on left hiding any additional '#' |
position = "overlay",
-- Added to the sign column if enabled.
-- Output is evaluated by `cycle(value, context.level)`.
signs = { "󰫎 " },
-- Width of the heading background.
-- | block | width of the heading text |
-- | full | full width of the window |
-- Can also be a list of the above values evaluated by `clamp(value, context.level)`.
width = "full",
-- Amount of margin to add to the left of headings.
-- Margin available space is computed after accounting for padding.
-- If a float < 1 is provided it is treated as a percentage of available window space.
-- Can also be a list of numbers evaluated by `clamp(value, context.level)`.
left_margin = 0,
-- Amount of padding to add to the left of headings.
-- Output is evaluated using the same logic as 'left_margin'.
left_pad = 0,
-- Amount of padding to add to the right of headings when width is 'block'.
-- Output is evaluated using the same logic as 'left_margin'.
right_pad = 0,
-- Minimum width to use for headings when width is 'block'.
-- Can also be a list of integers evaluated by `clamp(value, context.level)`.
min_width = 0,
-- Determines if a border is added above and below headings.
-- Can also be a list of booleans evaluated by `clamp(value, context.level)`.
border = false,
-- Always use virtual lines for heading borders instead of attempting to use empty lines.
border_virtual = false,
-- Highlight the start of the border using the foreground highlight.
border_prefix = false,
-- Used above heading for border.
above = "",
-- Used below heading for border.
below = "",
-- Highlight for the heading icon and extends through the entire line.
-- Output is evaluated by `clamp(value, context.level)`.
backgrounds = {
"RenderMarkdownH1Bg",
"RenderMarkdownH2Bg",
"RenderMarkdownH3Bg",
"RenderMarkdownH4Bg",
"RenderMarkdownH5Bg",
"RenderMarkdownH6Bg",
},
-- Highlight for the heading and sign icons.
-- Output is evaluated using the same logic as 'backgrounds'.
foregrounds = {
"RenderMarkdownH1",
"RenderMarkdownH2",
"RenderMarkdownH3",
"RenderMarkdownH4",
"RenderMarkdownH5",
"RenderMarkdownH6",
},
-- Define custom heading patterns which allow you to override various properties based on
-- the contents of a heading.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | pattern | matched against the heading text @see :h lua-patterns |
-- | icon | optional override for the icon |
-- | background | optional override for the background |
-- | foreground | optional override for the foreground |
custom = {},
},
paragraph = {
-- Useful context to have when evaluating values.
-- | text | text value of the node |
-- Turn on / off paragraph rendering.
enabled = true,
-- Additional modes to render paragraphs.
render_modes = false,
-- Amount of margin to add to the left of paragraphs.
-- If a float < 1 is provided it is treated as a percentage of available window space.
-- Output is evaluated depending on the type.
-- | function | `value(context)` |
-- | number | `value` |
left_margin = 0,
-- Amount of padding to add to the first line of each paragraph.
-- Output is evaluated using the same logic as 'left_margin'.
indent = 0,
-- Minimum width to use for paragraphs.
min_width = 0,
},
code = {
-- Turn on / off code block & inline code rendering.
enabled = true,
-- Additional modes to render code blocks.
render_modes = false,
-- Turn on / off any sign column related rendering.
sign = true,
-- Determines how code blocks & inline code are rendered.
-- | none | disables all rendering |
-- | normal | background highlighting + padding |
-- | language | language heading with icon + sign column |
-- | full | normal + language |
style = "full",
-- Whether to conceal nodes at the top and bottom of code blocks.
conceal_delimiters = true,
-- Turn on / off any language heading related rendering.
language = true,
-- Determines where language icon is rendered.
-- | right | right side of code block |
-- | left | left side of code block |
position = "left",
-- Whether to include the language icon above code blocks.
language_icon = true,
-- Whether to include the language name above code blocks.
language_name = true,
-- Whether to include the language info above code blocks.
language_info = true,
-- Amount of padding to add around the language.
-- If a float < 1 is provided it is treated as a percentage of available window space.
language_pad = 0,
-- A list of language names for which background highlighting will be disabled.
-- Likely because that language has background highlights itself.
-- Use a boolean to make behavior apply to all languages.
-- Borders above & below blocks will continue to be rendered.
disable_background = { "diff" },
-- Width of the code block background.
-- | block | width of the code block |
-- | full | full width of the window |
width = "full",
-- Amount of margin to add to the left of code blocks.
-- If a float < 1 is provided it is treated as a percentage of available window space.
-- Margin available space is computed after accounting for padding.
left_margin = 0,
-- Amount of padding to add to the left of code blocks.
-- If a float < 1 is provided it is treated as a percentage of available window space.
left_pad = 0,
-- Amount of padding to add to the right of code blocks when width is 'block'.
-- If a float < 1 is provided it is treated as a percentage of available window space.
right_pad = 0,
-- Minimum width to use for code blocks when width is 'block'.
min_width = 0,
-- Determines how the top / bottom of code block are rendered.
-- | none | do not render a border |
-- | thick | use the same highlight as the code body |
-- | thin | when lines are empty overlay the above & below icons |
-- | hide | conceal lines unless language name or icon is added |
border = "hide",
-- Used above code blocks to fill remaining space around language.
language_border = "",
-- Added to the left of language.
language_left = "",
-- Added to the right of language.
language_right = "",
-- Used above code blocks for thin border.
above = "",
-- Used below code blocks for thin border.
below = "",
-- Icon to add to the left of inline code.
inline_left = "",
-- Icon to add to the right of inline code.
inline_right = "",
-- Padding to add to the left & right of inline code.
inline_pad = 0,
-- Highlight for code blocks.
highlight = "RenderMarkdownCode",
-- Highlight for code info section, after the language.
highlight_info = "RenderMarkdownCodeInfo",
-- Highlight for language, overrides icon provider value.
highlight_language = nil,
-- Highlight for border, use false to add no highlight.
highlight_border = "RenderMarkdownCodeBorder",
-- Highlight for language, used if icon provider does not have a value.
highlight_fallback = "RenderMarkdownCodeFallback",
-- Highlight for inline code.
highlight_inline = "RenderMarkdownCodeInline",
},
dash = {
-- Turn on / off thematic break rendering.
enabled = true,
-- Additional modes to render dash.
render_modes = false,
-- Replaces '---'|'***'|'___'|'* * *' of 'thematic_break'.
-- The icon gets repeated across the window's width.
icon = "",
-- Width of the generated line.
-- | <number> | a hard coded width value |
-- | full | full width of the window |
-- If a float < 1 is provided it is treated as a percentage of available window space.
width = "full",
-- Amount of margin to add to the left of dash.
-- If a float < 1 is provided it is treated as a percentage of available window space.
left_margin = 0,
-- Highlight for the whole line generated from the icon.
highlight = "RenderMarkdownDash",
},
document = {
-- Turn on / off document rendering.
enabled = true,
-- Additional modes to render document.
render_modes = false,
-- Ability to conceal arbitrary ranges of text based on lua patterns, @see :h lua-patterns.
-- Relies entirely on user to set patterns that handle their edge cases.
conceal = {
-- Matched ranges will be concealed using character level conceal.
char_patterns = {},
-- Matched ranges will be concealed using line level conceal.
line_patterns = {},
},
},
bullet = {
-- Useful context to have when evaluating values.
-- | level | how deeply nested the list is, 1-indexed |
-- | index | how far down the item is at that level, 1-indexed |
-- | value | text value of the marker node |
-- Turn on / off list bullet rendering
enabled = true,
-- Additional modes to render list bullets
render_modes = false,
-- Replaces '-'|'+'|'*' of 'list_item'.
-- If the item is a 'checkbox' a conceal is used to hide the bullet instead.
-- Output is evaluated depending on the type.
-- | function | `value(context)` |
-- | string | `value` |
-- | string[] | `cycle(value, context.level)` |
-- | string[][] | `clamp(cycle(value, context.level), context.index)` |
icons = { "", "", "", "" },
-- Replaces 'n.'|'n)' of 'list_item'.
-- Output is evaluated using the same logic as 'icons'.
ordered_icons = function(ctx)
local value = vim.trim(ctx.value)
local index = tonumber(value:sub(1, #value - 1))
return ("%d."):format(index > 1 and index or ctx.index)
end,
-- Padding to add to the left of bullet point.
-- Output is evaluated depending on the type.
-- | function | `value(context)` |
-- | integer | `value` |
left_pad = 0,
-- Padding to add to the right of bullet point.
-- Output is evaluated using the same logic as 'left_pad'.
right_pad = 0,
-- Highlight for the bullet icon.
-- Output is evaluated using the same logic as 'icons'.
highlight = "RenderMarkdownBullet",
-- Highlight for item associated with the bullet point.
-- Output is evaluated using the same logic as 'icons'.
scope_highlight = {},
},
checkbox = {
-- Checkboxes are a special instance of a 'list_item' that start with a 'shortcut_link'.
-- There are two special states for unchecked & checked defined in the markdown grammar.
-- Turn on / off checkbox state rendering.
enabled = true,
-- Additional modes to render checkboxes.
render_modes = false,
-- Render the bullet point before the checkbox.
bullet = false,
-- Padding to add to the right of checkboxes.
right_pad = 1,
unchecked = {
-- Replaces '[ ]' of 'task_list_marker_unchecked'.
icon = "󰄱 ",
-- Highlight for the unchecked icon.
highlight = "RenderMarkdownUnchecked",
-- Highlight for item associated with unchecked checkbox.
scope_highlight = nil,
},
checked = {
-- Replaces '[x]' of 'task_list_marker_checked'.
icon = "󰱒 ",
-- Highlight for the checked icon.
highlight = "RenderMarkdownChecked",
-- Highlight for item associated with checked checkbox.
scope_highlight = nil,
},
-- Define custom checkbox states, more involved, not part of the markdown grammar.
-- As a result this requires neovim >= 0.10.0 since it relies on 'inline' extmarks.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | raw | matched against the raw text of a 'shortcut_link' |
-- | rendered | replaces the 'raw' value when rendering |
-- | highlight | highlight for the 'rendered' icon |
-- | scope_highlight | optional highlight for item associated with custom checkbox |
-- stylua: ignore
custom = {
todo = { raw = '[-]', rendered = '󰥔 ', highlight = 'RenderMarkdownTodo', scope_highlight = nil },
},
},
quote = {
-- Turn on / off block quote & callout rendering.
enabled = true,
-- Additional modes to render quotes.
render_modes = false,
-- Replaces '>' of 'block_quote'.
icon = "",
-- Whether to repeat icon on wrapped lines. Requires neovim >= 0.10. This will obscure text
-- if incorrectly configured with :h 'showbreak', :h 'breakindent' and :h 'breakindentopt'.
-- A combination of these that is likely to work follows.
-- | showbreak | ' ' (2 spaces) |
-- | breakindent | true |
-- | breakindentopt | '' (empty string) |
-- These are not validated by this plugin. If you want to avoid adding these to your main
-- configuration then set them in win_options for this plugin.
repeat_linebreak = false,
-- Highlight for the quote icon.
-- If a list is provided output is evaluated by `cycle(value, level)`.
highlight = {
"RenderMarkdownQuote1",
"RenderMarkdownQuote2",
"RenderMarkdownQuote3",
"RenderMarkdownQuote4",
"RenderMarkdownQuote5",
"RenderMarkdownQuote6",
},
},
pipe_table = {
-- Turn on / off pipe table rendering.
enabled = true,
-- Additional modes to render pipe tables.
render_modes = false,
-- Pre configured settings largely for setting table border easier.
-- | heavy | use thicker border characters |
-- | double | use double line border characters |
-- | round | use round border corners |
-- | none | does nothing |
preset = "none",
-- Determines how the table as a whole is rendered.
-- | none | disables all rendering |
-- | normal | applies the 'cell' style rendering to each row of the table |
-- | full | normal + a top & bottom line that fill out the table when lengths match |
style = "full",
-- Determines how individual cells of a table are rendered.
-- | overlay | writes completely over the table, removing conceal behavior and highlights |
-- | raw | replaces only the '|' characters in each row, leaving the cells unmodified |
-- | padded | raw + cells are padded to maximum visual width for each column |
-- | trimmed | padded except empty space is subtracted from visual width calculation |
cell = "padded",
-- Amount of space to put between cell contents and border.
padding = 1,
-- Minimum column width to use for padded or trimmed cell.
min_width = 0,
-- Characters used to replace table border.
-- Correspond to top(3), delimiter(3), bottom(3), vertical, & horizontal.
-- stylua: ignore
border = {
'', '', '',
'', '', '',
'', '', '',
'', '',
},
-- Always use virtual lines for table borders instead of attempting to use empty lines.
-- Will be automatically enabled if indentation module is enabled.
border_virtual = false,
-- Gets placed in delimiter row for each column, position is based on alignment.
alignment_indicator = "",
-- Highlight for table heading, delimiter, and the line above.
head = "RenderMarkdownTableHead",
-- Highlight for everything else, main table rows and the line below.
row = "RenderMarkdownTableRow",
-- Highlight for inline padding used to add back concealed space.
filler = "RenderMarkdownTableFill",
},
callout = {
-- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | raw | matched against the raw text of a 'shortcut_link', case insensitive |
-- | rendered | replaces the 'raw' value when rendering |
-- | highlight | highlight for the 'rendered' text and quote markers |
-- | quote_icon | optional override for quote.icon value for individual callout |
-- | category | optional metadata useful for filtering |
note = {
raw = "[!NOTE]",
rendered = "󰋽 Note",
highlight = "RenderMarkdownInfo",
category = "github",
},
tip = {
raw = "[!TIP]",
rendered = "󰌶 Tip",
highlight = "RenderMarkdownSuccess",
category = "github",
},
important = {
raw = "[!IMPORTANT]",
rendered = "󰅾 Important",
highlight = "RenderMarkdownHint",
category = "github",
},
warning = {
raw = "[!WARNING]",
rendered = "󰀪 Warning",
highlight = "RenderMarkdownWarn",
category = "github",
},
caution = {
raw = "[!CAUTION]",
rendered = "󰳦 Caution",
highlight = "RenderMarkdownError",
category = "github",
},
-- Obsidian: https://help.obsidian.md/Editing+and+formatting/Callouts
abstract = {
raw = "[!ABSTRACT]",
rendered = "󰨸 Abstract",
highlight = "RenderMarkdownInfo",
category = "obsidian",
},
summary = {
raw = "[!SUMMARY]",
rendered = "󰨸 Summary",
highlight = "RenderMarkdownInfo",
category = "obsidian",
},
tldr = {
raw = "[!TLDR]",
rendered = "󰨸 Tldr",
highlight = "RenderMarkdownInfo",
category = "obsidian",
},
info = {
raw = "[!INFO]",
rendered = "󰋽 Info",
highlight = "RenderMarkdownInfo",
category = "obsidian",
},
todo = {
raw = "[!TODO]",
rendered = "󰗡 Todo",
highlight = "RenderMarkdownInfo",
category = "obsidian",
},
hint = {
raw = "[!HINT]",
rendered = "󰌶 Hint",
highlight = "RenderMarkdownSuccess",
category = "obsidian",
},
success = {
raw = "[!SUCCESS]",
rendered = "󰄬 Success",
highlight = "RenderMarkdownSuccess",
category = "obsidian",
},
check = {
raw = "[!CHECK]",
rendered = "󰄬 Check",
highlight = "RenderMarkdownSuccess",
category = "obsidian",
},
done = {
raw = "[!DONE]",
rendered = "󰄬 Done",
highlight = "RenderMarkdownSuccess",
category = "obsidian",
},
question = {
raw = "[!QUESTION]",
rendered = "󰘥 Question",
highlight = "RenderMarkdownWarn",
category = "obsidian",
},
help = {
raw = "[!HELP]",
rendered = "󰘥 Help",
highlight = "RenderMarkdownWarn",
category = "obsidian",
},
faq = {
raw = "[!FAQ]",
rendered = "󰘥 Faq",
highlight = "RenderMarkdownWarn",
category = "obsidian",
},
attention = {
raw = "[!ATTENTION]",
rendered = "󰀪 Attention",
highlight = "RenderMarkdownWarn",
category = "obsidian",
},
failure = {
raw = "[!FAILURE]",
rendered = "󰅖 Failure",
highlight = "RenderMarkdownError",
category = "obsidian",
},
fail = {
raw = "[!FAIL]",
rendered = "󰅖 Fail",
highlight = "RenderMarkdownError",
category = "obsidian",
},
missing = {
raw = "[!MISSING]",
rendered = "󰅖 Missing",
highlight = "RenderMarkdownError",
category = "obsidian",
},
danger = {
raw = "[!DANGER]",
rendered = "󱐌 Danger",
highlight = "RenderMarkdownError",
category = "obsidian",
},
error = {
raw = "[!ERROR]",
rendered = "󱐌 Error",
highlight = "RenderMarkdownError",
category = "obsidian",
},
bug = {
raw = "[!BUG]",
rendered = "󰨰 Bug",
highlight = "RenderMarkdownError",
category = "obsidian",
},
example = {
raw = "[!EXAMPLE]",
rendered = "󰉹 Example",
highlight = "RenderMarkdownHint",
category = "obsidian",
},
quote = {
raw = "[!QUOTE]",
rendered = "󱆨 Quote",
highlight = "RenderMarkdownQuote",
category = "obsidian",
},
cite = {
raw = "[!CITE]",
rendered = "󱆨 Cite",
highlight = "RenderMarkdownQuote",
category = "obsidian",
},
},
link = {
-- Turn on / off inline link icon rendering.
enabled = true,
-- Additional modes to render links.
render_modes = false,
-- How to handle footnote links, start with a '^'.
footnote = {
-- Turn on / off footnote rendering.
enabled = true,
-- Replace value with superscript equivalent.
superscript = true,
-- Added before link content.
prefix = "",
-- Added after link content.
suffix = "",
},
-- Inlined with 'image' elements.
image = "󰥶 ",
-- Inlined with 'email_autolink' elements.
email = "󰀓 ",
-- Fallback icon for 'inline_link' and 'uri_autolink' elements.
hyperlink = "󰌹 ",
-- Applies to the inlined icon as a fallback.
highlight = "RenderMarkdownLink",
-- Applies to WikiLink elements.
wiki = {
icon = "󱗖 ",
body = function()
return nil
end,
highlight = "RenderMarkdownWikiLink",
},
-- Define custom destination patterns so icons can quickly inform you of what a link
-- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple
-- patterns match a link the one with the longer pattern is used.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | pattern | matched against the destination text |
-- | icon | gets inlined before the link text |
-- | kind | optional determines how pattern is checked |
-- | | pattern | @see :h lua-patterns, is the default if not set |
-- | | suffix | @see :h vim.endswith() |
-- | priority | optional used when multiple match, uses pattern length if empty |
-- | highlight | optional highlight for 'icon', uses fallback highlight if empty |
custom = {
web = { pattern = "^http", icon = "󰖟 " },
discord = { pattern = "discord%.com", icon = "󰙯 " },
github = { pattern = "github%.com", icon = "󰊤 " },
gitlab = { pattern = "gitlab%.com", icon = "󰮠 " },
google = { pattern = "google%.com", icon = "󰊭 " },
neovim = { pattern = "neovim%.io", icon = "" },
reddit = { pattern = "reddit%.com", icon = "󰑍 " },
stackoverflow = { pattern = "stackoverflow%.com", icon = "󰓌 " },
wikipedia = { pattern = "wikipedia%.org", icon = "󰖬 " },
youtube = { pattern = "youtube%.com", icon = "󰗃 " },
},
},
sign = {
-- Turn on / off sign rendering.
enabled = true,
-- Applies to background of sign text.
highlight = "RenderMarkdownSign",
},
inline_highlight = {
-- Mimics Obsidian inline highlights when content is surrounded by double equals.
-- The equals on both ends are concealed and the inner content is highlighted.
-- Turn on / off inline highlight rendering.
enabled = true,
-- Additional modes to render inline highlights.
render_modes = false,
-- Applies to background of surrounded text.
highlight = "RenderMarkdownInlineHighlight",
},
indent = {
-- Mimic org-indent-mode behavior by indenting everything under a heading based on the
-- level of the heading. Indenting starts from level 2 headings onward by default.
-- Turn on / off org-indent-mode.
enabled = false,
-- Additional modes to render indents.
render_modes = false,
-- Amount of additional padding added for each heading level.
per_level = 2,
-- Heading levels <= this value will not be indented.
-- Use 0 to begin indenting from the very first level.
skip_level = 1,
-- Do not indent heading titles, only the body.
skip_heading = false,
-- Prefix added when indenting, one per level.
icon = "",
-- Priority to assign to extmarks.
priority = 0,
-- Applied to icon.
highlight = "RenderMarkdownIndent",
},
html = {
-- Turn on / off all HTML rendering.
enabled = true,
-- Additional modes to render HTML.
render_modes = false,
comment = {
-- Turn on / off HTML comment concealing.
conceal = true,
-- Optional text to inline before the concealed comment.
text = nil,
-- Highlight for the inlined text.
highlight = "RenderMarkdownHtmlComment",
},
-- HTML tags whose start and end will be hidden and icon shown.
-- The key is matched against the tag name, value type below.
-- | icon | gets inlined at the start |
-- | highlight | highlight for the icon |
tag = {},
},
win_options = {
-- Window options to use that change between rendered and raw view.
-- @see :h 'conceallevel'
conceallevel = {
-- Used when not being rendered, get user setting.
default = vim.o.conceallevel,
-- Used when being rendered, concealed text is completely hidden.
rendered = 3,
},
-- @see :h 'concealcursor'
concealcursor = {
-- Used when not being rendered, get user setting.
default = vim.o.concealcursor,
-- Used when being rendered, show concealed text in all modes.
rendered = "",
},
},
overrides = {
-- More granular configuration mechanism, allows different aspects of buffers to have their own
-- behavior. Values default to the top level configuration if no override is provided. Supports
-- the following fields:
-- enabled, max_file_size, debounce, render_modes, anti_conceal, padding, heading, paragraph,
-- code, dash, bullet, checkbox, quote, pipe_table, callout, link, sign, indent, latex, html,
-- win_options
-- Override for different buflisted values, @see :h 'buflisted'.
buflisted = {},
-- Override for different buftype values, @see :h 'buftype'.
buftype = {
nofile = {
render_modes = true,
padding = { highlight = "NormalFloat" },
sign = { enabled = false },
},
},
-- Override for different filetype values, @see :h 'filetype'.
filetype = {},
},
custom_handlers = {
-- Mapping from treesitter language to user defined handlers.
-- @see [Custom Handlers](doc/custom-handlers.md)
},
}

View File

@@ -5,7 +5,15 @@ require "nvchad.mappings"
local map = vim.keymap.set
map("n", ";", ":", { desc = "CMD enter command mode" })
map({ "n", "i", "v" }, "<leader>dg", "<cmd> lua vim.diagnostic.open_float()<cr>", { desc = "Float diagnostic" })
map("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
local builtin = require "telescope.builtin"
map("n", "gD", builtin.lsp_definitions, { desc = "Go to definitions" })
map("n", "grr", builtin.lsp_references, { desc = "Go to references" })
map({ "n", "v" }, "<leader>ge", ":Gen<CR>")
map("n", "<leader>gl", "<cmd>lua vim.lsp.buf.code_action()<CR>", { noremap = true, silent = true })
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")

View File

@@ -5,7 +5,6 @@ return {
opts = require "configs.conform",
},
-- These are some examples, uncomment them if you want to see them work!
{
"neovim/nvim-lspconfig",
config = function()
@@ -13,18 +12,85 @@ return {
end,
},
-- Custom Parameters (with defaults)
{
"nvim-treesitter/nvim-treesitter",
"David-Kunz/gen.nvim",
opts = {
ensure_installed = {
"vim",
"lua",
"vimdoc",
"html",
"css",
"typescript",
"javascript",
},
-- model = "llama3.2:3b", -- The default model to use.
model = "mistral-small:22b",
-- host = "192.168.0.17",
quit_map = "q", -- set keymap to close the response window
retry_map = "<c-r>", -- set keymap to re-send the current prompt
accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
-- host = "localhost", -- The host running the Ollama service.
host = "192.168.0.204", -- The host running the Ollama service.
port = "11434", -- The port on which the Ollama service is listening.
display_mode = "vertical-split", -- The display mode. Can be "float" or "split" or "horizontal-split" or "vertical-split".
show_prompt = true, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full".
show_model = true, -- Displays which model you are using at the beginning of your chat session.
no_auto_close = false, -- Never closes the window automatically.
file = false, -- Write the payload to a temporary file to keep the command short.
hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
init = function(options)
pcall(io.popen, "ollama serve > /dev/null 2>&1 &")
end,
-- Function to initialize Ollama
command = function(options)
local body = { model = options.model, stream = true }
return "curl --silent --no-buffer -X POST http://"
.. options.host
.. ":"
.. options.port
.. "/api/chat -d $body"
end,
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
-- This can also be a command string.
-- The executed command must return a JSON object with { response, context }
-- (context property is optional).
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
result_filetype = "markdown", -- Configure filetype of the result buffer
debug = false, -- Prints errors and the command which is run.
},
},
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {},
},
-- {
-- "jacob411/Ollama-Copilot",
-- opts = {
-- model_name = "llama3:3b",
-- stream_suggestion = false,
-- python_command = "python3",
-- filetypes = { "python", "lua", "vim", "markdown", "javascript", "typescript" },
-- ollama_model_opts = {
-- num_predict = 40,
-- temperature = 0.1,
-- },
-- keymaps = {
-- suggestion = "<leader>os",
-- reject = "<leader>or",
-- insert_accept = "<Tab>",
-- },
-- },
-- },
-- These are some examples, uncomment them if you want to see them work!
--
-- {
-- "nvim-treesitter/nvim-treesitter",
-- opts = {
-- ensure_installed = {
-- "vim", "lua", "vimdoc",
-- "html", "css"
-- },
-- },
-- },
--
}

38
.config/swaylock/config Normal file
View File

@@ -0,0 +1,38 @@
daemonize
show-failed-attempts
clock
screenshot
effect-blur=10x10
effect-vignette=1:1
color=1f1d2e80
font="Inter"
indicator
indicator-radius=200
indicator-thickness=20
line-color=1f1d2e
ring-color=191724
inside-color=1f1d2e
key-hl-color=eb6f92
separator-color=00000000
text-color=e0def4
text-caps-lock-color=""
line-ver-color=eb6f92
ring-ver-color=eb6f92
inside-ver-color=1f1d2e
text-ver-color=e0def4
ring-wrong-color=31748f
text-wrong-color=31748f
inside-wrong-color=1f1d2e
inside-clear-color=1f1d2e
text-clear-color=e0def4
ring-clear-color=9ccfd8
line-clear-color=1f1d2e
line-wrong-color=1f1d2e
bs-hl-color=31748f
grace=2
grace-no-mouse
grace-no-touch
datestr=%a, %B %e
timestr=%I:%M %p
fade-in=0.5
ignore-empty-password

View File

@@ -59,6 +59,7 @@
"(.*)Gajim": "󰟿 Gajim"
}
},
"hyprland/workspaces": {
"window-rewrite-default":"",
"disable-scroll": true,
@@ -69,6 +70,16 @@
"on-scroll-up": "hyprctl dispatch workspace -1",
"on-scroll-down": "hyprctl dispatch workspace +1",
"persistent-workspaces": {}
// "format":"{icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "6": ""
// }
// }
},
"bluetooth": {
@@ -82,6 +93,7 @@
"tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
},
"cpu": {
"interval": 10,
"format": "󰍛 {usage}%",
@@ -152,6 +164,7 @@
"deactivated": ""
}
},
"clock": {
"format": "{:%H:%M}",
"rotate": 0,
@@ -260,6 +273,8 @@
"interval": 1
},
//not used atm
"battery": {
"states": {
"good": 95,
@@ -312,6 +327,7 @@
"on-scroll-down": "brightnessctl set 1%-",
"min-length": 6
},
// modules for padding //
"custom/l_end": {

View File

@@ -8,6 +8,7 @@ modmap:
# keymap:
# - name: Alt+hjkl to Arrows
# remap:
# # Alt-H: Alt+left #back
# Alt-h: left
# Alt-l: right
# Alt-j: down

488
.config/zellij/config.kdl Normal file
View File

@@ -0,0 +1,488 @@
//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/anon/.config/zellij/config.kdl.bak
//
keybinds clear-defaults=true {
locked {
bind "Alt g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Alt p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Alt t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Alt n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Alt h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
bind "Alt s" { SwitchToMode "normal"; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Alt o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_among "normal" "locked" {
bind "Ctrl Alt left" { MoveFocusOrTab "left"; }
bind "Ctrl Alt down" { MoveFocus "down"; }
bind "Ctrl Alt up" { MoveFocus "up"; }
bind "Ctrl Alt right" { MoveFocusOrTab "right"; }
bind "Ctrl Alt +" { Resize "Increase"; }
bind "Ctrl Alt -" { Resize "Decrease"; }
bind "Ctrl Alt =" { Resize "Increase"; }
bind "Ctrl Alt [" { PreviousSwapLayout; }
bind "Ctrl Alt ]" { NextSwapLayout; }
bind "Ctrl Alt f" { ToggleFloatingPanes; }
bind "Ctrl Alt h" { MoveFocusOrTab "left"; }
bind "Ctrl Alt i" { MoveTab "left"; }
bind "Ctrl Alt j" { MoveFocus "down"; }
bind "Ctrl Alt k" { MoveFocus "up"; }
bind "Ctrl Alt l" { MoveFocusOrTab "right"; }
bind "Ctrl Alt n" { NewPane; }
bind "Ctrl Alt o" { MoveTab "right"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" "move" "prompt" "tmux" {
bind "Alt h" { SwitchToMode "move"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Alt g" { SwitchToMode "locked"; }
bind "Alt q" { Quit; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" "session" "prompt" "tmux" {
bind "Alt o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Alt s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Alt t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Alt p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Alt n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
shared_among "entersearch" "renametab" "renamepane" "prompt" "tmux" {
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Ctrl h" { SwitchToMode "move"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Ctrl n" { SwitchToMode "resize"; }
bind "Alt n" { NewPane; }
bind "Ctrl o" { SwitchToMode "session"; }
bind "Alt o" { MoveTab "right"; }
bind "Ctrl p" { SwitchToMode "pane"; }
bind "Ctrl q" { Quit; }
bind "Ctrl s" { SwitchToMode "scroll"; }
bind "Ctrl t" { SwitchToMode "tab"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
theme "one-half-dark"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// 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
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
// show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false

View File

@@ -0,0 +1,452 @@
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// 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
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
// show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false

View File

@@ -0,0 +1,120 @@
themes {
gruvbox-dark {
text_unselected {
base 251 241 199
background 60 56 54
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
text_selected {
base 251 241 199
background 80 73 69
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
ribbon_selected {
base 60 56 54
background 152 151 26
emphasis_0 204 36 29
emphasis_1 214 93 14
emphasis_2 177 98 134
emphasis_3 69 133 136
}
ribbon_unselected {
base 60 56 54
background 235 219 178
emphasis_0 204 36 29
emphasis_1 251 241 199
emphasis_2 69 133 136
emphasis_3 177 98 134
}
table_title {
base 152 151 26
background 0
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
table_cell_selected {
base 251 241 199
background 80 73 69
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
table_cell_unselected {
base 251 241 199
background 60 56 54
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
list_selected {
base 251 241 199
background 80 73 69
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
list_unselected {
base 251 241 199
background 60 56 54
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 152 151 26
emphasis_3 177 98 134
}
frame_selected {
base 152 151 26
background 0
emphasis_0 214 93 14
emphasis_1 104 157 106
emphasis_2 177 98 134
emphasis_3 0
}
frame_highlight {
base 214 93 14
background 0
emphasis_0 177 98 134
emphasis_1 214 93 14
emphasis_2 214 93 14
emphasis_3 214 93 14
}
exit_code_success {
base 152 151 26
background 0
emphasis_0 104 157 106
emphasis_1 60 56 54
emphasis_2 177 98 134
emphasis_3 69 133 136
}
exit_code_error {
base 204 36 29
background 0
emphasis_0 215 153 33
emphasis_1 0
emphasis_2 0
emphasis_3 0
}
multiplayer_user_colors {
player_1 177 98 134
player_2 69 133 136
player_3 0
player_4 215 153 33
player_5 104 157 106
player_6 0
player_7 204 36 29
player_8 0
player_9 0
player_10 0
}
}
}