Skip to content

randomthought/xmonad-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xmonad-config

xmonad-config is my xmonad configuration was inspired by Vic Fryzel, gilbertw1 and Ethan Schoonover

Introduction

If you are unfamiliar with xmonad, it is a tiling window manager that is notoriously minimal, stable, beautiful, and featureful. If you find yourself spending a lot of time organizing or managing windows, you may consider trying xmonad.

However, xmonad can be somewhat difficult to configure if you’re new to Haskell or even to xmonad itself.

This project contains a completely working and very usable xmonad configuration “out of the box”. If you are just starting out with xmonad, this will give you a configuration that I personally use every day. Thought it has been put into the colors, key bindings, layouts, and supplementary scripts to make life easier.

This project is also recommended for advanced xmonad users, who may just not want to reinvent the wheel. All source provided with this project is well documented and simple to customize.

screenshots/screenshot1.png screenshots/screenshot2.png

Requirements

Installing requirements on Arch Linux

sudo pacman -S xmonad xmonad-contrib xmobar stalonetray \
xcompmgr rofi

Installing requirements on Ubuntu Linux

sudo aptitude install xmonad libghc-xmonad-contrib-dev xmobar stalonetray \
rofi

Installation

Installing xmonad-config is a matter of backing up any xmonad configuration you may already have, cloning the git repository, and updating your PATH.

cd
mv .xmonad .xmonad.orig
git clone https://github.com/randomthought/xmonad-config.git .xmonad

Once xmonad-config is installed, you also need to ensure you can actually start xmonad. The mechanism to do this varies based on each environment, but here are some instructions for some common login managers.

Starting xmonad from lightdm, xdm, kdm, or gdm

ln -s ~/.xmonad/bin/xsession ~/.xsession
# Logout, login from lightdm/xdm/kdm/gdm

Starting xmonad from slim

ln -s ~/.xmonad/bin/xsession ~/.xinitrc
# Logout, login from slim

Keyboard shortcuts

After starting xmonad, use the following keyboard shortcuts to function in your new window manager. I recommend you print these out so that you don’t get stranded once you logout and back in.

Key BindingAction
Win+Shift+ReturnStart a terminal
Win+Ctrl+0Lock screen
Win+pStart dmenu. Once it comes up, type the name of a program and enter
Win+Shift+pTake screenshot in select mode. Click or click and drag to select
Win+Ctrl+Shift+pTake fullscreen screenshot. Supports multiple monitors
Win+Shift+cClose focused window
Win+SpaceChange workspace layout
Win+rRotates a split between vertical and horizontal BinarySpacePartition layout
Win+sSwaps to sibling nodes BinarySpacePartition layout
Win+Shift+SpaceChange back to default workspace layout
Win+nResize viewed windows to the correct size
Win+Ctrl+LeftTab current focused window with the window to the left
Win+Ctrl+RightTab current focused window with the window to the right
Win+Ctrl+UpTab current focused window with the window above
Win+Ctrl+DownTab current focused window with the window below
Win+Ctrl+uUngroup the current tabbed windows
Win+Ctrl+mMerge all windows in the current workspace to one tabbed window
Win+TabFocus next tabbed window
Win+LeftFocus on window to the Left
Win+RightFocus on window to the Right
Win+UpFocus on window above
Win+Shift+LeftSwap adjacent window to the left
Win+Shift+RightSwap adjacent window to the right
Win+Shift+UpSwap adjacent window above
Win+Shift+DownSwap adjacent window below
Win+Ctrl+LeftExpand / Shrink window to the left
Win+Ctrl+LeftExpand / Shrink window to the right
Win+Ctrl+UpExpand / Shrink window to the up
Win+Ctrl+DownExpand / Shrink window to the down
Win+hShrink master window area
Win+lExpand master window area
Win+mFocus master window
Win+ReturnSwap focused window with master window
Win+tPush floating window back into tiling
Win+,Increment number of windows in master window area
Win+.Decrement number of windows in master window area
Win+qRestart xmonad. This reloads xmonad configuration, does not logout
Win+Shift+qQuit xmonad and logout
Win+[1-9]Switch to workspace 1-9, depending on which number was pressed
Win+Shift+[1-9]Send focused window to workspace 1-9
Win+wFocus left-most monitor Xinerama screen 1
Win+eFocus center-most monitor Xinerama screen 2
Win+rFocus right-most monitor Xinerama screen 3
Win+Shift+wSend focused window to workspace on left-most monitor
Win+Shift+eSend focused window to workspace on center-most monitor
Win+Shift+rSend focused window to workspace on right-most monitor
Win+Left Mouse DragDrag focused window out of tiling
Win+Right Mouse DragResize focused window, bring out of tiling if needed
Win+Right Mouse DragResize focused window, bring out of tiling if needed

Personalizing or modifying xmonad-config

Once cloned, xmonad-config is laid out as follows.

All xmonad configuration is in ~/.xmonad/xmonad.hs. This includes things like key bindings, colors, layouts, etc. You may need to have some basic understanding of Haskell in order to modify this file, but most people have no problems.

Most of the xmobar configuration is in ~/.xmonad/xmobar.hs.

All scripts are in ~/.xmonad/bin/. Scripts are provided to do things like take screenshots, start the system tray, start dmenu, or fix your multi-head layout after a fullscreen application may have turned off one of the screens.

Colors set in the xmobar config and dmenu script are meant to coincide with the IR_Black terminal and vim themes.

Releases

No releases published

Packages

No packages published