Refactor displayselect
This commit is contained in:
parent
8466ffcfb7
commit
94ec854383
8 changed files with 59 additions and 36 deletions
|
@ -17,7 +17,6 @@ in
|
|||
count-tags = callPackage ./count-tags.nix { };
|
||||
create-script = callPackage ./create-script.nix { };
|
||||
dev-commit = callPackage ./dev-commit.nix { };
|
||||
displayselect = callPackage ./displayselect { };
|
||||
get-tags = callPackage ./get-tags.nix { };
|
||||
git-exclude = callPackage ./git-exclude.nix { };
|
||||
git-graph = callPackage ./git-graph.nix { };
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
{ 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";
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
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:")
|
Loading…
Add table
Add a link
Reference in a new issue