sunwm is a manual tiling window manager for X11/Linux, inspired by StumpWM and Ratpoison.
Make sure you have the following installed:
- GHC (http://www.haskell.org/ghc/)
- stack (https://docs.haskellstack.org/en/stable/README/)
- X11 development libraries (http://www.x.org/wiki/)
The above can all be easily installed through the package manager of any common Linux distribution.
$ git clone https://github.com/zmeadows/sunwm.git
$ cd sunwm
$ stack setup
$ stack build
$ stack install # optional, will put sunwm.exe in PATH
sunwm is configured entirely through the sunwm/app/Main.hs
file.
See the included default file Main_default.hs
for further details.
focusTo direction [Ctl t + (h,j,k,l)]
Switches focus towards direction within the visible tiled windows. ex: focusTo R
splitV ratio [Ctl t + v]
Splits the focused frame vertically, yielding two new frames where the new left/right frame sizes are dictated by ratio.
splitH ratio [Ctl t + h]
Splits the focused frame horizontally, yielding two new frames where the new up/down frame sizes are dictated by ratio.
swapToDir direction [Ctl t + (H,J,K,L)]
Swaps the contents of two adjacent frames.
raiseHidden L/R [Ctl t + (i,o)]
Cycles through the stack of hidden windows within the focused frame.
removeFrame [Ctl t + r]
Removes the focused frame. If a window was contained within the frame, it is added to the hidden stack.
spawnTerminal [Ctl t + c]
Launches a user-defined terminal.
makeOnly [Ctl t + e]
Remove all splits from the current workspace, leaving only the focused frame to occupy the entire screen.
killWindow [Ctl t + q]
Exits the currently focused window. If there are windows in the hidden stack, the next in the queue will be focused. Otherwise, the frame becomes empty.
equalize [Ctl t + =]
Sets the split ratios of all frames to 0.5.
banish [Ctl t + b]
Relocates the mouse pointer to the bottom right of the currently focused screen.
flipT [Ctl t + /]
Rotates the workspace frame layout by 90 degrees.
shiftTo direction [Ctl t + (alt + (h,j,k,l))]
Shifts the focused frame towards direction.
resizeFrame direction ratio [alt + (H,J,K,L)]
Resizes the frame layout by increase/decreasing the split ratio by ratio in the specified direction.
toggleWS [alt + tab]
Switches back to the last used workspace.
toggleScr [win + tab]
Switches focus back to the last used screen.
quit [alt + Q]
Exit sunwm.
changeWS number [alt + (1,2,3,..)]
Switches to the workspace specified by number.
moveWinToWS number [alt + shift + (1,2,3,..)]
Moves the focused window to the workspace specified by number. The window will be placed into the last frame that was focused on the new workspace.
- Ratpoison (http://ratpoison.nongnu.org/)
- StumpWM (http://www.nongnu.org/stumpwm/)
- XMonad (http://xmonad.org/)
- i3 (http://i3wm.org/)
- dwm (http://dwm.suckless.org/)
- xmobar (http://projects.haskell.org/xmobar/)
- dmenu (http://tools.suckless.org/dmenu/)
- Haskell Programming Language (http://www.haskell.org/haskellwiki/Haskell)