hypr/autostart: route joplin and teamspeak to named workspaces
This commit is contained in:
11
dot_config/autostart/joplin-desktop.desktop
Normal file
11
dot_config/autostart/joplin-desktop.desktop
Normal file
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=Joplin
|
||||
Comment=Joplin for Desktop
|
||||
Exec=/usr/bin/joplin-desktop
|
||||
Terminal=false
|
||||
Icon=joplin-desktop
|
||||
StartupWMClass=@joplin/app-desktop
|
||||
Type=Application
|
||||
Categories=Office;
|
||||
MimeType=x-scheme-handler/joplin;
|
||||
SingleMainWindow=true
|
||||
11
dot_config/autostart/teamspeak.desktop
Normal file
11
dot_config/autostart/teamspeak.desktop
Normal file
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
Name=TeamSpeak
|
||||
Icon=teamspeak-client
|
||||
Comment=TeamSpeak Voice Communication Client
|
||||
Categories=Audio;Chat;Network;
|
||||
StartupWMClass=TeamSpeak
|
||||
MimeType=x-scheme-handler/ts3server;x-scheme-handler/teamspeak;
|
||||
Exec=teamspeak %u
|
||||
@@ -82,13 +82,16 @@ workspace = special:passwordmgr, on-created-empty:bitwarden-desktop
|
||||
|
||||
## ========== Communication ==========
|
||||
# Comms
|
||||
windowrule = match:class ^(info\.mumble\.Mumble|discord|TeamSpeak|teamspeak3|vesktop)$, workspace name:comms
|
||||
windowrule = match:class ^(info\.mumble\.Mumble|discord|vesktop|teamspeak-client|TeamSpeak|TeamSpeak 3|teamspeak3)$, workspace name:comms
|
||||
# Element
|
||||
windowrule = match:class ^(Element)$, workspace name:element
|
||||
|
||||
## ========== Mail ==========
|
||||
windowrule = match:class ^(org\.mozilla\.Thunderbird)$, workspace name:mail
|
||||
|
||||
## ========== Notes ==========
|
||||
windowrule = match:class ^(@joplin/app-desktop)$, workspace name:joplin
|
||||
|
||||
## ========== Multimedia ==========
|
||||
windowrule = match:class Spotify, workspace 10
|
||||
|
||||
|
||||
@@ -65,6 +65,9 @@ bind = $mainMod, D, exec, hypr-comms-toggle
|
||||
# Mail
|
||||
bind = $mainMod SHIFT, A, exec, hypr-mail-toggle
|
||||
|
||||
# Notes
|
||||
bind = $mainMod SHIFT, D, exec, hypr-joplin-toggle
|
||||
|
||||
# Gaming
|
||||
bind = $mainMod, S, exec, hypr-steam-toggle
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
"comms": "",
|
||||
"element": "",
|
||||
"mail": "",
|
||||
"joplin": "",
|
||||
"steam": "",
|
||||
"default": "",
|
||||
"special": ""
|
||||
|
||||
25
dot_local/bin/executable_hypr-joplin-toggle
Normal file
25
dot_local/bin/executable_hypr-joplin-toggle
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
joplin_ws="name:joplin"
|
||||
joplin_name="joplin"
|
||||
|
||||
active_name=""
|
||||
if json="$(hyprctl -j activeworkspace 2>/dev/null)"; then
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
active_name="$(printf '%s' "$json" | jq -r '.name // empty')"
|
||||
else
|
||||
active_name="$(printf '%s' "$json" | sed -n 's/.*"name":"\\([^"]*\\)".*/\\1/p')"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$active_name" ]]; then
|
||||
active_name="$(hyprctl activeworkspace 2>/dev/null | sed -n 's/.*(\\(.*\\)).*/\\1/p' | head -n1)"
|
||||
fi
|
||||
|
||||
if [[ "$active_name" == "$joplin_name" || "$active_name" == "$joplin_ws" ]]; then
|
||||
hyprctl dispatch workspace previous
|
||||
else
|
||||
hyprctl dispatch moveworkspacetomonitor "$joplin_ws" current
|
||||
hyprctl dispatch workspace "$joplin_ws"
|
||||
fi
|
||||
Reference in New Issue
Block a user