In the past I have used the xmonad tiling window manager but eventually returned to KDE, because I had some problems with truncated text in terminal windows, needed to be able to run a complicated GUI that was not very suited for a tiling window manager and I thought there was not that much difference in performance.

xmonad, xmobar


The documentation reads that the xmonad tiling window manager is fast and configurable; xmobar - a minimalistic status bar.

terminal emulator


The xterm terminal emulator starts up very quickly and for me this compensates for its lack of tabs. Besides: tmux can be configured to use tabs. Note: to select things with the mouse in tmux, press the Shift key when using the mouse.


set-option -g prefix C-z
unbind-key C-b
bind-key C-z send-prefix
set -g mouse on
set -g history-limit 9999
set -g default-terminal "screen-256color"

# Set new panes to open in current directory
# bind c new-window -c "#{pane_current_path}"
# bind '"' split-window -c "#{pane_current_path}"
# bind % split-window -h -c "#{pane_current_path}"

set -g base-index 1       # Start numbering windows at 1, not 0.
set -g pane-base-index 1  # Start numbering panes at 1, not 0.
bind -n C-t new-window
bind -n C-PgDn next-window
bind -n C-PgUp previous-window
bind -n C-S-Left swap-window -t -1\; select-window -t -1
bind -n C-S-Right swap-window -t +1\; select-window -t +1
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t:$
bind -n C-M-w kill-window
bind -n C-M-q confirm -p "Kill this tmux session?" kill-session
bind -n F11 resize-pane -Z

set -g status-style "bg=default"
set -g window-status-current-style "bg=default,reverse"
set -g window-status-separator ''  # No spaces between windows in the status bar.
set -g window-status-format "#{?window_start_flag,, }#I:#W#{?window_flags,#F, } "
set -g window-status-current-format "#{?window_start_flag,, }#I:#W#{?window_flags,#F, } "


In the xmonad.hs configuration file the following code is used to define a terminal and a floating terminal with the xterm command.

myTerminal :: String
myTerminal = "xterm"

myFloatingTerminal :: String
myFloatingTerminal = "xterm -title \"floatterm\""


keysAdditional =
    [ ("M-C-<Return>", spawn myFloatingTerminal)

-- ...
  xmonad $ def {
    terminal = myTerminal,

Performance gains

My system is indeed significantly snappier and faster in general under xmonad than it was under KDE and I now don’t quite understand how I came to a different conclusion before. It must have been annoyance-bias over the terminal output truncate problem.


My dotfiles at GitHub with a.o. xmonad, xmobar configuration.

Already on GitHub