aboutsummaryrefslogblamecommitdiffstats
path: root/TODO
blob: 1303a665332c2a02ae966a4cf22fae27cdaa4f37 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                              





                                                                    

                





                                                                  
                                                              
                                   
 

              

                                                                 
                                                                
                                                           
                                                              
                                               
                                   
                                                                



                                                                       







                                                                        


                                                                    

                                                              


                                                                           

                                                           


                 
                                                            
            




                                                                        
                 
            
                        
          
              
 
 


                                               
          
                                                                       

                                


                                                                            
                                       
                                
 
                                                            
 


                                                          

                   
                       
                          
 



                                                               

                                                          




                                                           


                                                                      

                                                              
I think some servers are not properly initialised after reexec


documentation:
	Make sure everything uses active voice
	Make sure mood is consistent
		Texinfo manual should use declarative mood
		Source code documentation should use imperative mood

Missing servers:

	xmds		wmds		mmds		mdsx
	mdsw		mdsm		hwgamma		swgamma
	hwcursor	swcursor	cursorgamma	coopgamma
	host		remote		fb		kbd
	keytrans	kkbdrate	rat		compositor
	crtc		seat		dri		drag
	cursorshadow	kill		focus		dither
	state		screensaver

Extra servers:

	kbdbind		ratbind		gestures	dcvs
	decorator	tile		stack		workspace
	tray		retro-crt	kbd2rat		multikey
	keystick	posmem		nest		mds
	meta		keybounce	slowkey		keycue
	ratbarrier	desktop		endomon
	a speech-to-keyboard server
	some server that hides the cursor when appropriate, such
	  as when the user starts typing
	some server for drawing on the screen
	some server for delaying video output from programs
          (used if a video is not in sync with its audio, and is ahead)
	cinerama: combines multiple output to one single output
	transform: like xkeystone and xrandr --transform,
		   should transform the rat cursor too
	kbdautorelease: server that automatically relases selected keys
	                when pressed, emulating the feature found on the
			most keyboards for the pause-key. This is
			primarily intended for keyboards that do not
			have this feature on the pause-key.
	ratrot: rotate input of pointer device. Should be able do be
		monitor dependent and be able to follow the rotation
		of that monitor's output.
	converge: displace subpixels to correct for bad colour
		  convergence on CRT:s
	ratautohide: automatically hide the rat when it has not been in use
		     for a few seconds.
	pinkeye: translate everything to sRGB red.
	gamut: sRGB to screen specific RGB converter.
	       (not all modern monitors actually use sRGB.)

Missing commands:

	reg		clip		screenshot	slay
	chvt
	conf		Command line interface for reconfiguring servers

Need testing:

	registry
	clipboard
	kkbd
	kkbd, on a SPARC
	vt
	colour


Full introspection may be useful for debugging.


Fast lanes
Optimise use of mutexe by replace them with rwlocks (where appropriate)
Listen for `Command: reregister`
Register protocols
A facility is needed to lookup available compose sequences to any character,
  it would be useful in character map programs so one can easier learn the
  compose sequences for character that one uses often
Servers should be stored in LIBEXECDIR.
Implement reconnect_to_display()

Something is up with the test, it does not exit on Control+C

Make sure it is possible and easy to change window manager
and desktop environment online.

IPA keyboard layout

Add support for SIGINFO
  mds-registry  mds-server

If getpgrp() == tcgetpgrp(STDOUT_FILENO), a graphical program
should be able to commandeer a window (in particular a terminal
emulator) and return it when exiting.

How do we best avoid that hung clients freeze the display.

mds-hwgamma and mds-swgamma should be able to limit the
gamma ramps' convergence to help ensure that the screen is
always readable (optional feature). Soft limits are set
in argv, hard limits are set via #define:s at compile-time.

Perhaps (at least later):  rewrite multithreaded servers to use epoll,
                           especially mds-server

Non-sRGB support, we need to take a step towards wider gamuts.