refactor: extract terminal launch logic into shared script

Add terminal-launcher script as a single entry point for launching
foot-based terminals with a given class and command. Migrate all
.desktop files to use it instead of inline foot invocations.

Simplify hyprland keybindings by replacing inline focus_or_launch
with hl.dsp.exec_cmd
This commit is contained in:
2026-07-30 17:51:55 -04:00
parent 38b77f94a3
commit 039d15a5e6
18 changed files with 38 additions and 29 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=alcazar herdr
Comment=remote dev
Exec=foot -a alcazar-herdr -T "alcazar herdr" ssh alcazar mise exec -- herdr --session main
Exec=terminal-launcher alcazar-herdr "ssh alcazar mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=alcazar tmux
Comment=remote dev
Exec=foot -a alcazar-tmux -T "alcazar tmux" ssh alcazar mise exec -- tmux new -A -s main
Exec=terminal-launcher alcazar-tmux "ssh alcazar mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=bianca Herdr
Comment=remote dev
Exec=foot -a bianca-herdr -T "bianca herdr" ssh bianca mise exec -- herdr --session main
Exec=terminal-launcher bianca-herdr "ssh bianca mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=bianca tmux
Comment=remote dev
Exec=foot -a bianca-tmux -T "bianca tmux" ssh bianca mise exec -- tmux new -A -s main
Exec=terminal-launcher bianca-tmux "ssh bianca mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=dupont herdr
Comment=remote dev
Exec=foot -a dupont-herdr -T "dupont herdr" ssh dupont mise exec -- herdr --session main
Exec=terminal-launcher dupont-herdr "ssh dupont mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=dupont tmux
Comment=remote dev
Exec=foot -a dupont-tmux -T "dupont tmux" ssh dupont mise exec -- tmux new -A -s main
Exec=terminal-launcher dupont-tmux "ssh dupont mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=Terminal herdr
Comment=Terminal with herdr mux
Exec=foot -a herdr -T "terminal herdr" mise exec -- herdr --session=main
Exec=terminal-launcher terminal-herdr "mise exec -- herdr --session=main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=nca-ai-01 herdr
Comment=remote dev
Exec=foot -a nca-ai-01-herdr -T "nca ai 01 herdr" ssh nca-ai-01 mise exec -- herdr --session main
Exec=terminal-launcher nca-ai-01-herdr "ssh nca-ai-01 mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=nca-ai-01 tmux
Comment=remote dev
Exec=foot -a nca-ai-01-tmux -T "nca ai 01 tmux" ssh nca-ai-01 mise exec -- tmux new -A -s main
Exec=terminal-launcher nca-ai-01-tmux "ssh nca-ai-01 mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=obelix herdr
Comment=remote dev
Exec=foot -a obelix-herdr -T "obelix herdr" ssh obelix mise exec -- herdr --session main
Exec=terminal-launcher obelix-herdr "ssh obelix mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=obelix tmux
Comment=remote dev
Exec=foot -a obelix-tmux -T "obelix tmux" ssh obelix mise exec -- tmux new -A -s main
Exec=terminal-launcher obelix-tmux "ssh obelix mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=steve dev herdr
Comment=remote dev
Exec=foot -a steve-dev-herdr -T "steve dev herdr" ssh steve-dev mise exec -- herdr --session main
Exec=terminal-launcher steve-dev-herdr "ssh steve-dev mise exec -- herdr --session main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=steve dev tmux
Comment=remote dev
Exec=foot -a steve-dev-tmux -T "steve dev tmux" ssh steve-dev mise exec -- tmux new -A -s main
Exec=terminal-launcher steve-dev-tmux "ssh steve-dev mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot
+1 -1
View File
@@ -1,6 +1,6 @@
[Desktop Entry]
Type=Application
Exec=foot -T terminal
Exec=terminal-launcher terminal-fish "/usr/bin/fish"
Icon=foot
Terminal=false
Categories=System;TerminalEmulator;
+1 -1
View File
@@ -2,7 +2,7 @@
Version=1.0
Name=Terminal tmux
Comment=Terminal with tmux
Exec=foot -a tmux -T "terminal tmux" mise exec -- tmux new -A -s main
Exec=terminal-launcher "terminal-tmux" "mise exec -- tmux new -A -s main"
Terminal=false
Type=Application
Icon=foot