388 Commits

Author SHA1 Message Date
Gregory Pakosz
5b34d9a873 revert extended keys enablement when detecting Ghostty, fixes #804
support for extended keys is not ready yet

see https://github.com/ghostty-org/ghostty/discussions/5924
2025-11-13 10:02:32 +01:00
Gregory Pakosz
3ab67a5ae3 mention that the 'set -g @tpm_plugins' syntax is not supported in the .local customization file
Oh my tmux! uses @tpm_plugins to integrate with TPM but doesn't support discovering
its use in configuration files, because it's tedious to support the syntax that
allows for defining variables over multiple lines with \ to denote line continuation
2025-11-10 09:14:28 +01:00
Gregory Pakosz
374e0bc8a6 revisited TPM integration
stopped supporting 'set -g @tpm_plugins' as it would require to properly detecting
when the variable has been unset before reloading the configuration, reverts #706

skipped running __apply_plugins() when it's already running because it's not reentrant, fixes #803
2025-11-10 09:10:43 +01:00
Gregory Pakosz
9c4522aa27 enable extended keys when detecting Ghostty 2025-11-09 14:06:42 +01:00
Per Modin
bca26bc5f3 made install.sh actually use what's in VISUAL or EDITOR variables to review 2025-11-06 15:37:56 +01:00
Gregory Pakosz
199eb59571 made install.sh clone Oh my tmux! to $XDG_DATA_HOME/tmux/oh-my-tmux 2025-09-29 08:57:10 +02:00
Gregory Pakosz
f9b50cdf54 enable extended keys only when detecting xterm, mintty or iTerm2 (2)
extended-keys was introduced in tmux 3.2, keep the version check
2025-09-24 22:10:12 +02:00
Gregory Pakosz
7bc63c9c3f added support for the VISUAL environment variable 2025-09-08 12:18:46 +02:00
Gregory Pakosz
124f5fc36d added the install.sh installation script, resolves #795 2025-09-06 08:45:21 +02:00
Gregory Pakosz
23f6e11e65 show how to display a message when toggling mouse mode, resolves #793 2025-08-11 10:29:53 +02:00
Gregory Pakosz
0ca3abb46c improved #{pretty_pane_current_path} (2)
we also want to truncate path that are not in the HOME directory
2025-07-21 16:16:57 +02:00
jishnukoliyadan
1ef77d2142 remove unused _root() function, resolves #789 2025-07-01 08:43:49 +02:00
Gregory Pakosz
e25f45ed3d apply important bindings after installing/updating TPM plugins, resolves #788 2025-06-20 12:16:59 +02:00
Gregory Pakosz
8101b24aa1 disable expansion of here document in .local customization file template 2025-06-19 16:03:58 +02:00
Gregory Pakosz
94df58b12c fixed incorrect quoting in README.md, fixes #786 2025-04-02 10:39:50 +02:00
Gregory Pakosz
d84f6bd568 updated the custom variables logic to expand $TMUX_CONF_LOCAL before updating status-left or status-right, resolves #783 2025-02-27 10:24:05 +01:00
Gregory Pakosz
babf1c1fc6 improved #{pretty_pane_current_path} 2025-02-09 15:02:44 +01:00
Gregory Pakosz
3d15beaa13 apparently "do not edit this file" doesn't mean what I think it means 🤷‍♂️ 2025-02-09 00:07:05 +01:00
Gregory Pakosz
129d6e7ff3 enable extended keys only when detecting xterm, mintty or iTerm2, fixes #776
see https://github.com/tmux/tmux/wiki/Modifier-Keys#extended-keys
2025-01-19 18:19:32 +01:00
Gregory Pakosz
2222646188 added the #{github_stars} custom variable example
this shows how to make an api call with curl, and parse the json result with perl
2025-01-05 17:39:05 +01:00
Gregory Pakosz
34d654f917 added the gradient(colour_fg_1,coulour_fg_2,...,colour_fg_n) bar palette style
note that there's no interpolation being performed between color values
2024-12-31 10:54:09 +01:00
Gregory Pakosz
065da52c67 added new C-S-H and C-S-L mappings to move windows around 2024-12-28 15:19:05 +01:00
Gregory Pakosz
5c87d7b3d2 overhauled README.md and added the official Oh my tmux! logo 2024-12-24 17:28:08 +01:00
Gregory Pakosz
4cb811769a made _pane_info() aware of the 'sss_ssh_knownhostsproxy' proxy command (2) 2024-11-26 18:42:48 +01:00
Gregory Pakosz
9905544608 removed x-prefix in [ x"..." = x"..." ] comparisons as all modern shells behave correctly 2024-11-22 10:05:56 +01:00
Gregory Pakosz
2e419db5d9 refactored TPM plugins discovery, resolves #671
lift the limitation that allows plugins to only be declared from the main
`.local` customization file

from now on, spawn an ephemeral tmux server/client pair to discover plugins with
a mix of source-file -nvq and a recursive shell function

