aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/gnome-move-windows13
-rwxr-xr-xbin/gnome-set-config17
-rwxr-xr-xbin/setup-install-fonts26
3 files changed, 51 insertions, 5 deletions
diff --git a/bin/gnome-move-windows b/bin/gnome-move-windows
index d6cd934..f4fcd4e 100755
--- a/bin/gnome-move-windows
+++ b/bin/gnome-move-windows
@@ -10,10 +10,11 @@ done
# Assign windows to predetermined workplaces
misc=$(wmctrl -l | awk '/isco|eepa/ {print $1}')
-main="$(wmctrl -l | awk '/ main$/ {print $1}')"
-communications="$(wmctrl -l | awk '/Webex|Slack|communications/ {print $1}')"
-terminals="$(wmctrl -l | awk '/Alacritty|terminals$/ {print $1}')"
-browsers="$(wmctrl -l | awk '/Firefox|Chrom/ {print $1}')"
+main="$(wmctrl -xl | awk '/ emacs/ {print $1}')"
+communications="$(wmctrl -l | awk '/ebex|lack|communications|notmuch|Outlook|elfeed/ {print $1}')"
+media="$(wmctrl -l | awk '/YouTube|Spotify/ {print $1}')"
+terminals="$(wmctrl -l | awk '/Alacritty|kitty|terminal/ {print $1}')"
+browsers="$(wmctrl -xl | awk '/irefox|hrom/ {print $1}')"
for window_id in $misc; do
wmctrl -i -r $window_id -t 4
@@ -34,3 +35,7 @@ done
for window_id in $terminals; do
wmctrl -i -r $window_id -t 3
done
+
+for window_id in $media; do
+ wmctrl -i -r $window_id -t 8
+done
diff --git a/bin/gnome-set-config b/bin/gnome-set-config
index 84c3319..69a2b44 100755
--- a/bin/gnome-set-config
+++ b/bin/gnome-set-config
@@ -8,6 +8,9 @@ NUM_WORKSPACES=9
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences num-workspaces $NUM_WORKSPACES
+# Disable the default <Super>p. I don't use it, and it's disruptive when I accidentally trigger it.
+gsettings set org.gnome.mutter.keybindings switch-monitor '[]'
+
for i in $(seq 1 $NUM_WORKSPACES); do
gsettings set org.gnome.shell.keybindings switch-to-application-$i '[]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-$i "['<Super>$i']"
@@ -15,7 +18,7 @@ for i in $(seq 1 $NUM_WORKSPACES); do
done
# This configuration is not present in gsettings; we need to fall back to dconf
-bindings="emacs org-mode move-windows"
+bindings="emacs org-mode move-windows rofi rofi-run"
keybindings_key="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
keybindings=$(echo $bindings | awk -v key="$keybindings_key" '{for(i=1;i<=NF;i++) printf("'\''" key "/" $i "/'\''%s", (i==NF ? "" : ","))}')
keybindings="[$keybindings]"
@@ -33,3 +36,15 @@ dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/org
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/move-windows/binding "'<Shift><Super>m'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/move-windows/command "'gnome-move-windows'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/move-windows/name "'move-windows'"
+
+# Disable default for <Super>space.
+gsettings set org.gnome.desktop.wm.keybindings switch-input-source "[]"
+gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward '[]'
+
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi/binding "'<Super>space'"
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi/command "'rofi -show window'"
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi/name "'rofi'"
+
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-run/binding "'<Super>f2'"
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-run/command "'rofi -show run'"
+dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-run/name "'rofi-run'"
diff --git a/bin/setup-install-fonts b/bin/setup-install-fonts
new file mode 100755
index 0000000..ea96873
--- /dev/null
+++ b/bin/setup-install-fonts
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+FONT_DIR="$HOME/.local/share/fonts"
+TEMP_DIR=$(mktemp -d)
+
+mkdir -p "$FONT_DIR"
+
+pushd $TEMP_DIR
+curl -s 'https://api.github.com/repos/be5invis/Iosevka/releases/latest' | \
+ jq -r ".assets[] | .browser_download_url" | \
+ grep PkgTTC-Iosevka | \
+ xargs -n 1 curl -L -O --fail --silent --show-error
+
+for f in *.zip; do
+ unzip "$f"
+done
+
+mv *.ttc "$FONT_DIR/"
+fc-cache -f -v "$FONT_DIR"
+
+popd
+rm -rf "$TEMP_DIR"
+
+echo "Iosevka fonts have been installed."
nihil fit ex nihilo