Advertisement
boscard

Display switcher for udev

Nov 20th, 2023
891
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.54 KB | Source Code | 0 0
  1. #!/bin/bash
  2.  
  3. # Desktop modes
  4. declare -A attach
  5. attach[5]='0x1b'
  6. attach[8]='0x0f'
  7.  
  8. declare -A detach
  9. detach[5]='0x0f'
  10. detach[8]='0x11'
  11.  
  12. wait_time=1
  13. wait_counter=10
  14.  
  15. case $ACTION in
  16.         add)
  17.                 for key in $(echo "${!attach[@]}" | xargs -n1 | sort -g)
  18.                 do
  19.                         counter=0
  20.                         while [[ $counter -lt $wait_counter ]]
  21.                         do
  22.                                 counter=$((counter+1))
  23.                                 if [[ -c "/dev/i2c-${key}" ]]
  24.                                 then
  25.                                         ddcutil setvcp --bus $key 60 ${attach[$key]}
  26.                                         break
  27.                                 fi
  28.                                 sleep $wait_time
  29.                         done
  30.                 done
  31.                 ;;
  32.         remove)
  33.                 for key in $(echo "${!detach[@]}" | xargs -n1 | sort -g -r)
  34.                 do
  35.                         counter=0
  36.                         while [[ $counter -lt $wait_counter ]]
  37.                         do
  38.                                 counter=$((counter+1))
  39.                                 if [[ -c "/dev/i2c-${key}" ]]
  40.                                 then
  41.                                         ddcutil setvcp --bus $key 60 ${detach[$key]}
  42.                                         break
  43.                                 fi
  44.                                 sleep $wait_time
  45.                         done
  46.                 done
  47.                 ;;
  48. esac
  49.  
Tags: #bash
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement