aboutsummaryrefslogtreecommitdiff
path: root/home/bin
diff options
context:
space:
mode:
Diffstat (limited to 'home/bin')
-rwxr-xr-xhome/bin/open-project25
-rwxr-xr-xhome/bin/setup22
2 files changed, 41 insertions, 6 deletions
diff --git a/home/bin/open-project b/home/bin/open-project
new file mode 100755
index 0000000..bb98946
--- /dev/null
+++ b/home/bin/open-project
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+kind="$1"
+root="$HOME/src/driver"
+projects=$(find "$root" -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | sort)
+project=$(echo "$projects" | dmenu -p "Open project:")
+[ "$?" -eq 0 ] || exit 1
+dir=$(realpath "$root/$project")
+
+# Rename workspace
+i3-msg rename workspace to \
+ "$(i3-msg -t get_workspaces | jq '.[] | select(.focused==true).num'):$project" > /dev/null
+
+case "$kind" in
+ intellij|"")
+ idea "$dir" &
+ sakura -d "$dir" &
+ sakura -d "$dir" &
+ ;;
+ *)
+ echo "unknown project kind $kind"
+ exit 1
+esac
+
+#i3-msg "append_layout ~/layout.json; exec emacsclient --alternate-editor=\"\" --create-frame \"$dir\"; exec gnome-terminal --working-directory=\"$dir\" -x sh -c sbt; exec gnome-terminal --working-directory=\"$dir\""
diff --git a/home/bin/setup b/home/bin/setup
index c22c905..310b01e 100755
--- a/home/bin/setup
+++ b/home/bin/setup
@@ -1,25 +1,28 @@
#!/bin/bash
internal=eDP-1
-external=$(xrandr | grep -w connected | grep -v "$internal" | cut -d ' ' -f 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
- return 0
}
-export -f move_workspace
+# export -f move_workspace
case "$1" in
single)
- xrandr --output "$internal" --auto --primary --output "$external" --off
+ 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 "$external" --auto --primary --above "$internal"
+ 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)"
@@ -30,8 +33,14 @@ case "$1" in
#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" --auto --output "$external" --auto --same-as "$internal"
+ xrandr --output "$internal" --primary --auto --output "${externals[0]}" --auto --scale-from 1920x1080
#gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <1>}"
;;
*)
@@ -41,6 +50,7 @@ case "$1" in
esac
xmodmap ~/.Xmodmap
+move_workspaces
i3-msg restart
exit 0