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.
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 |
The following layouts are configured for now:
- Master tiled horizontal (golden ratio)
- Master tiled vertical (golden ratio)
- Tabbed
- Fullscreen
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.
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.
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.
- xmobar
- rofi
- rofi-pass
- alacritty
- imagemagick (for screenshots)
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.