initial dotfiles

This commit is contained in:
srtk 2026-04-25 16:39:11 +05:30
commit 45e5fe53d2
370 changed files with 25449 additions and 0 deletions

90
.config/bspwm/bspwmrc Executable file
View file

@ -0,0 +1,90 @@
#! /bin/bash
# Start sxhkd if it's not already running
pgrep -x sxhkd >/dev/null || sxhkd -c ~/.config/bspwm/sxhkdrc &
# Start picom
picom --config $HOME/.config/bspwm/picom.conf &
# Set window manager name to LG3D to fix some Java applications display issues
wmname LG3D
# Vars
export XDG_CURRENT_DESKTOP="bspwm"
sh -c 'function shenv() { export "$1=$2"; }; source ~/.env;'
# Workspaces Configuration
bspc monitor DisplayPort-1 -d 1 2 3 4 5 6 7 8
# Enable window focus follow mouse pointer
bspc config focus_follows_pointer true
# Auto set monitor
monitor=$(xrandr --query | grep " connected" | awk '{ print $1 }' | head -n 1)
resolution=$(xrandr --query | grep -A1 "^$monitor" | grep -Eo '[0-9]+x[0-9]+' | sort -V | tail -n 1)
refresh_rate=$(xrandr --query | grep -A1 "^$monitor" | grep -Eo '[0-9]+\.[0-9]+' | sort -V | tail -n 1)
if [[ -n $monitor && -n $resolution && -n $refresh_rate ]]; then
xrandr --output "$monitor" --mode "$resolution" --rate "$refresh_rate"
fi
# Set the border colors for focused and normal windows
bspc config focused_border_color "#727d53"
bspc config border_width 2
bspc config borderless_monocle true
# Set mouse cursor to left pointer
xsetroot -cursor_name left_ptr
# Configure gaps and window gap size
bspc config gapless_monocle false
bspc config window_gap 10
# Configure actions for moving and resizing floating windows with the mouse (mod4 = Super/Windows key)
bspc config pointer_modifier mod4
bspc config pointer_action1 move
bspc config pointer_action2 resize_side
bspc config pointer_action3 resize_corner
# Rules
bspc rule -a feh state=floating
bspc rule -a '*:sun-awt-X11-XWindowPeer' manage=off
bspc rule -a 'vlc' state=floating center=true
bspc rule -a 'Blueman-manager' state=floating center=true
bspc rule -a 'qt5ct' state=floating rectangle=900x600+0+0 center=true
bspc rule -a 'qt6ct' state=floating rectangle=900x600+0+0 center=true
bspc rule -a 'ark' state=floating center=true
bspc rule -a 'Xarchiver' state=floating center=true
bspc rule -a 'pavucontrol' state=floating center=true
bspc rule -a 'Yad' state=floating center=true
bspc rule -a 'Blueman-manager' state=floating center=true
bspc rule -a 'Gnome-calculator' state=floating rectangle=360x500+0+0 center=true
bspc rule -a 'loupe' state=floating rectangle=1200x800+0+0 center=true
bspc rule -a 'pavucontrol' state=floating rectangle=920x450+0+0 center=true
bspc rule -a 'gamescope' desktop=11
bspc rule -a 'legcord' desktop=10
# Resources and Utilities
dbus-update-activation-environment --systemd XDG_CURRENT_DESKTOP
xrdb merge $HOME/.Xresources
xsettingsd &
dunst &
flameshot &
sh $HOME/.config/polybar/launch.sh
sh $HOME/.config/scripts/polkitkdeauth.sh
sh $HOME/.config/scripts/set-wallpaper.sh
# Clipboard sync
if command -v clipnotify >/dev/null 2>&1 && command -v xclip >/dev/null 2>&1 && command -v cliphist >/dev/null 2>&1; then
(
while clipnotify; do
xclip -o -selection c | cliphist store
done
) &
fi
# Apps to open on startup
legcord &
xset s off &
xset s noblank &
xset dpms 0 0 0 &

