aboutsummaryrefslogtreecommitdiff
path: root/home/bin/setup
blob: c22c905e0083f987b00d275b7c6d3a0229a5e7b8 (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
#!/bin/bash

internal=eDP-1
external=$(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
    return 0
}
export -f move_workspace

case "$1" in
    single)
	xrandr --output "$internal" --auto --primary --output "$external" --off
	#xrandr --dpi 172
        #gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <1>}"
	;;
    double)
	xrandr --output "$internal" --auto --output "$external" --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>}"
	;;
    mirror)
	xrandr --output "$internal" --auto --output "$external" --auto --same-as "$internal"
	#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
i3-msg restart
exit 0

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