Redshift запускается при загрузке системы юнитом от юзера. Всё хорошо, но иной раз ночью приспичит погимповать. Захотел автоматизировать отключение и последующее включение Redshift. Ничего умнее
systemctl --user stop redshift; optirun gimp-2.10 && systemctl --user start redshift
не придумал.
Оно-то и так уже лучше, чем никак, но.
1. Если не закрыть, а свернуть Gimp, оно на место не желтеет.
2. Так хорошо, если так делать только с одной программой. Если так же сделать, например, с Darktable, то будет бардак. Запустил Gimp - разжелтело. Запустил Darktable (а Gimp не закрывал) - оно еще как надо. Теперь закрыл Darktable - оно пожелтело, хоть Gimp еще работает.
Вот же, блин, для Android есть Tasker, с помощью которого подобные вещи делаются просто.
Как бы для взрослого Линукса сделать что-то такое, что проверяло бы, есть ли среди работающих (еще лучше - среди тех, чье окно активно) процессов что-то из списка. Если появилось - чтобы systemctl --user stop redshift
, если опять нет - systemctl --user start redshift
.