View file

@ -0,0 +1 @@
/home/sarthak/.config/bspwm/wallpaper/wallpaper.jpg

48
.config/bspwm/picom.conf Normal file
View file

@ -0,0 +1,48 @@
#################################
# Backend
#################################
backend = "glx";
vsync = true;
#################################
# Animations (smooth but light)
#################################
animations = true;
animation-stiffness = 200;
animation-dampening = 20;
animation-clamping = true;
animation-for-open-window = "zoom";
animation-for-unmap-window = "fade";
animation-for-transient-window = "zoom";
#################################
# Fading (subtle smoothness)
#################################
fading = true;
fade-in-step = 0.04;
fade-out-step = 0.04;
fade-delta = 5;
#################################
# Transparency (ONLY terminal)
#################################
inactive-opacity = 1.0;
active-opacity = 1.0;
opacity-rule = [
"85:class_g = 'kitty'"
];
#################################
# Shadows (optional but light)
#################################
shadow = false;
#################################
# Performance / sanity
#################################
unredir-if-possible = true;
detect-client-opacity = true;
use-damage = true;
log-level = "warn";

144
.config/bspwm/picom.conf.bak Executable file
View file

@ -0,0 +1,144 @@
# Animations
animations = true;
animation-stiffness-in-tag = 200;
animation-stiffness-tag-change = 120.0;
animation-window-mass = 0.5;
animation-dampening = 20;
animation-clamping = true;
animation-for-open-window = "slide-up";
animation-for-unmap-window = "slide-down";
animation-for-menu-window = "slide-up";
animation-for-transient-window = "slide-up";
animation-for-prev-tag = "slide-up";
enable-fading-prev-tag = true;
animation-for-next-tag = "slide-down";
enable-fading-next-tag = true;
# Shadow
shadow = false;
# Fading
fading = true;
fade-in-step = 0.02;
fade-out-step = 0.03;
fade-delta = 8;
no-fading-openclose = false;
# Transparency
inactive-opacity-override = true;
active-opacity-override = true;
focus-exclude = [
"class_g = 'Cairo-clock'",
];
opacity-rule = [
# Fullscreen is not transparent
"100:fullscreen",
"100:_NET_WM_STATE@[*]:32a = '_NET_WM_STATE_FULLSCREEN'",
# Rest of the apps
"75:class_g *?= 'firefox'",
"75:class_g *?= 'Signal'",
"75:class_g *?= 'Code'",
"75:class_g *?= 'nemo'",
"75:class_g *?= 'pavucontrol'",
"75:class_g *?= 'qt5ct'",
"75:class_g *?= 'qt6ct'",
"75:class_g *?= 'Ark'",
"75:class_g *?= 'Xarchiver'",
"75:class_g *?= 'obs'",
"75:class_g *?= 'kitty'",
"75:class_g *?= 'Spotify'",
"75:class_g *?= 'blueman-manager'",
"75:class_g *?= 'Steam'",
"75:class_g *?= 'steamwebhelper'",
"75:class_g *?= 'Discord'",
"75:class_g *?= 'Webcord'",
"75:class_g *?= 'legcord'",
"75:class_g *?= 'yad'",
"75:class_g *?= 'org.kde.polkit-kde-authentication-agent-1'",
"75:class_g *?= 'polkit-gnome-authentication-agent-1'",
"75:class_g *?= 'org.freedesktop.impl.portal.desktop.gtk'",
"75:class_g *?= 'Loupe'",
"75:class_g *?= 'gnome-calculator'",
"75:class_g *?= 'Evince'",
"75:class_g *?= 'Polybar'",
"75:class_g *?= 'Rofi'",
];
# Borders
border-color = "#8b9151";
corner-radius = 0;
unredir-if-possible = true;
no-ewmh-fullscreen = true;
rounded-corners-exclude = [
"name = 'Polybar tray window'",
"window_type = 'desktop'",
"window_type = 'dropdown_menu'",
"window_type = 'popup_menu'",
"window_type = 'utility'",
"window_type = 'tooltip'",
"window_type = 'splash'",
"class_g *?= 'dunst'",
"class_g *?= 'Rofi'",
"BSPWM_TILED@:c = 1",
"_NET_WM_STATE@[*]:32a = '_NET_WM_STATE_FULLSCREEN'",
];
# Blur
blur: {
method = "dual_kawase";
strength = 3;
background = true;
background-frame = false;
background-fixed = false;
}
blur-background-exclude = [
"class_g = 'Dunst'",
"window_type = 'desktop'",
"window_type *= 'menu'",
"window_type = 'utility'",
"window_type = 'tooltip'",
"window_type = 'splash'",
"class_g *?= 'polybar'",
"class_g *?= 'Rofi'",
"class_g *?= 'screenkey'",
"class_g *?= 'GLava'",
"class_g *?= 'kdeconnectd'",
"class_g *?= 'kdeconnect.daemon'",
"class_g *?= 'activate-linux'",
"_GTK_FRAME_EXTENTS@:c",
];
# General settings
backend = "glx"
dithered-present = false;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = false;
detect-client-opacity = false;
use-ewmh-active-win = true;
unredir-if-possible = false;
detect-transient = true;
#glx-no-stencil = true;
use-damage = true;
xrender-sync-fence = true;
#window-shader-fg = "";
transparent-clipping = false;
log-level = "warn";
# Window types
wintypes:
{
tooltip = { fade = true; shadow = false; opacity = 0.85; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.9; }
dropdown_menu = { opacity = 0.9; }
normal = { animation = "slide-down"; animation-unmap = "slide-up"; }
};

