My bspwm settings and custom configurations.
-
Follow BSPWM's installation guide. Basically:
-
Compile and install BSPWM
git clone https://github.com/baskerville/bspwm.git cd bspwm make && make install
-
Compile and install SXHKD
git clone https://github.com/baskerville/sxhkd.git cd sxhkd make && make install
-
Update your system to integrate the changes:
-
Open up
~/.xinitrc
and add the following to the bottom:sxhkd & exec bspwm
-
Make .xinitrc executable
chmod +x ~/.xinitrc
-
-
Create an entry for your login manager, if any:
-
Make the file
/usr/share/xsessions/bspwm.desktop
and add the following to it:[Desktop Entry] Encoding=UTF-8 Name=BSPWM Comment=Binary Space Partitioning Window Manager Exec=xinitrc Type=XSession
-
Link your .xinitrc to an executable file in your path
ln -s ~/.xinitrc /usr/bin/xinitrc
-
-
Be sure to have the following packages installed
libxcb xcb-util xcb-util-wm
Other dependencies include:
libxft-dev libx11-dev
-
-
Set up custom configuration (this repo)
git clone http://github.com/desyncr/bspwmrc.git cd bspwmrc mv ~/.config/bspwm ~/.config/bspwm.$(date +%s) && \ ln -s $PWD ~/.config/bspwm mv ~/.config/sxhkd ~/.config/sxhkd.$(date +%s) && \ ln -s $PWD ~/.config/sxhkd
-
If you want to use Compton configure the path to it on
init
:compton=~/.compton/
-
Other dependencies
-
Some features like
preset
and so on depends on the following tools: -
Topbar depends on dzen and dunst for notifications. Also xtitle and clock.
-
Statusbar depends on conky and dzen to display info.
-
-
General
Ctrl + Esc
: Reload sxhkd configurationAlt + w
: Close current windowAlt + f
: Full screen current windowAlt + Shift + f
: Float current windowAlt + s
: Sticky current windowAlt + Tab
: Focus next windowAlt + {h,j,k,l}
: Focus h,j,k,l windowAlt + {1,2,3,4,...}
: Go to the {n} desktopAlt + backtick
: Go to the next occupied desktopAlt + Shift + backtick
: Go to the previous occupied desktopAlt + Shift + 1
: Go to the prev monitorAlt + Shift + 2
: Go to the next monitor
-
Launching applications
Ctrl + Enter
: gnome-terminalCtrl + Shift + Enter
: Floating gnome-terminalCtrl + Space
: dmenu (Escape to hide it)Ctrl + Shift + Space
: dmenu to switch between aplicationsSuper + Space
: show status barSuper + c
: ChromiumSuper + Print
: Take screenshotSuper + l
: Switch keyboard layout
-
Moving windows
Alt + Ctrl + f
: Center-focus windowAlt + Ctrl + {h,j,k,l}
: Move (reposition) currently focused windowAlt + Ctrl + {1,2,3,4,...}
: Move currently focused window to the {n} desktopAlt + Shift + {h,j,k,l}
: Create a new window on the given spot (Alt + Space
to cancel)Ctrl + Shift + {h,l}
: Move window to the other monitorSuper + Ctrl + {h,j,k,l}
: Move window position (float)
-
Hiding windows
Super + u
: Hide currently focused windowSuper + Alt + u
: Unhide last hidden window (it's a stack)
-
Resizing windows
Super + Shift + {h,j,k,l}
: Change (increase/decrease) window height/widthSuper + Shift + 1
: Preset position 1 (top right)Super + Shift + 2
: Preset position 2 (bottom right)Super + Shift + 3
: Preset position 3 (vertical left)Super + Shift + 4
: Preset position 4 (wide vertial left)Super + Shift + 5
: Preset position 5 (small bottom right)Super + plus/minus/equal/0
: Increase/decrease/restore/remove windows gap
-
Terminal transparency
Super + Alt + minus
: Decrease transparencySuper + Alt + plus
: Increase transparency
If you'd like to contribute to the project or file a bug or feature request, please visit the project page.
The project is licensed under the GNU GPL v3 (tldr) license. Which means you're allowed to copy, edit, change, hack, use all or any part of this project as long as all of the changes and contributions remains under the same terms and conditions.