aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 15a18f23cc4e64d352c1880acd026ae882760c6b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Missing servers:

	xmds		Translation from X to mds
	wmds		Translation from Wayland to mds
	mmds		Translation from Mir to mds
	mdsx		Translation from mds to X
	mdsw		Translation from mds to Wayland
	mdsm		Translation from mds to Mir
	hwgamma		Hardware implementation of gamma ramps
	swgamma		Software implementation of gamma ramps
	hwcursor	Hardware cursor
	swcursor	Software cursor
	cursorgamma	Fixes gamma ramps for cursors
	coopgamma	Enables multiple gamma servers
	host		Network enabled display server
	remote		Bind to a remote display server
	fb		Framebuffer presenter
	kbd		Keyboard input
	keytrans	Translates pure (but possibly remapped) keycodes into characters and keys
	kkbdrate	Rate and delay for kkbd
	rat		Rat input
	compositor	Composites the display
	crtc		CRTC identifier
	seat		Seat sandboxing
	dri		DRI output
	drag		Drag and drop
	cursorshadow	Decorate cursors with shadows
	kill		Kill processes based on their windows
	focus		Focuses the selected window
	colour		Mapping of colour by name (system colours) and value
	state		Keeps track of windows' states
	vt		VT switcher
	screensaver	Launch screensaver when the computer is idle

Missing protocols:

	embed		Embedding windows inside other windows such as a status icon tray

Extra servers:

	kbdbind		Bind keyboard combinations to external commands, e.g. super+p -> dmenu
	ratbind		Bind cursor actions to external commands, e.g. hotcorners
	gestures	Bind rat gestures to external commands, e.g. shacking to minimise windows
	dcvs		Defective colour vision simulation
	decorator	A simple, reference implementation of a, window decorator
	tile		A simple, reference implementation of a, tiling window manager
	stack		A simple, reference implementation of a, stack window manager
	workspace	A simple, reference implementation of a, workspaces
	tray		A simple, reference implementation of a, status icon tray
	cool-old-crt	Old CRT emulator, like cool-old-term but display-wide
	kbd2rat		Control the rat cursor with the keyboard
	multikey	Bind keys to send sequences of keys
	iclipboard	User-private interdisplay clipboard
	keystick	Sticky keys

Missing commands:

	reg		Command line interface for the protocol registry
	conf		Command line interface for reconfiguring servers
	clip		Command line interface for the clipboard
	screenshot	Take a screenshot

Need testing:

	registry
	clipboard
	kkbd
	kkbd, on a SPARC

Fast lanes
Optimise use of mutexe by replace them with rwlocks
Listen for `Command: reregister`
Register protocols
Make it possible to forbid unauthorised servers for listening, needed for secure password fields
  I guess we can let servers create their own abstract sockets, report them to mdsinitrc and
  let mdsinitrc export appropriate environment variables.
Signals that should be supported, and be replaced with realtime signals if not defined:
  SIGDANGER  system or process is running out of memory