for software used see software-list
the tiled window manager dwm handles the arrangement of xserver windows (screenshot), configured to draw no borders and a monospace font.
cursor blinking disabled for gtk2.0 and gtk3.0.
st with a screen session. st -e screen
. ctrl+c
creates new terminal buffers, ctrl+a n
and ctrl+a n
switch between them. using this, a terminal emulator that supports tabs is not necessary. font: "Gohu GohuFont:pixelsize=14:antialias=false"
important commands
xbindkeys to bind the most important commands to f keys. for example f1 is the web browser, f2 the file manager, f3 the terminal. f5 opens dmenu, a line appearing at the top of the screen to enter a program name to be run
~/.xbindkeysrc.scm
(xbindkey (quote (F1)) "firefox") (xbindkey (quote (F2)) "thunar") (xbindkey (quote (F3)) "st -e screen") (xbindkey (quote (F5)) "dmenu_run") (xbindkey (quote (F9)) "screenshot")
other programs are started using dmenu_run on f5
boot goes to the tty console login with disabled cursor blinking (how to turn that off, there is an aur package for that). when logging in, a luks partition or file /home/.{username} is decrypted and mounted to /home/{username} with the use of pam_mount. then ~/.bash_profile starts the xserver
~/.bash_profile
if [ "$(tty)" == /dev/tty1 ] then exec startx fi
~/.xinitrc
emacs --daemon xmodmap /home/nonroot/.xmodmap xbindkeys & st -e screen & restart-on-end -n 2 -- dwm
emacs is started in daemon mode so the slow startup happens only once and buffers are opened fast with emacsclient -tc
which is set in $EDITOR and there is a shell script named e
#!/bin/sh # pass all arguments to the editor program configured with the $EDITOR environment variable $EDITOR "$@"
especially on single user systems i use a generic nonroot user. saves having to invent names, memorise them, rename them or keep them up to date on different systems
stored in a git repository with a file structure like this
data {hostname} ... {root-relative-full-paths}
symlinked to target destinations with "cp -rst / $PWD/data/hostname/*"
a simple prompt on its own line in magenta color that includes the basename of the current working directory
~ echo test test ~ cd /usr/bin bin ls guile guile bin
xmodmap to make the right shift-key work as the meta key for emacs and to disable the shift-lock key
~/.xmodmap
remove Lock = Caps_Lock keysym Caps_Lock = Super_L remove shift = Shift_R add mod1 = Caps_Lock Shift_R remove mod1 = Alt_L Alt_R ! add control = Alt_L Alt_R
a custom x11 keyboard-layout for the qgmlwb layout is used and a dead-key (a key that only modifies a subsequent key) for diaresis is on the circumflex key
qemu is free software and does not need additional kernel version dependent modules like virtualbox. such modules need to be recompiled for each kernel update, which happen every few weeks, and if a compatible version is not yet available then you are out of luck and would not be able update the kernel. the qemu instance is set up to offer a vnc interface, which also works at boot time. "remmina" is then used to connect to the virtual machines. network bridging and external hardware can be more difficult to set up, but less so in newer versions
[Settings] gtk-theme-name=Windows-10-Dark gtk-icon-theme-name=HighContrast gtk-font-name=Cantarell 11 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 gtk-cursor-blink = false gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=0 gtk-enable-event-sounds=0 gtk-enable-input-feedback-sounds=0 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintmedium
[Settings] gtk-theme-name=Windows-10-Dark gtk-icon-theme-name=HighContrast gtk-font-name=Cantarell 11 gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 gtk-cursor-blink = false gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=0 gtk-enable-event-sounds=0 gtk-enable-input-feedback-sounds=0 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintmedium