Skip to content

Latest commit

 

History

History
155 lines (109 loc) · 5.13 KB

README.md

File metadata and controls

155 lines (109 loc) · 5.13 KB

bspwm


My bspwm settings and custom configurations.

Screenshot

Screenshot

Setup

  • 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

Keybindings

  • General

    • Ctrl + Esc: Reload sxhkd configuration
    • Alt + w: Close current window
    • Alt + f: Full screen current window
    • Alt + Shift + f: Float current window
    • Alt + s: Sticky current window
    • Alt + Tab: Focus next window
    • Alt + {h,j,k,l}: Focus h,j,k,l window
    • Alt + {1,2,3,4,...}: Go to the {n} desktop
    • Alt + backtick: Go to the next occupied desktop
    • Alt + Shift + backtick: Go to the previous occupied desktop
    • Alt + Shift + 1: Go to the prev monitor
    • Alt + Shift + 2: Go to the next monitor
  • Launching applications

    • Ctrl + Enter: gnome-terminal
    • Ctrl + Shift + Enter: Floating gnome-terminal
    • Ctrl + Space: dmenu (Escape to hide it)
    • Ctrl + Shift + Space: dmenu to switch between aplications
    • Super + Space: show status bar
    • Super + c: Chromium
    • Super + Print: Take screenshot
    • Super + l: Switch keyboard layout
  • Moving windows

    • Alt + Ctrl + f: Center-focus window
    • Alt + Ctrl + {h,j,k,l}: Move (reposition) currently focused window
    • Alt + Ctrl + {1,2,3,4,...}: Move currently focused window to the {n} desktop
    • Alt + 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 monitor
    • Super + Ctrl + {h,j,k,l}: Move window position (float)
  • Hiding windows

    • Super + u: Hide currently focused window
    • Super + Alt + u: Unhide last hidden window (it's a stack)
  • Resizing windows

    • Super + Shift + {h,j,k,l}: Change (increase/decrease) window height/width
    • Super + 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 transparency
    • Super + Alt + plus: Increase transparency

Feedback

If you'd like to contribute to the project or file a bug or feature request, please visit the project page.

License

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.