diff --git a/config/herdr/config.toml b/config/herdr/config.toml index 3aec0ee..1dcc281 100644 --- a/config/herdr/config.toml +++ b/config/herdr/config.toml @@ -14,6 +14,8 @@ auto_switch = true [keys] prefix = "ctrl+space" +reload_config = "prefix+ctrl+r" +zoom = "prefix+z" [remote] manage_ssh_config = true @@ -44,3 +46,6 @@ key = "prefix+o" type = "plugin_action" command = "herdr-zoxide.browse" description = "Browse zoxide directories" + +[ui.toast] +delivery = "herdr" diff --git a/config/hypr/hyprland.lua b/config/hypr/hyprland.lua index c73b6df..6fed598 100644 --- a/config/hypr/hyprland.lua +++ b/config/hypr/hyprland.lua @@ -280,8 +280,15 @@ hl.bind(LEADER .. "return", function() field = "class", cmd = "gtk-launch tmux.desktop", }) -end, { description = "Open terminal" }) +end, { description = "Open tmux terminal" }) +hl.bind(LEADER .. "SHIFT + return", function() + focus_or_launch({ + match = "herdr", + field = "class", + cmd = "gtk-launch herdr.desktop", + }) +end, { description = "Open herdr terminal" }) hl.bind(LEADER .. "B", hl.dsp.exec_raw(browser), { description = "Open browser" }) hl.bind(LEADER .. "T", hl.dsp.exec_raw(terminal .. " -e btop"), { description = "Open system monitor" }) diff --git a/desktop/alcazar-herdr.desktop b/desktop/alcazar-herdr.desktop index 8f41234..5544597 100644 --- a/desktop/alcazar-herdr.desktop +++ b/desktop/alcazar-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=alcazar herdr Comment=remote dev -Exec=foot -a alcazar-herdr ssh alcazar mise exec -- herdr --session main +Exec=foot -a alcazar-herdr -T "alcazar herdr" ssh alcazar mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/alcazar-tmux.desktop b/desktop/alcazar-tmux.desktop index 1eadd2e..af7ec4a 100644 --- a/desktop/alcazar-tmux.desktop +++ b/desktop/alcazar-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=alcazar tmux Comment=remote dev -Exec=foot -a alcazar-tmux ssh alcazar mise exec -- tmux new -A -s main +Exec=foot -a alcazar-tmux -T "alcazar tmux" ssh alcazar mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/bianca-herdr.desktop b/desktop/bianca-herdr.desktop index 5af5e97..f2e83e8 100644 --- a/desktop/bianca-herdr.desktop +++ b/desktop/bianca-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=bianca Herdr Comment=remote dev -Exec=foot -a bianca-herdr ssh bianca mise exec -- herdr --session main +Exec=foot -a bianca-herdr -T "bianca herdr" ssh bianca mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/bianca-tmux.desktop b/desktop/bianca-tmux.desktop index a1774a5..a3b13be 100644 --- a/desktop/bianca-tmux.desktop +++ b/desktop/bianca-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=bianca tmux Comment=remote dev -Exec=foot -a bianca-tmux ssh bianca mise exec -- tmux new -A -s main +Exec=foot -a bianca-tmux -T "bianca tmux" ssh bianca mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/dupont-herdr.desktop b/desktop/dupont-herdr.desktop index 7d4cf00..2c71a21 100644 --- a/desktop/dupont-herdr.desktop +++ b/desktop/dupont-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=dupont herdr Comment=remote dev -Exec=foot -a dupont-herdr ssh dupont mise exec -- herdr --session main +Exec=foot -a dupont-herdr -T "dupont herdr" ssh dupont mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/dupont-tmux.desktop b/desktop/dupont-tmux.desktop index a05caeb..d7f9a01 100644 --- a/desktop/dupont-tmux.desktop +++ b/desktop/dupont-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=dupont tmux Comment=remote dev -Exec=foot -a dupont-tmux ssh dupont mise exec -- tmux new -A -s main +Exec=foot -a dupont-tmux -T "dupont tmux" ssh dupont mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/herdr.desktop b/desktop/herdr.desktop index b225035..1353e20 100644 --- a/desktop/herdr.desktop +++ b/desktop/herdr.desktop @@ -1,8 +1,8 @@ [Desktop Entry] Version=1.0 -Name=herdr Terminal -Comment=herdr Terminal -Exec=foot -a herdr mise exec -- herdr --session=main +Name=Terminal herdr +Comment=Terminal with herdr mux +Exec=foot -a herdr -T "terminal herdr" mise exec -- herdr --session=main Terminal=false Type=Application Icon=foot diff --git a/desktop/nca-ai-01-herdr.desktop b/desktop/nca-ai-01-herdr.desktop index c4a79bc..5294c4c 100644 --- a/desktop/nca-ai-01-herdr.desktop +++ b/desktop/nca-ai-01-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=nca-ai-01 herdr Comment=remote dev -Exec=foot -a nca-ai-01-herdr ssh nca-ai-01 mise exec -- herdr --session main +Exec=foot -a nca-ai-01-herdr -T "nca ai 01 herdr" ssh nca-ai-01 mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/nca-ai-01.desktop b/desktop/nca-ai-01-tmux.desktop similarity index 57% rename from desktop/nca-ai-01.desktop rename to desktop/nca-ai-01-tmux.desktop index 034f5d4..4b8e7dc 100644 --- a/desktop/nca-ai-01.desktop +++ b/desktop/nca-ai-01-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=nca-ai-01 tmux Comment=remote dev -Exec=foot -a nca-ai-01-tmux ssh nca-ai-01 mise exec -- tmux new -A -s main +Exec=foot -a nca-ai-01-tmux -T "nca ai 01 tmux" ssh nca-ai-01 mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/obelix-herdr.desktop b/desktop/obelix-herdr.desktop index 701f809..1dfc6ca 100644 --- a/desktop/obelix-herdr.desktop +++ b/desktop/obelix-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=obelix herdr Comment=remote dev -Exec=foot -a obelix-herdr ssh obelix mise exec -- herdr --session main +Exec=foot -a obelix-herdr -T "obelix herdr" ssh obelix mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/obelix-tmux.desktop b/desktop/obelix-tmux.desktop index b0127b8..337dba2 100644 --- a/desktop/obelix-tmux.desktop +++ b/desktop/obelix-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=obelix tmux Comment=remote dev -Exec=foot -a obelix-tmux ssh obelix mise exec -- tmux new -A -s main +Exec=foot -a obelix-tmux -T "obelix tmux" ssh obelix mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/steve-dev-herdr.desktop b/desktop/steve-dev-herdr.desktop index 8048e95..bd3be62 100644 --- a/desktop/steve-dev-herdr.desktop +++ b/desktop/steve-dev-herdr.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=steve dev herdr Comment=remote dev -Exec=foot -a steve-dev-herdr ssh steve-dev mise exec -- herdr --session main +Exec=foot -a steve-dev-herdr -T "steve dev herdr" ssh steve-dev mise exec -- herdr --session main Terminal=false Type=Application Icon=foot diff --git a/desktop/steve-dev-tmux.desktop b/desktop/steve-dev-tmux.desktop index 5d05b06..54ede86 100644 --- a/desktop/steve-dev-tmux.desktop +++ b/desktop/steve-dev-tmux.desktop @@ -2,7 +2,7 @@ Version=1.0 Name=steve dev tmux Comment=remote dev -Exec=foot -a steve-dev-tmux ssh steve-dev mise exec -- tmux new -A -s main +Exec=foot -a steve-dev-tmux -T "steve dev tmux" ssh steve-dev mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/desktop/terminal.desktop b/desktop/terminal.desktop index 8bfedea..315899d 100644 --- a/desktop/terminal.desktop +++ b/desktop/terminal.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Exec=foot +Exec=foot -T terminal Icon=foot Terminal=false Categories=System;TerminalEmulator; diff --git a/desktop/tmux.desktop b/desktop/tmux.desktop index 938b60a..6b54aa7 100644 --- a/desktop/tmux.desktop +++ b/desktop/tmux.desktop @@ -1,8 +1,8 @@ [Desktop Entry] Version=1.0 -Name=Tmux Terminal -Comment=Tmux Terminal -Exec=foot -a tmux mise exec -- tmux new -A -s main +Name=Terminal tmux +Comment=Terminal with tmux +Exec=foot -a tmux -T "terminal tmux" mise exec -- tmux new -A -s main Terminal=false Type=Application Icon=foot diff --git a/mise.toml b/mise.toml index 9424b46..9e21ebf 100644 --- a/mise.toml +++ b/mise.toml @@ -77,7 +77,7 @@ dotfiles.default_mode = "symlink-each" "~/.local/share/applications/dupont-herdr.desktop" = { source = "desktop/dupont-herdr.desktop", mode = "symlink" } "~/.local/share/applications/obelix-tmux.desktop" = { source = "desktop/obelix-tmux.desktop", mode = "symlink" } "~/.local/share/applications/obelix-herdr.desktop" = { source = "desktop/obelix-herdr.desktop", mode = "symlink" } -"~/.local/share/applications/nca-ai-01.desktop" = { source = "desktop/nca-ai-01.desktop", mode = "symlink" } +"~/.local/share/applications/nca-ai-01-tmux.desktop" = { source = "desktop/nca-ai-01-tmux.desktop", mode = "symlink" } "~/.local/share/applications/nca-ai-01-herdr.desktop" = { source = "desktop/nca-ai-01-herdr.desktop", mode = "symlink" } # scripts. diff --git a/script/hyprland-fetch-client b/script/hyprland-fetch-client index c95b5a9..cb3671b 100755 --- a/script/hyprland-fetch-client +++ b/script/hyprland-fetch-client @@ -2,7 +2,7 @@ #chooser="walker -d" chooser="rofi -i -dmenu -display-columns 1" workspace=$(hyprctl activeworkspace -j | jq -r '.id') -selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title)\\\t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Fetch') +selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title)\t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Fetch') #address=$(hyprctl clients -j | jq -r "to_entries | .[] | select(.value.title == \"$selected\") | \"\(.value.address)\"") address=$(echo "$selected" | awk -F '::' '{print $NF}') #hyprctl dispatch movetoworkspace "$workspace,address:$address" diff --git a/script/hyprland-focus-client b/script/hyprland-focus-client index cfd348a..f62b751 100755 --- a/script/hyprland-focus-client +++ b/script/hyprland-focus-client @@ -1,12 +1,9 @@ #!/bin/sh #chooser="walker -d" chooser="rofi -i -dmenu -display-columns 1" -selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title)\\\t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Focus') +selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title) \t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Focus') address=$(echo $selected | awk -F'::' '{print $NF}') -#address=$(hyprctl clients -j | jq -r "to_entries | .[] | select(.value.title == '$selected') | \"\(.value.address)\"") json=$(hyprctl clients -j | jq -r ".[] | select(.address == \"$address\")") workspace=$(echo $json | jq -r '.workspace.id') hyprctl dispatch "hl.dsp.focus({workspace = $workspace , on_current_monitor = true})" hyprctl dispatch "hl.dsp.focus({ window = \"address:$address\" })" -#hyprctl dispatch focusworkspaceoncurrentmonitor "$workspace" -#hyprctl dispatch focuswindow "address:$address"