diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc new file mode 100644 index 00000000..a853d7f7 --- /dev/null +++ b/.config/bspwm/bspwmrc @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +# +# bspwmrc +# bspwm configuration file +# + +## Behavior +# Tiling behavior +bspc config split_ratio 0.50 +bspc config remove_disabled_monitors false +bspc config remove_unplugged_monitors true + +# Pointer behavior +bspc config click_to_focus any +bspc config pointer_follows_focus false +bspc config pointer_follows_monitor true +bspc config pointer_modifier mod1 +bspc config pointer_action1 move #LMB +bspc config pointer_action2 resize_corner #RMB + +## Looks +# Padding +bspc config border_width 4 +bspc config window_gap 6 +bspc config single_monocle false +bspc config borderless_monocle false +bspc config gapless_monocle true +# Colors +bspc config normal_border_color "#3c3836" #Unfocused +bspc config active_border_color "#458588" #Focused, but current monitor isn't +bspc config focused_border_color "#83a598" #Focused completely +bspc config presel_feedback_color "#9b9b9b" #??? + +## Rules +bspc rule -r '*' +bspc rule -a Firefox desktop=1 +bspc rule -a Firefox-esr desktop=1 +bspc rule -a Waterfox desktop=1 +bspc rule -a discord desktop=7 +bspc rule -a spotify desktop=8 +bspc rule -a 'Minecraft 1.7.10' state=fullscreen +# For fullscreen Wine +bspc rule -a explorer.exe state=fullscreen +# Plasma rules +bspc rule -a plasmashell state=floating sticky=on border=off +bspc rule -a krunner state=floating layer=above sticky=on border=off +# Widgets +bspc rule -a Conky state=floating layer=below sticky=on +bspc rule -a pavucontrol-qt state=floating layer=above sticky=on diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc new file mode 100644 index 00000000..1d473db1 --- /dev/null +++ b/.config/sxhkd/sxhkdrc @@ -0,0 +1,119 @@ +#!/bin/bash + +## GENERAL HOTKEYS +alt + Return + $TERMINAL +alt + space + rofi -show drun +alt + backslash + rofi -show ssh +alt + Tab + rofi -show window +alt + Escape + pkill -USR1 -x sxhkd +ctrl + alt + l + i3lock-custom + +# pavucontrol-qt Controls +alt + p + pavucontrol-qt +alt + shift + p + killall pavucontrol-qt + +# Pulse controls +XF86Audio{Raise,Lower}Volume + pactl set-sink-volume 0 {+,-}5% +XF86AudioMute + pactl set-sink-mute 0 toggle + +# Brightness controls +XF86MonBrightness{Up,Down} + xbacklight {-inc,-dec} 5 + +## BSPWM HOTKEYS +alt + shift + r + ~/.config/bspwm/bswpmrc +alt + {_,shift + }q + bspc node -{c,k} + +# alternate between the tiled and monocle layout +alt + m + bspc desktop -l next + +# if the current node is automatic, send it to the last manual, otherwise pull the last leaf +alt + y + bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused + +# swap the current node and the biggest node +alt + g + bspc node -s biggest + +# set the window state +alt + {t,shift + t,f,shift + f} + bspc node -t {tiled,pseudo_tiled,floating,fullscreen} + +# set the node flags +alt + ctrl + {x,y,z} + bspc node -g {locked,sticky,private} + +# focus the node in the given direction +alt + {_,shift + }{h,j,k,l} + bspc node -{f,s} {west,south,north,east} + +# focus the node for the given path jump +alt + {a,b} + bspc node -f @{parent,brother} + +# focus the next/previous node in the current desktop +alt + {_,shift + }c + bspc node -f {next,prev}.local + +# focus the next/previous desktop in the current monitor +alt + {comma,period} + bspc desktop -f {prev,next}.local + +# focus the last node/desktop +alt + {grave,Tab} + bspc {node,desktop} -f last + +# focus the older or newer node in the focus history +alt + {o,i} + bspc wm -h off; \ + bspc node {older,newer} -f; \ + bspc wm -h on + +# focus or send to the given desktop +alt + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '{1-9,10}' + +# +# preselect +# + +# preselect the direction +super + {h,j,k,l} + bspc node -p {west,south,north,east} + +# preselect the ratio +super + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +super + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +ctrl + alt + space + bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel + +# +# move/resize +# + +# expand a window by moving one of its side outward +super + alt + {h,j,k,l} + bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} + +# contract a window by moving one of its side inward +super + alt + shift + {h,j,k,l} + bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}