From 78db7d43845d3ea276b8028bec6d67b5a5641a1b Mon Sep 17 00:00:00 2001 From: NeodarZ Date: Wed, 21 Sep 2016 20:01:28 +0200 Subject: =?UTF-8?q?Ajout=20de=20la=20conf=20de=20vim=20+=20mise=20=C3=A0?= =?UTF-8?q?=20jour=20de=20la=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i3/blocks/display | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 i3/blocks/display (limited to 'i3/blocks/display') diff --git a/i3/blocks/display b/i3/blocks/display new file mode 100755 index 0000000..9071900 --- /dev/null +++ b/i3/blocks/display @@ -0,0 +1,68 @@ +#!/bin/bash + +xrandrOut=$(xrandr) + +hdmiName=$(echo "${xrandrOut}" | grep -i 'HDMI' | awk '{print $1}') +vgaName=$(echo "${xrandrOut}" | grep -i 'VGA' | awk '{print $1}') +edpName=$(echo "${xrandrOut}" | grep -i 'EDP' | awk '{print $1}') + +activeDisplays=$(echo "${xrandrOut}" | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/" | tr -s '\n' ' ') +displayFile='/tmp/.displays' + +if [[ -f "${displayFile}" ]]; then + oldDisplays=$(cat "${displayFile}") +else + oldDisplays="" +fi + +if [[ "${oldDisplays}" != "${activeDisplays}" ]]; then + change="yes" +else + change="no" +fi + +# External, HDMI + VGA +if [[ "$activeDisplays" =~ "${hdmiName}" && "$activeDisplays" =~ "${vgaName}" ]]; then + if [[ "${change}" = "yes" ]]; then + $(xrandr --output "${edpName}" --off) + $(xrandr --output "${vgaName}" --auto) + $(xrandr --output "${hdmiName}" --primary --auto) + fi + echo "VGA1 & HDMI" + echo "VGA1 & HDMI" + echo "" +# External, HDMI +elif [[ "$activeDisplays" =~ "${hdmiName}" ]]; then + if [[ "${change}" = "yes" ]]; then + $(xrandr --output "${edpName}" --off) + $(xrandr --output "${vgaName}" --off) + $(xrandr --output "${hdmiName}" --primary --auto) + fi + echo "HDMI" + echo "HDMI" + echo "" +# External, VGA +elif [[ "$activeDisplays" =~ "${vgaName}" ]]; then + if [[ "${change}" = "yes" ]]; then + $(xrandr --output "${edpName}" --off) + $(xrandr --output "${vgaName}" --primary --auto) + $(xrandr --output "${hdmiName}" --off) + fi + echo "VGA" + echo "VGA" + echo +# Only one internal +elif [[ "$activeDisplays" =~ "${edpName}" ]]; then + if [[ "${change}" = "yes" ]]; then + $(xrandr --output "${edpName}" --primary --auto) + $(xrandr --output "${vgaName}" --off) + $(xrandr --output "${hdmiName}" --off) + fi + echo "eDP" + echo "eDP" + echo "" +fi + +if [[ "${change}" = "yes" ]]; then + echo "${activeDisplays}" > "${displayFile}" +fi \ No newline at end of file -- cgit v1.2.1