xmonad with xterm
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
Introduction
The documentation reads that the xmonad tiling window manager is fast and configurable; xmobar - a minimalistic status bar.
terminal emulator
xterm
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.
~/.tmux.conf
1set-option -g prefix C-z
2unbind-key C-b
3bind-key C-z send-prefix
4set -g mouse on
5set -g history-limit 9999
6set -g default-terminal "screen-256color"
7
8# https://gist.github.com/william8th/faf23d311fc842be698a1d80737d9631
9# Set new panes to open in current directory
10# bind c new-window -c "#{pane_current_path}"
11# bind '"' split-window -c "#{pane_current_path}"
12# bind % split-window -h -c "#{pane_current_path}"
13
14# https://www.seanh.cc/2020/12/30/how-to-make-tmux's-windows-behave-like-browser-tabs/#:~:text=Key%20bindings&text=conf%20file%20to%20get%20browser,and%20C%2DS%2DTab%20in%20tmux.
15set -g base-index 1 # Start numbering windows at 1, not 0.
16set -g pane-base-index 1 # Start numbering panes at 1, not 0.
17bind -n C-t new-window
18bind -n C-PgDn next-window
19bind -n C-PgUp previous-window
20bind -n C-S-Left swap-window -t -1\; select-window -t -1
21bind -n C-S-Right swap-window -t +1\; select-window -t +1
22bind -n M-1 select-window -t 1
23bind -n M-2 select-window -t 2
24bind -n M-3 select-window -t 3
25bind -n M-4 select-window -t 4
26bind -n M-5 select-window -t 5
27bind -n M-6 select-window -t 6
28bind -n M-7 select-window -t 7
29bind -n M-8 select-window -t 8
30bind -n M-9 select-window -t:$
31bind -n C-M-w kill-window
32bind -n C-M-q confirm -p "Kill this tmux session?" kill-session
33bind -n F11 resize-pane -Z
34
35set -g status-style "bg=default"
36set -g window-status-current-style "bg=default,reverse"
37set -g window-status-separator '' # No spaces between windows in the status bar.
38set -g window-status-format "#{?window_start_flag,, }#I:#W#{?window_flags,#F, } "
39set -g window-status-current-format "#{?window_start_flag,, }#I:#W#{?window_flags,#F, } "
xterm
In the xmonad.hs
configuration file the following code is used to define a terminal and a floating terminal with the xterm
command.
1myTerminal :: String
2myTerminal = "xterm"
3
4myFloatingTerminal :: String
5myFloatingTerminal = "xterm -title \"floatterm\""
6
7--...
8
9keysAdditional =
10 [ ("M-C-<Return>", spawn myFloatingTerminal)
11 ,
12
13-- ...
14 xmonad $ def {
15 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.
dotfiles
My dotfiles at GitHub with a.o. xmonad, xmobar configuration.