Olivier Fourdan Jasper Huijsmans Benedikt Meurer portions based on xsettings sample implementation by Owen Taylor