I have access (home, work, club room, ...) to various external screen and often plug/unplug them to my laptop. Since I don't use a full Desktop Environment, their configuration is not automagically handled whatever us shipped with Gnome, KDE or similar nice but bloated DE. I figured it would not be to difficult to write a few scripts to handle it myself:
monitor-event-listener: simple C program listening for X event. It calls
monitor-event-handlerwith the output name and action (plugged or unplugged) when a "monitor event" is detected.
monitor-event-handler: simple shell script that takes the output name and action as arguments, compute the md5 hash of the EDID and feed
$XDG_CONFIG_HOME/monitor-handler-ruleswhich contains preconfigured actions.