Compare commits
2 commits
e11c55c8f6
...
9274fc521d
Author | SHA1 | Date | |
---|---|---|---|
9274fc521d | |||
9582c74c3c |
8 changed files with 62 additions and 31 deletions
|
@ -8,7 +8,7 @@ exec export YDOTOOL_SOCKET=/tmp/.ydotool_socket
|
||||||
exec ydotoold
|
exec ydotoold
|
||||||
|
|
||||||
##password keyring unlock
|
##password keyring unlock
|
||||||
#exec --no-startup-id /home/kellya/projects/public/gnome-keyring-yubikey-unlock/unlock_keyrings.sh /home/kellya/gnome-secret
|
#exec /home/kellya/projects/public/gnome-keyring-yubikey-unlock/unlock_keyrings.sh /home/kellya/gnome-secret
|
||||||
|
|
||||||
# start nm-applet for network tray icon
|
# start nm-applet for network tray icon
|
||||||
exec nm-applet
|
exec nm-applet
|
||||||
|
@ -23,5 +23,6 @@ exec /home/kellya/.config/sway/scripts/workspaces.sh
|
||||||
exec dex-autostart --autostart --environment sway
|
exec dex-autostart --autostart --environment sway
|
||||||
|
|
||||||
exec /home/kellya/bin/bg_rotate_sway.sh
|
exec /home/kellya/bin/bg_rotate_sway.sh
|
||||||
exec ~/.local/bin/solaar -w hide -b symbolic
|
#exec /usr/bin/solaar -w hide -b symbolic
|
||||||
|
#exec flatpak run im.nheko.Nheko
|
||||||
exec swayosd-server
|
exec swayosd-server
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# keybindings
|
# keybindings
|
||||||
# Note, this is for more of a "global" keybindings. Modes will have their own mode_whatever.conf keybinding
|
# Note, this is for more of a "global" keybindings. Modes will have their own mode_whatever.conf keybinding
|
||||||
|
|
||||||
bindsym $mod+Return exec kitty
|
bindsym $mod+Return exec ghostty
|
||||||
|
#bindsym $mod+Return exec kitty
|
||||||
|
|
||||||
bindsym Control+$alt+l exec /home/kellya/.config/sway/scripts/lock.sh
|
bindsym Control+$alt+l exec /home/kellya/.config/sway/scripts/lock.sh
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ for_window [app_id=^soundux$] title_format "<span size='120%' font-weight='nor
|
||||||
for_window [app_id=^virt-manager$] title_format "<span size='100%' font-weight='normal'> </span>%title"
|
for_window [app_id=^virt-manager$] title_format "<span size='100%' font-weight='normal'> </span>%title"
|
||||||
for_window [app_id=^vlc$] title_format "<span size='110%' font-weight='normal'> </span>%title"
|
for_window [app_id=^vlc$] title_format "<span size='110%' font-weight='normal'> </span>%title"
|
||||||
for_window [app_id=^zenity$] title_format "<span size='110%' font-weight='normal' rise='-1pt'> </span>%title"
|
for_window [app_id=^zenity$] title_format "<span size='110%' font-weight='normal' rise='-1pt'> </span>%title"
|
||||||
|
for_window [app_id=^com.mitchellh.ghostty$] title_format "<span size='110%' font-weight='normal' rise='-1pt'> </span>%title"
|
||||||
|
for_window [app_id=^org.gnome.Fractal$] title_format "<span size='110%' font-weight='normal' rise='-1pt'>౷ </span>%title"
|
||||||
|
|
||||||
for_window [class=^Ardour$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
for_window [class=^Ardour$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
||||||
for_window [class=^Audacity$|^lmms] title_format "<span size='110%' font-weight='normal'> </span>%title"
|
for_window [class=^Audacity$|^lmms] title_format "<span size='110%' font-weight='normal'> </span>%title"
|
||||||
|
@ -85,4 +87,5 @@ for_window [class=^vlc$] title_format "<span size='120%' font-weight='normal'>
|
||||||
for_window [class=^Spotify$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
for_window [class=^Spotify$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
||||||
for_window [class=^jetbrains-pycharm$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
for_window [class=^jetbrains-pycharm$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
||||||
for_window [class=^Slack$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
for_window [class=^Slack$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
||||||
for_window [class=^teams-for-linux$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
for_window [class=^teams-for-linux$] title_format "<span size='120%' font-weight='normal'> </span>%title"
|
||||||
|
for_window [instance=^element$] title_format "<span size='120%' font-weight='normal'> ⌺ </span>%title"
|
||||||
|
|
|
@ -19,6 +19,8 @@ assign [class="jetbrains-phpstorm"] workspace number $ws4
|
||||||
assign [class="Slack"] workspace number $ws2
|
assign [class="Slack"] workspace number $ws2
|
||||||
assign [app_id="org.mozilla.thunderbird"] workspace number $ws6
|
assign [app_id="org.mozilla.thunderbird"] workspace number $ws6
|
||||||
assign [class="Joplin"] workspace number $ws6
|
assign [class="Joplin"] workspace number $ws6
|
||||||
|
assign [instance="element"] workspace number $ws2
|
||||||
|
assign [instance="im.nheko.Nheko"] workspace number $ws2
|
||||||
|
|
||||||
|
|
||||||
#Default floating (copied from https://github.com/jjquin/swayarch/blob/master/.config/sway/config.d/window_rules)
|
#Default floating (copied from https://github.com/jjquin/swayarch/blob/master/.config/sway/config.d/window_rules)
|
||||||
|
|
4
config
4
config
|
@ -34,5 +34,5 @@ include conf.d/*.conf
|
||||||
|
|
||||||
include autostart.conf
|
include autostart.conf
|
||||||
focus_on_window_activation focus
|
focus_on_window_activation focus
|
||||||
output DP-4 pos 0 0
|
output DP-6 pos 0 0
|
||||||
output DP-5 pos 1920 0
|
output DP-7 pos 1920 0
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
swaylock \
|
swaylock \
|
||||||
|
-f \
|
||||||
--screenshots \
|
--screenshots \
|
||||||
--indicator \
|
--indicator \
|
||||||
--indicator-radius 100 \
|
--indicator-radius 100 \
|
||||||
|
|
|
@ -1,39 +1,62 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Set workspace names/number
|
# === CONFIG ===
|
||||||
ws1=1
|
ws1=1
|
||||||
ws2=2
|
ws2=2
|
||||||
ws3=3
|
ws3=3
|
||||||
ws5=5
|
ws5=5
|
||||||
ws6=6
|
ws6=6
|
||||||
|
|
||||||
|
# === FUNCTION ===
|
||||||
|
# move_when_ready <command> <match_type: app_id|title> <match_value> <workspace>
|
||||||
|
move_when_ready() {
|
||||||
|
local cmd="$1"
|
||||||
|
local match_type="$2" # "app_id" or "title"
|
||||||
|
local match_value="$3"
|
||||||
|
local target_ws="$4"
|
||||||
|
local timeout="${5:-30}" # default timeout: 30 seconds
|
||||||
|
|
||||||
#Split the binary and the options so we can optionally run w/ or w/o the option
|
echo "▶ Launching: $cmd (waiting for $match_type=$match_value, timeout ${timeout}s)"
|
||||||
# full path to the toolwait binary itself
|
eval "$cmd" &
|
||||||
TOOLWAITBIN="/home/kellya/.config/sway/scripts/i3-toolwait"
|
|
||||||
# Options to pass
|
|
||||||
TOOLWAITOPTIONS="--nocheck"
|
|
||||||
# binary, with options
|
|
||||||
TOOLWAIT="$TOOLWAITBIN $TOOLWAITOPTIONS"
|
|
||||||
|
|
||||||
|
local waited=0
|
||||||
|
local interval=0.5
|
||||||
|
local max_wait=$(echo "$timeout / $interval" | bc)
|
||||||
|
|
||||||
swaymsg workspace $ws6
|
while true; do
|
||||||
$TOOLWAIT --waitfor org.mozilla.thunderbird /usr/bin/thunderbird
|
if swaymsg -t get_tree | grep -q "\"$match_type\": \"$match_value\""; then
|
||||||
$TOOLWAIT --waitfor logseq /home/kellya/bin/logseq
|
echo "✓ Found $match_type=$match_value — moving to workspace $target_ws"
|
||||||
|
swaymsg "[${match_type}=\"${match_value}\"] move to workspace ${target_ws}" >/dev/null
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
# Start spotify
|
sleep $interval
|
||||||
swaymsg workspace $ws5
|
waited=$((waited+1))
|
||||||
$TOOLWAIT -- /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=spotify --file-forwarding com.spotify.Client
|
|
||||||
|
|
||||||
|
if [ "$waited" -ge "$max_wait" ]; then
|
||||||
|
echo "⏰ Timeout waiting for $match_type=$match_value after ${timeout}s"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
# === APPS ===
|
||||||
|
|
||||||
swaymsg workspace $ws2
|
move_when_ready "/usr/bin/thunderbird" "app_id" "net.thunderbird.Thunderbird" "$ws6"
|
||||||
$TOOLWAITBIN --waitfor slack -- flatpak run com.slack.Slack
|
|
||||||
$TOOLWAIT --waitfor teams-for-linux -- /opt/teams-for-linux/teams-for-linux --optInTeamsV2 true
|
|
||||||
|
|
||||||
swaymsg workspace $ws1
|
move_when_ready "/home/kellya/bin/logseq" "class" "Logseq" "$ws6"
|
||||||
$TOOLWAITBIN --waitfor org.mozilla.firefox firefox
|
|
||||||
|
move_when_ready "flatpak run com.spotify.Client" "instance" "spotify" "$ws5"
|
||||||
|
|
||||||
|
move_when_ready "flatpak run com.slack.Slack" "instance" "slack" "$ws2"
|
||||||
|
|
||||||
|
move_when_ready "/opt/teams-for-linux/teams-for-linux --optInTeamsV2 true" "instance" "teams-for-linux" "$ws2"
|
||||||
|
|
||||||
|
move_when_ready "ghostty" "app_id" "com.mitchellh.ghostty" "$ws3"
|
||||||
|
|
||||||
|
move_when_ready "1password" "instance" "1password" "$ws3"
|
||||||
|
|
||||||
|
move_when_ready "firefox" "app_id" "org.mozilla.firefox" "$ws1"
|
||||||
|
|
||||||
|
swaymsg workspace "$ws1"
|
||||||
|
swaymsg workspace "$ws3"
|
||||||
|
|
||||||
# Switch to the terminal/email workspace by default
|
|
||||||
swaymsg workspace $ws3
|
|
||||||
$TOOLWAIT --waitfor kitty kitty
|
|
||||||
$TOOLWAIT --waitfor 1password 1password
|
|
||||||
|
|
|
@ -17,8 +17,8 @@ set $ws7 7
|
||||||
set $ws8 8
|
set $ws8 8
|
||||||
set $ws9 9
|
set $ws9 9
|
||||||
set $ws10 10
|
set $ws10 10
|
||||||
set $display_1 DP-4
|
set $display_1 DP-6
|
||||||
set $display_2 DP-5
|
set $display_2 DP-7
|
||||||
|
|
||||||
# New workspaces will get fullscreen/tabbed by default
|
# New workspaces will get fullscreen/tabbed by default
|
||||||
workspace_layout tabbed
|
workspace_layout tabbed
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue