From 0d83430714c112fe3760637c663ececb1c4c1a1e Mon Sep 17 00:00:00 2001 From: Thomas Forgione Date: Sun, 31 Mar 2024 16:55:50 +0200 Subject: [PATCH] Check --- bin/x | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/bin/x b/bin/x index 82457fa..90127b8 100755 --- a/bin/x +++ b/bin/x @@ -8,23 +8,55 @@ def "main d" [] { # bureau view: both screens side to side def "main b" [] { - let res = main | where name == $env.PRIMARY_SCREEN | get resolutions | get 0 | get 0 + let screens = main + let secondary_screen_connected = $screens | where name == $env.SECONDARY_SCREEN | get 0 | get connected + + if not $secondary_screen_connected { + notify-send "Couldn't set screen" "Secondary screen disconnected" + return + } + + let res = $screens | where name == $env.PRIMARY_SCREEN | get resolutions | get 0 | get 0 xrandr --output $env.PRIMARY_SCREEN --mode $res --primary --output $env.SECONDARY_SCREEN --mode 1920x1080 --right-of $env.PRIMARY_SCREEN --output HDMI-0 --off } # television view: only TV on (720p so that menus are readable) def "main t" [] { + let screens = main + let secondary_screen_connected = $screens | where name == "HDMI-0" | get 0 | get connected + + if not $secondary_screen_connected { + notify-send "Couldn't set screen" "TV disconnected" + return + } + xrandr --output $env.PRIMARY_SCREEN --off --output $env.SECONDARY_SCREEN --off --output HDMI-0 --mode 1280x720 --primary } # stream view: only secondary screen def "main s" [] { + let screens = main + let secondary_screen_connected = $screens | where name == $env.SECONDARY_SCREEN | get 0 | get connected + + if not $secondary_screen_connected { + notify-send "Couldn't set screen" "Secondary screen disconnected" + return + } + xrandr --output $env.SECONDARY_SCREEN --mode 1920x1080 --primary --output $env.PRIMARY_SCREEN --off } # laptop view: only secondary screen def "main l" [] { + let screens = main + let secondary_screen_connected = $screens | where name == $env.SECONDARY_SCREEN | get 0 | get connected + + if not $secondary_screen_connected { + notify-send "Couldn't set screen" "Secondary screen disconnected" + return + } + xrandr --output $env.SECONDARY_SCREEN --mode 1920x1080 --primary --output $env.PRIMARY_SCREEN --off }