90 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Nix
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Nix
		
	
	
		
			Executable File
		
	
	
	
	
{ lib, config, ... }: {
 | 
						|
  config = lib.mkIf (config.usercfg.wm == "X11") {
 | 
						|
    xdg.configFile."script/lock.sh".text = ''
 | 
						|
      #!/bin/bash
 | 
						|
      TMPBG=/tmp/screen.png
 | 
						|
      RES=$(xrandr | grep 'current' | sed -E 's/.*current\s([0-9]+)\sx\s([0-9]+).*/\1x\2/')
 | 
						|
 | 
						|
      ffmpeg -f x11grab -video_size $RES -y -i $DISPLAY -filter_complex "boxblur=10:1" -vframes 1 $TMPBG
 | 
						|
 | 
						|
      pkill -xu $EUID -USR1 dunst
 | 
						|
      i3lock -i $TMPBG &
 | 
						|
      wait 
 | 
						|
      pkill -xu $EUID -USR1 dunst
 | 
						|
 | 
						|
      rm $TMPBG
 | 
						|
    '';
 | 
						|
 | 
						|
    xdg.configFile."script/screens.sh".text = ''
 | 
						|
      #!/bin/bash
 | 
						|
 | 
						|
      if [[ $(hostname) == 'Iriy' ]]; then
 | 
						|
      MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None | S")"
 | 
						|
          case "$MENU" in
 | 
						|
              *None)
 | 
						|
                  xrandr --output DP-0 --scale 1
 | 
						|
                  xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --mode 1920x1080 --pos 4800x0 --rotate normal --output DP-5 --off
 | 
						|
                  bspc monitor DP-4 -d 1
 | 
						|
                  bspc monitor DP-2 -d 2 3
 | 
						|
                  bspc monitor DP-0 -d 0 4 5 6 7 8 9
 | 
						|
                  ;;
 | 
						|
              *S)
 | 
						|
                  xrandr --output DP-0 --scale 1
 | 
						|
                  xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --off --output DP-3 --off --output DP-4 --off --output DP-5 --off
 | 
						|
                  bspc monitor DP-0 -d 0 1 2 3 4 5 6 7 8 9
 | 
						|
                  ;;
 | 
						|
              *WIP) echo "WIP"
 | 
						|
          esac
 | 
						|
      elif [[ $(hostname) == 'valinor' ]]; then
 | 
						|
      MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None|P0|P1")"
 | 
						|
          case "$MENU" in
 | 
						|
              *None)
 | 
						|
                  xrandr --output HDMI-1 --off --output DisplayPort-0 --off --output DisplayPort-1 --off --output eDP-1 --auto 
 | 
						|
                  bspc monitor eDP -d 1 2 3 4 5 6 7 8 9
 | 
						|
                  ;;
 | 
						|
              *P0)
 | 
						|
                  xrandr --output HDMI-1 --auto --output eDP-1 --auto --below HDMI-1
 | 
						|
                  bspc monitor HDMI-1 --swap eDP-1
 | 
						|
                  bspc monitor HDMI-1 -d 0
 | 
						|
                  bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9
 | 
						|
                  ;;
 | 
						|
              *P1)
 | 
						|
                  xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1200x1200 --rotate normal --output HDMI-1 --mode 1920x1200 --pos 1200x0 --rotate normal --output DisplayPort-1 --mode 1920x1200 --pos 0x210 --rotate left
 | 
						|
                  bspc monitor HDMI-1 --swap eDP-1
 | 
						|
                  bspc monitor HDMI-1 -d 0
 | 
						|
                  bspc monitor eDP -d 1 2 3 4 5 6 7 8 9
 | 
						|
                  ;;
 | 
						|
              *WIP) echo "WIP"
 | 
						|
          esac
 | 
						|
      fi
 | 
						|
      feh --bg-fill ~/cloud/dark.jpg
 | 
						|
    '';
 | 
						|
 | 
						|
    xdg.configFile."script/yakuaki.sh".text = ''
 | 
						|
      #!/bin/bash
 | 
						|
      bspc query -N -n any.floating.hidden > /tmp/yakuakid
 | 
						|
      ~/.config/script/toggle_yakuaki
 | 
						|
      $SHELL
 | 
						|
      clear
 | 
						|
    '';
 | 
						|
 | 
						|
    xdg.configFile."script/toggle_yakuaki.sh".text = ''
 | 
						|
      #!/bin/bash
 | 
						|
      if [[ -e /tmp/yakuakid ]]
 | 
						|
      then
 | 
						|
        id=$(cat /tmp/yakuakid)
 | 
						|
        exists=$(bspc query -N $id -n)
 | 
						|
        if [[ $exists = $id ]]
 | 
						|
        then
 | 
						|
          bspc node $id --flag hidden;bspc node -f $id
 | 
						|
        else
 | 
						|
          rm /tmp/yakuakid
 | 
						|
          urxvt -name yakuaki -e ~/.config/script/yakuaki &
 | 
						|
        fi
 | 
						|
      else
 | 
						|
        ~/.config/script/yakuaki
 | 
						|
      fi
 | 
						|
    '';
 | 
						|
  };
 | 
						|
}
 |