Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have been tempted to drop tmux locally for native Ghostty panes/tabs, but I prefer the single height tmux status bar with window list only (set -g status-left '' + set -g status-right '') vs the thicker window decorations using macos-titlebar-style = tabs.

I did come up with Ghostty bindings to replicate my tmux settings if it helps anyone (my tmux leader is ctrl + space):

    # clear default bindings + add paste back
    keybind=clear
    keybind=super+v=paste_from_clipboard

    # navigate panes
    keybind=ctrl+h=goto_split:left
    keybind=ctrl+j=goto_split:bottom
    keybind=ctrl+k=goto_split:top
    keybind=ctrl+l=goto_split:right
    keybind=ctrl+space>shift+apostrophe=new_split:down
    keybind=ctrl+space>shift+five=new_split:right
    keybind=ctrl+space>space=equalize_splits
    keybind=ctrl+space>z=toggle_split_zoom

    # navigate tabs
    keybind=ctrl+space>c=new_tab
    keybind=ctrl+space>one=goto_tab:1
    ...
    keybind=ctrl+space>zero=goto_tab:10


Nice, I came up with something similar when trying ghostty. Were you able to replicate/setup continuous key hold for resizing? The way I have it it tmux is that doing leader,Shift+hold h/i/k/j continually resizes a pane while I keep holding for example Shift+h. But I wasn’t able to replicate it in ghostty


Never realized you can do that. Can you share that tmux binding? Right now I use `bind -r Space next-layout` for resizing (spam repeatedly).


Hey. Not sure what's triggering it from the tmux.conf, i think it's just the `-r` like you have ? I think it stands for 'repeat'. Perhaps you are already doing the same thing, spam resize? I have something like `bind -r H resize-pane -L 1`, so when I hit my <leader> and then hold capital H (shift+h), it just keeps resizing by 1 unit of size.

other parts of my config that could be relevant, using with iterm2.

``` bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R bind -r H resize-pane -L 1 bind -r J resize-pane -D 1 bind -r K resize-pane -U 1 bind -r L resize-pane -R 1 set -g mouse on bind \\ split-window -h -c '#{pane_current_path}' bind - split-window -v -c '#{pane_current_path}' set -g focus-events on setw -g aggressive-resize on set -g display-time 4000 set -s escape-time 0 ```




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: