Skip to content

thepaps/no-wm

 
 

Repository files navigation

no-wm
	Use X11 without a window manager

components
	included
		x-alt-tab
		x-move-resize
		x-session
		x-focus-manager
	distributed with X11 
		xsel xprop xrdb xset xsetroot xwininfo
	key-daemons
		xbindkeys http://www.nongnu.org/xbindkeys/xbindkeys.html
		speckeysd http://www.jessies.org/~enh/software/x11/
		xchainkeys http://code.google.com/p/xchainkeys/
		sxhkd https://github.com/baskerville/sxhkd
		alttab https://github.com/sagb/alttab
	window-manipulators
		xdotool http://www.semicomplete.com/projects/xdotool/
		window http://www.jessies.org/~enh/software/x11/
	niceties
		unclutter http://unclutter.sourceforge.net/
		dmenu http://tools.suckless.org/dmenu/
		autocutsel http://www.nongnu.org/autocutsel/ 
	overview
		http://www.sbin.org/doc/Xlib/index_contents.html

procedure
	set up your ${HOME}/.xinitrc to be something like
		#!/bin/bash
		while ! xprop -root | grep -q Free; do sleep 1; done
		xrdb -merge ${HOME}/etc/Xresources
		xsetroot -solid black
		xset b off
		exec xterm &
		exec speckeysd ${HOME}/etc/speckeysd.conf &
		exec x-focus-manager &
		exec x-session
	and your ${HOME}/etc/speckeysd.conf to be like
		# Key names come from <X11/keysymdef.h> (remove the XK_ prefix).
		# MUST have a Tab separating the key-combo and command
		Alt-Tab	x-alt-tab
		Alt-Shift-Tab	x-alt-tab -1
		Alt-Return	x-banish push
		Alt-BackSpace	x-banish pop
		Alt-m	x-move-resize
		Alt-r	echo run | dmenu -fn 10x20 | exec bash -s
		Alt-s	surf "$( echo www.duckduckgo.com | dmenu )"
		Alt-t	urxvt & x-focus-topmost wait
		Alt-f	xdotool selectwindow windowsize 100% 100% windowmove 0 0

	then ${HOME}/etc/Xresources with the preferred window geometries
		R_x11*geometry: 1024x600+0+0
		XTerm*geometry: 1024x600+0+0
		URxvt*geometry: 1024x600+0+0
		surf*geometry: 1024x600+0+0


window managers bind orthogonals (keyboard shortcuts, window manipulation,
window decoration) which should remain separate. 

x-focus-manager is not needed when all your apps return focus properly. A
mis-behaving app can be fixed by calling x-alt-tab after it runs; however that
needs to be scripted as focus remains with a window that no longer exists.

About

Use X11 without a window manager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 86.2%
  • Shell 11.1%
  • Makefile 2.7%