96
.config/bspwm/sxhkdrc Executable file
View file

@ -0,0 +1,96 @@
# System binding
super + {Return,v,w,x,b,period}
{st, \
sh ~/.config/scripts/rofi-menus/clipboard-manager.sh, \
rofi -show drun, \
sh ~/.config/scripts/rofi-menus/powermenu.sh, \
sh ~/.config/scripts/toggle-bar.sh, \
sh ~/.config/scripts/rofi-menus/rofimoji.sh}
# Screenshots
super + alt + p
flameshot gui
# DC-multivpn
alt + shift + v
~/.config/scripts/dc-multivpn/dc-multivpn.sh
# Media control (volume)
XF86Audio{RaiseVolume,LowerVolume,Mute}
sh ~/.config/scripts/volume.sh --device output --action {increase,decrease,toggle}
XF86AudioMicMute
sh ~/.config/scripts/volume.sh --device input --action toggle
# Media control (player)
XF86Audio{Play,Pause,Next,Prev,Stop}
{playerctl play-pause, \
playerctl play-pause, \
playerctl next, \
playerctl previous, \
playerctl stop}
ctrl + alt + {c,x,z}
{playerctl play-pause, \
playerctl next, \
playerctl previous}
# Quit bspwm
super + Delete
bspc quit
# Reload bspwm
super + alt + r
bspc wm -r
# Reload sxhkd
super + Escape
pkill -USR1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config' -t 1500
# Kill node
super + q
bspc node -c
# Floating/tiled node
super + space
bspc node -t "~"{floating,tiled}
# Fullscreen
super + f
bspc node -t \~fullscreen
# Move node
super + {_,shift + }{Right,Left,Up,Down}
bspc node -{f,s} {
east, \
west, \
north, \
south}
# Alt tab
alt + Tab
bspc node -f last
# Change desktop
super + {1-9,0}
bspc desktop -f {1-9,10}
# Move to next desktop
super + ctrl + Right
bspc desktop -f next
# Move to previous desktop
super + ctrl + Left
bspc desktop -f prev
# Move node to another desktop
super + shift + {1-9,0}
bspc node -d '^{1-9,10}'
# Switch node
super + shift + ctrl + {Left,Right,Up,Down}
{bspc node -s west, \
bspc node -s east, \
bspc node -s north, \
bspc node -s south}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB