diff --git a/dot_config/ghostty/config b/dot_config/ghostty/config index e5ce961..525e582 100644 --- a/dot_config/ghostty/config +++ b/dot_config/ghostty/config @@ -42,6 +42,8 @@ keybind = shift+enter=text:\n # command palette: ctrl+space is tmux's root-table C-Space (tmux-palette); # sent explicitly as NUL so no keyboard-protocol mode can turn it into a CSI keybind = ctrl+space=text:\x00 +# project tasks palette (pj): tmux prefix t +keybind = ctrl+shift+space=text:\x02t # tabs → tmux windows keybind = ctrl+shift+t=text:\x02c diff --git a/dot_config/tmux-palette/commands.json b/dot_config/tmux-palette/commands.json index 35fcd3c..e63f975 100644 --- a/dot_config/tmux-palette/commands.json +++ b/dot_config/tmux-palette/commands.json @@ -31,6 +31,15 @@ "aliases": ["hist"], "action": { "tmux": "split-window -v -l 25% -c '#{pane_current_path}' 'exec atuin-pick'" } }, + { + "icon": "", + "title": "Project Tasks", + "description": "pj: install, dev, make, uv, scripts", + "category": "Tools", + "shortcut": "Ctrl+Shift+Space", + "aliases": ["pj", "run"], + "action": { "palette": "tasks" } + }, { "icon": "󱂬", "title": "Sessions (sessionx)", diff --git a/dot_config/tmux-palette/palettes/tasks.json b/dot_config/tmux-palette/palettes/tasks.json new file mode 100644 index 0000000..585df1e --- /dev/null +++ b/dot_config/tmux-palette/palettes/tasks.json @@ -0,0 +1,6 @@ +{ + "title": "Project Tasks", + "command": "~/.local/bin/pj-palette", + "grouped": true, + "emptyText": "No tasks in this project" +} diff --git a/dot_config/tmux/tmux.conf b/dot_config/tmux/tmux.conf index da2abd5..cc8a42b 100644 --- a/dot_config/tmux/tmux.conf +++ b/dot_config/tmux/tmux.conf @@ -191,6 +191,9 @@ set -g @plugin 'eduwass/tmux-palette' # bun). User config (commands ported from kitty, cyberdream theme, Ghostty # shortcut labels) lives in ~/.config/tmux-palette/. set -g @palette-key 'C-Space' +# pj's task runner as a palette (pj-palette): quick actions + project tasks, +# each run in a new window. prefix + t (Ghostty ctrl+shift+space). +bind -N "Project tasks (pj)" t run-shell "~/.config/tmux/plugins/tmux-palette/bin/tmux-palette.sh tasks" # sessionx: fuzzy session switcher/creator on prefix + o (Ghostty # ctrl+shift+o). A query with no match goes to zoxide; uses fzf --tmux.