From b122ba5087d466c7b2fb41b71f8dee708bec67ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Mon, 20 Sep 2021 13:22:40 +0200 Subject: Stop using mxrandr and use autorandr --- config/i3/config | 15 ++----- install | 1 - local/bin/mxrandr | 119 ------------------------------------------------------ xinitrc | 2 +- 4 files changed, 4 insertions(+), 133 deletions(-) delete mode 100755 local/bin/mxrandr diff --git a/config/i3/config b/config/i3/config index 71f3bad..7e0144f 100644 --- a/config/i3/config +++ b/config/i3/config @@ -97,6 +97,9 @@ bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart +# Detect graphics output +bindsym $mod+Shift+o exec --no-startup-id autorander --change + set $mode_system System (l) lock, (e) logout, (s) suspend, (r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id loginctl lock-session $XDG_SESSION_ID, mode "default" @@ -110,18 +113,6 @@ mode "$mode_system" { } bindsym $mod+Shift+q mode "$mode_system" -set $displays (d)efault, toggle: 1:eDP 2:HDMI 3:VGA -mode "$displays" { - bindsym d exec --no-startup-id mxrandr, mode "default" - bindsym 1 exec --no-startup-id mxrandr toggle eDP1, mode "default" - bindsym 2 exec --no-startup-id mxrandr toggle HDMI1, mode "default" - bindsym 3 exec --no-startup-id mxrandr toggle VGA1, mode "default" - - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+o mode "$displays" - set $xshot Xshot: (w)indow or (d)desktop mode "$xshot" { # Note: xshot window is for some reason broken. diff --git a/install b/install index 6b0ba06..04c96ec 100755 --- a/install +++ b/install @@ -91,7 +91,6 @@ if ask "xorg" "Install XOrg (i3)"; then inst xinitrc ~/.xinitrc inst Xresources ~/.Xresources inst config/i3/ ~/.config/i3 - inst local/bin/mxrandr ~/.local/bin/ fi if ask "wayland" "Install Wayland (sway)"; then diff --git a/local/bin/mxrandr b/local/bin/mxrandr deleted file mode 100755 index 81ae511..0000000 --- a/local/bin/mxrandr +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash - -# get info from xrandr -connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") -activeOutput=$(xrandr | grep -E " connected (primary )?[1-9]+" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") -disconnectedOutputs=$(xrandr | grep -E " disconnected (primary )?[1-9]+" | awk '{print $1}') - -cmd="xrandr " -cmd_def=$cmd - -INTERNAL=eDP-1 -HDMI=HDMI-1 -VGA=VGA-1 - -for device in "$disconnectedOutputs"; do - if [ -n "$defice" ]; then - if [[ "$activeOutput" == *"$device"* ]]; then - cmd=$cmd" --output $device --off" - fi - fi -done - -function only_internal { - cmd=$cmd" --output $INTERNAL --auto --primary" - cmd=$cmd" --output $HDMI --off" - cmd=$cmd" --output $VGA --off" -} - -function internal_vga { - cmd=$cmd" --output $INTERNAL --auto --primary" - cmd=$cmd" --output $HDMI --off" - cmd=$cmd" --output $VGA --auto --right-of $INTERNAL" -} - -function internal_hdmi { - cmd=$cmd" --output $INTERNAL --auto --right-of $HDMI" - cmd=$cmd" --output $HDMI --auto --primary" - cmd=$cmd" --output $VGA --off" -} - -function internal_hdmi_vga { - cmd=$cmd" --output $INTERNAL --auto --right-of $HDMI" - cmd=$cmd" --output $HDMI --auto --primary" - cmd=$cmd" --output $VGA --auto --left-of $HDMI" -} - -function cmd_exec { - if [ "$cmd" != "$cmd_def" ]; then - echo $cmd - `$cmd` - fi -} - - -if [ $# -le 1 ]; then - if [[ "$connectedOutputs" == *"$HDMI"* ]]; then - if [[ "$connectedOutputs" == *"$VGA"* ]]; then - internal_hdmi_vga - else - internal_hdmi - fi - else - if [[ "$connectedOutputs" == *"$VGA"* ]]; then - internal_vga - else - only_internal - fi - fi - cmd_exec - exit -fi - -if [ "$2" != "mode" ]; then - if [[ "$connectedOutputs" != *"$2"* ]]; then - echo No $2 display known - exit - fi -fi - -case "$1" in - toggle) - case "$2" in - $INTERNAL) - if [[ "$activeOutput" == *"$INTERNAL"* ]]; then - cmd=$cmd" --output $INTERNAL --off" - else - if [[ "$activeOutput" == *"$HDMI"* ]]; then - cmd=$cmd" --output $INTERNAL --auto --right-of $HDMI" - else - cmd=$cmd" --output $INTERNAL --auto --primary" - fi - fi - ;; - $HDMI) - if [[ "$activeOutput" == *"$HDMI"* ]]; then - cmd=$cmd" --output $HDMI --off" - else - if [[ "$activeOutput" == *"$VGA"* ]]; then - cmd=$cmd" --output $HDMI --auto --primary" - else - cmd=$cmd" --output $HDMI --auto --right-of $INTERNAL" - fi - fi - ;; - $VGA) - if [[ "$activeOutput" == *"$VGA"* ]]; then - cmd=$cmd" --output $VGA --off" - else - if [[ "$activeOutput" == *"$HDMI"* ]]; then - cmd=$cmd" --output $VGA --auto --left-of $HDMI" - else - cmd=$cmd" --output $VGA --auto --right-of $INTERNAL" - fi - fi - ;; - esac - ;; -esac -cmd_exec diff --git a/xinitrc b/xinitrc index 8945c82..6cbf2e0 100644 --- a/xinitrc +++ b/xinitrc @@ -26,6 +26,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then fi -mxrandr +autorandr --change exec i3 -- cgit v1.2.3