Skip to content

pinpox/dotfiles-xmonad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles-xmonad

This repo contains my xmonad configuartion, it is work in progress. I will be adding and modifying things until I get everything set up the way I want it and hopefully learn some haskell along the way.

Screenshot with 3 screens attached

Keybindings

The Mod key is set to Super (Windows key)

Shortcut Action
Mod + Enter Open terminal emulator (alacritty)
Mod + p Open application laucher (rofi)
Mod + Shift + p Open password manager (rofi-pass)
Mod + Shift + q Close window
Mod + Space Cycle trough layouts
Mod + Tab Focus next window
Mod + j Focus next window
Mod + k Focus previous window
Mod + m Focus master window
Mod + Shift + j Swap focused with next window
Mod + Shift + k Swap focused with previous window
Mod + h Shrink master window
Mod + l Expand master window
Mod + t Push window back to tiling
Mod + , Increment number of windows in master
Mod + . Decrement number of windows in master
Mod + q Recompile and restart xmonad
Mod + 1 .. 9 Switch to workspace 1..9
Mod + Shift+ 1 .. 9 Move focused window to workspace 1..9
Mod + Mouse left Float and move window
Mod + Mouse right Resize floating window
Mod + Mouse middle Raise window to top of stack

Layouts

The following layouts are configured for now:

  • Master tiled horizontal (golden ratio)
  • Master tiled vertical (golden ratio)
  • Tabbed
  • Fullscreen

Multihead behaviour

Workspaces will be on the monitor on which they started. The configuration should work out of the box with 1 .. n screens if they are detected correctly by xrandr.

Switching to a workspace on a different screen than the current one, will change focus to that workspace but not swap it with the current screen. This behaviour is configured to be similar to i3's multihead behaviour.

Autostart applications

For convenience only ~/.xmonad/autostart.sh is launched once on startup of xmonad. Applications that should be autostarted can be includede here. Don't forget the & after commands that will continue to run or the applications below will never be reached.

At the moment the following application are configured for autostarting:

  • Set default screenlayout (~/.screenlayout/default.sh)
  • Set keyboard map (setxkbmap us -variant colemak -option "caps:escape")
  • Compositor (picom --config ~/.config/picom/picom.conf &)
  • Wallpaper (nitrogen --restore &)

xmobar is started separately from the startupHook in xmonad's configuration.

XMobar

The statusbar (xmobar) incudes some system information and a workspace indicator. The workspace indicator will show only workspaces that have windows on them by number. The currently focused workspace on the current screen is highlighted in color, workspaces visible (on any screen) are wrapped with [ ], workspaces visible on other screens are wrapped with ( ). The bar is shown on all screens, from the respective screen's point of view.

Dependencies

  • xmobar
  • rofi
  • rofi-pass
  • alacritty
  • imagemagick (for screenshots)

Appearance

The top of the configuration includes variables to define 16 colors. These will be used throughout the configuration. The variables make adapting any of the base16 colorschemes easy.

The font is set to Roboto Mono. Make sure to have it installed or change the myFontName variable accordingly.