From vladimir-csp at yandex.ru Thu Mar 3 05:53:33 2016 From: vladimir-csp at yandex.ru (Vladimir Kudrya) Date: Thu, 3 Mar 2016 08:53:33 +0300 Subject: [arandr-users] Rerandr3 and better save/restore mechanism for Arandr Message-ID: <56D7D15D.7060003@yandex.ru> Hello everyone! Some months ago I mailed chrysn about improving save/restore mechanisms in Arandr and my xrandr wrapper/daemon script called rerandr3. Unfortunately, I didn't get any response. Anyway, some of you might be interested in this script and ideas behind it. The project is hosted here: https://github.com/Vladimir-csp/rerandr3 Rerandr3 features: - On-demand save of current outputs configuration in relation to combination of outputs and display device models. (complete with geometry, properties, primary screen). - Restore outputs configuration for familiar combinations. - Auto-enable and stack outputs on new unfamiliar combinations. - Running as a daemon it can restore or auto-stack outputs on hot-plug in fully automatic mode, triggered by udev rule. - Runs different sets of hooks depending on virtual screen size. - Works around poor xrandr CRTCs handling. - Temporarily preserves framebuffer size while switching outputs to prevent windows positioning mess - Tries to avoid unnecessary switching, aplying only delta operations. Throughout the past half a year I've squashed some bugs and it served me reliably and unobtrusively while moving between home and work and plugging in some new displays. What it has to do with Arandr? It could provide a backend for smart save/restore and hotplug actions handling which Arandr is lacking. Or it could serve as a model for implementing such features in Arandr itself. As a test, I once dirty-hacked (I'm not so comfy outside bash) Arandr purging everything except layout editor and "Apply" button, and adding trigger to run "rerandr3 hooks" and "rerandr3 save" on "Apply". Proved to be a very practical combination on the outside. Cheers!