Refactor
All checks were successful
/ check (push) Successful in 1m27s

This commit is contained in:
Oliver Davies 2025-07-09 06:54:21 +01:00
parent 5227e82c15
commit d18476da73
16 changed files with 1 additions and 1 deletions

View file

@ -0,0 +1,32 @@
{ pkgs, ... }:
pkgs.stdenv.mkDerivation {
pname = "displayselect";
version = "unstable-2024-05-11";
src = builtins.fetchurl {
url = "https://raw.githubusercontent.com/lukesmithxyz/voidrice/97687287bdfd332398b82a196b5f1feaec73f1d7/.local/bin/displayselect";
sha256 = "sha256:11r561pfhb48a3xmi42zzvpljahnwlfad9rz8qmmp64dhz1f2vp0";
};
dontUnpack = true;
buildInputs = with pkgs; [
bash
xorg.xrandr
];
prePatch = ''
cp $src displayselect
'';
patches = [ ./scaling.patch ];
installPhase = ''
mkdir -p $out/bin
cp displayselect $out/bin
chmod +x $out/bin/displayselect
'';
meta.mainProgram = "displayselect";
}

View file

@ -0,0 +1,26 @@
diff --git a/.local/bin/displayselect b/.local/bin/displayselect
index 51dd468..c132b7a 100755
--- a/displayselect
+++ b/displayselect
@@ -15,20 +15,13 @@ twoscreen() { # If multi-monitor is selected and there are two screens.
res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
tail -n 1 | awk '{print $1}')
- res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
- tail -n 1 | awk '{print $1}')
res_ext_x=$(echo "$res_external" | sed 's/x.*//')
res_ext_y=$(echo "$res_external" | sed 's/.*x//')
- res_int_x=$(echo "$res_internal" | sed 's/x.*//')
- res_int_y=$(echo "$res_internal" | sed 's/.*x//')
-
- scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
- scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
xrandr --output "$external" --auto --scale 1.0x1.0 \
--output "$internal" --auto --same-as "$external" \
- --scale "$scale_x"x"$scale_y"
+ --scale-from "${res_ext_x}x${res_ext_y}"
else
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")