when setting tilish-smartsplits=on, tilish will not register M-hjkl
bindings to move between panes. it'll need to be configured instead
according to smart-splits documentation:
https://github.com/mrjones2014/smart-splits.nvim?tab=readme-ov-file#tmux
Signed-off-by: Clément Nussbaumer <clement.nussbaumer@postfinance.ch>
Mod 0-9 creates a new workspace if one does not exist. Accidentally
hitting an incorrect number will create a new workspace. Add a new
option to silently ignore non-existing workspaces.
A fresh window is configured with an undefined layout, and `select-layout` is
basically a noop. However, once a preset layout is applied then `select-layout`
will re-apply the last layout.
This commit allows the user to continue modifying the pane arrangement after a
preset layout has been applied by removing the automatic `select-layout` from
the hook.
It has come to my attention that the default fullscreen keybinding `M-f`
conflicts with the GNU Readline (and similar) keybindings for word
navigation in the shell (for those that don't use Fish). Morover, some
terminals like the macOS default Terminal.app translates `M-right` into
`M-f` by default, causing issues with word navigation also when using
the arrow keys. This then affects basically most people who don't use
Vim keybindings for their shell and terminal apps.
As much as I'm reluctant to change the default keybindings of the
plugin, I think this will cause fewer compatibility headaches for users.
I'm therefore switching the default to `M-z` as suggested in issue #6,
which fits better with the default `tmux` name "zoom" for the feature.
The "expr substr" syntax used to return characters from a string is not defined
in the POSIX sh specication. Attempting to use that syntax on a Macbook led to
the bindings for moving panes between windows in prefix mode to fail to be
bound.
This patch addresses this by using a POSIX-compliant replacement for returning a
character from a string by index using the cut command.
Previously, the non-legacy binding of M-S-q ran `kill-pane` followed
by two `select-layout` commands. However, this apparently causes the
newest (v3.1) version of `tmux` to freeze, and has the side-effect
that it reapplies layouts in other workspaces when closing the last
pane in a given workspace. This commit should fix that behavior.