the upside of the new approach is that it respects tmux conditionals and we only
consider set -g @plugin that are really evaluated by tmux, e.g. within %if,
%elif, %else blocks

---
currently, source-file -v doesn't apply the -v flag to subsequent source-file
commands being evaluated, so we use -n and recurse ourselves

trying to (ab)use the after-set-option hook to accumulate all the evaluations of
set -g @plugin into a variable was promising, but is not immune to configuration
files that use set-(hook|option) -gu after-set-option to clear the hook, which
makes plugin discovery fail partially or even entirely
2024-11-13 19:55:01 +01:00
Gregory Pakosz
6e22cc2965 updated _pane_info() to stop walking down the process tree at the first ssh command found, fixes #748
which helps when the ssh configuration uses ProxyCommand to connect to the remote host
2024-10-31 12:51:47 +01:00
Gregory Pakosz
5fcc377128 updated README.me to reference @bphogan's tmux3 book 2024-10-16 10:30:53 +02:00
Gregory Pakosz
e8ef9a6f72 added the #{pretty_pane_current_path} variable 2024-10-12 10:43:12 +02:00
Gregory Pakosz
56e2c8d133 worked around tmux 3.5 not running run-shell commands with /bin/sh anymore (2), fixes #479
added back echo calls
2024-10-12 08:43:46 +02:00
Gregory Pakosz
9c3dc9a77e removed hard requirement on Perl's MTime::HiRes module which was only required for timestamping TPM logs, resolves #760 2024-10-11 18:31:20 +02:00
Gregory Pakosz
e13852928f worked around termux's readlink returning /apex/com.android.runtime/bin/linker64 when reading /proc/<pid>/exe (2) 2024-10-11 18:31:20 +02:00
Gregory Pakosz
bd171fabc3 worked around termux's readlink returning /apex/com.android.runtime/bin/linker64 when reading /proc/<pid>/exe, resolves #765
see also termux-play-store/termux-issues#149
2024-10-08 11:16:53 +02:00
Gregory Pakosz
2c9ef1c51b worked around tmux 3.5 not running run-shell commands with /bin/sh anymore, fixes #761
see also tmux/tmux#4143
note this is fixed in tmux 3.5a
2024-10-05 22:16:36 +02:00
Gregory Pakosz
5f1047550b fixed <prefix>+e not working when EDITOR is not defined in sh (2), fixes #755 2024-08-18 21:58:37 +02:00
Gregory Pakosz
49e1bdfa93 added safety nets to TMUX_PROGRAM introspection in case readlink or lsof return broken values (2) 2024-08-13 10:01:24 +02:00
Gregory Pakosz
9cf49731cd made perl's Time::HiRes a strong requirement (2) 2024-05-20 09:33:01 +02:00
Gregory Pakosz
cd3744965a introduced tmux_conf_urlscan_options to configure urlscan invocation, resolves #745 2024-05-20 09:33:01 +02:00
Gregory Pakosz
dc88d389a2 pass -c ":set syntax=tmux" when opening $EDITOR with <prefix>+e (2), fixes #744 2024-05-19 11:02:39 +02:00
Gregory Pakosz
8e3b90c6c8 made perl's Time::HiRes a strong requirement, resolves #739 2024-05-01 10:27:48 +02:00
Gregory Pakosz
03c9f40e6b added safety nets to TMUX_PROGRAM introspection in case readlink or lsof return broken values, resolves #737 2024-05-01 10:21:21 +02:00
Gregory Pakosz
cb13ee2cdd use #[inherit] when replacing #{paring}, #{prefix}, #{mouse} and #{synchronized} variables, like for #{root} 2024-04-01 10:04:01 +02:00
Gregory Pakosz
a795f9ec51 introduced tmux_conf_new_session_retain_current_path (2)
tmux_conf_new_session_retain_current_path should be false by default
2024-03-18 17:25:13 +01:00
Gregory Pakosz
135c89357c fixed #{battery_bar} auto width (3), fixes #726 2024-03-03 14:06:12 +01:00
Gregory Pakosz
8b56f68b09 fixed triplet form battery palette, fixes #724
see also tmux/tmux#3867
2024-03-03 14:00:03 +01:00
Gregory Pakosz
69a0bedc36 tmux_conf_preserve_stock_bindings, resolves #553 2024-02-17 14:57:52 +01:00
Gregory Pakosz
ee922631b6 use wl-copy only when XDG_SESSION_TYPE is set to 'wayland', fixes #719 2024-02-12 21:38:53 +01:00
Gregory Pakosz
b892bc155b introduced tmux_conf_new_session_retain_current_path, resolves #670 2024-02-09 10:13:28 +01:00
Gregory Pakosz
48d4cec23e made _pane_info() aware of the 'sss_ssh_knownhostsproxy' proxy command, fixes #718 2024-02-07 10:39:55 +01:00
Gregory Pakosz
34fe183aa3 do not use sysctl -q as Nix may deploy of a version of sysctl that doesn't support this option, fixes #716 2024-02-05 19:30:11 +01:00