few fixes, mostly x related improvements
[distro-setup] / laptop-xrandr
diff --git a/laptop-xrandr b/laptop-xrandr
deleted file mode 100755 (executable)
index d57b43f..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/bash
-# I, Ian Kelling, follow the GNU license recommendations at
-# https://www.gnu.org/licenses/license-recommendations.en.html. They
-# recommend that small programs, < 300 lines, be licensed under the
-# Apache License 2.0. This file contains or is part of one or more small
-# programs. If a small program grows beyond 300 lines, I plan to switch
-# its license to GPL.
-
-# Copyright 2024 Ian Kelling
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-#     http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e; . /usr/local/lib/bash-bear; set +e
-
-xf=$(mktemp)
-xrandr >$xf
-
-# eg eDP-1 connected primary
-laptop_out=$(awk '$3 == "primary" {print $1}' $xf)
-output=$(grep -E "^(HDMI|DP)[^ ]* connected [0-9]" $xf| awk '{print $1}' ||:)
-
-edid() {
-  card=$1
-  sha256sum </sys/class/drm/$card/edid | grep -oE '^.{10}'
-}
-
-restart=false
-left_right_arg=--right-of
-if [[ $output ]]; then
-
-  mode=$(grep -A1 -E "^$output" $xf | tail -n1 | awk '{print $1}')
-
-  primary_res=$(awk '$2 == "connected" && $3 == "primary" { print $4 }' $xf | sed 's/+.*//')
-  primary_x=${primary_res%x*}
-
-  x=${mode%x*}
-  y=${mode#*x}
-
-  half_x=$(( x / 2 ))
-
-  x_offset=$primary_x
-
-  # identify monitors that are always on the left.
-  if [[ $output == HDMI2 && $(edid card0-HDMI-A-2) == 192efbdcef ]] || \
-       [[ $output == HDMI-1 && $(edid card1-HDMI-A-1 ) == 7c58f9ac1e ]]; then
-    left_right_arg=--left-of
-    x_offset=0
-  fi
-
-  # some monitors need off then on to become active
-  if $restart; then
-    xrandr --output $output --off
-    sleep 2
-  fi
-
-
-  # eg: 3840x2160
-  echo mode=$mode
-  xrandr --output $output $left_right_arg $laptop_out --mode $mode
-
-
-  # This splits a monitor into 2 virtual screens, which makes it split
-  # into 2 workspaces in i3, which is a much more convenient setup for
-  # managing windows.
-  # todo: add an option to turn this off
-  # todo: do this on systems with just 1 monitor.
-  #
-  # /298 & 336 are millimeters. I took them from a monitor I was using. I
-  # don't know if they are important, I assume not important enough to
-  # change for different monitors.
-
-  for x in LEFT RIGHT; do
-    if xrandr --listmonitors | awk '$2 == BIG-'$x |grep . >/dev/null; then
-      xrandr --delmonitor BIG-$x
-    fi
-  done
-  xrandr --setmonitor BIG-LEFT $half_x/298x$y/336+0+$x_offset $output
-  xrandr --setmonitor BIG-RIGHT $half_x/298x$y/336+$(( x_offset + half_x ))+0 none
-
-
-  for i in 2 3 4 5 6 7 8 9 10; do
-    # if the workspace is already there, this will fail.
-    # if the workspace doesn't exist yet, it fails with:
-    # ERROR: No output matched
-    i3-msg '[workspace="'$i'"]' move workspace to output $output ||:
-  done
-else
-  xrandr --auto
-
-fi