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
|