basant/basant/raw/220226-0007.wiki

27 lines
740 B
Plaintext

%title Running a script based on udev rules
:linux:dev:cli:nix:
%date 2022-02-26 00:07
If you plug in your monitor you should be able to automatically get the config you want
First write a script that does that for 'xrandr'
#! /usr/bin/env bash
export DISPLAY=:0
export XAUTHORITY=/home/dan/.Xauthority
function connect(){
xrandr --output HDMI-2 --same-as eDP-1
}
function disconnect(){
xrandr --output HDMI-2 --off
}
xrandr | grep "HDMI1 connected" &> /dev/null && connect || disconnect
And now create a udev rule to listen to it
For [[nixOS]] this would be services.udev.extraRules
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/anish/.Xauthorit y", RUN+="/home/anish/bin/hotplug-monitor.sh"