aboutsummaryrefslogtreecommitdiff
path: root/home/bin/setup
blob: 310b01ec4c236840cf9fdc6dcf0b0ca78e9bbd2f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash

internal=eDP-1
externals=($(xrandr | grep -w connected | grep -v "$internal" | cut -d ' ' -f 1))


move_workspaces() {
    local primary=$(i3-msg -t get_outputs | jq '.[]|select(.primary==true)|.name')
    for workspace_number in $(i3-msg -t get_workspaces | jq .[].num); do
	i3-msg workspace number "$workspace_number", move workspace to output "$primary"
    done
}
# export -f move_workspace

case "$1" in
    single)
	xrandr --output "$internal" --auto --primary
	for external in "${externals[@]}"; do
	    xrandr --output "$external" --off
	done
	#xrandr --dpi 172
        #gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <1>}"
	;;
    double)
	xrandr --output "$internal" --auto --output "${externals[0]}" --auto --primary --above "$internal"
	# current_workspace="$(i3-msg -t get_workspaces \
	# 			   | jq '.[] | select(.focused==true).name' \
	# 			   | cut -d"\"" -f2)"
	
	# i3-msg -t get_workspaces | jq -r .[].name | xargs -I{} bash -c "move_workspace {}"
	# i3-msg workspace "$current_workspace" 
	
	
	#gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <1>}"
	;;
    triple)
	xrandr \
	    --output "$internal" --auto \
	    --output "${externals[0]}" --auto --primary --above "$internal" \
	    --output "${externals[1]}" --auto --right-of "${externals[0]}" --rotate left
	;;
    mirror)
	xrandr --output "$internal" --primary --auto --output "${externals[0]}" --auto --scale-from 1920x1080
	#gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <1>}"
	;;
    *)
	echo "Usage: $0 (single|double|mirror)" 1>&2
	exit 1
	;;
esac

xmodmap ~/.Xmodmap
move_workspaces
i3-msg restart
exit 0

#echo "Reverting to single display in 10 seconds." 1>&2
#sleep 10
#"$0" single