1
0
Fork 0
mirror of synced 2024-11-05 01:08:59 -05:00
Commit graph

324 commits

Author SHA1 Message Date
sylph1o
2a6145d74f we don't rely on TPM to scan configuration files anymore...
as such we need to populate the @tpm_plugins outside of the internet connectivity
check , otherwise TPM loads no plugin at all

fixes #637
2023-04-08 14:10:11 +02:00
Gregory Pakosz
7706ab724f when lsof cannot be found in PATH, search in /usr/local/bin, /usr/bin, /bin, /usr/sbin and /sbin
this helps using tmux as a default shell on macOS where PATH is initially set to /usr/bin:/bin

resolves #587
2023-04-01 17:28:57 +02:00
Gregory Pakosz
55d47e9c15 added support for connecting to the same host when creating a new window from a pane running an SSH session, resolves #632
see tmux_conf_new_window_reconnect_ssh

also fixed toggling tmux_conf_xxx_reconnect_ssh back and forth
2023-04-01 16:54:17 +02:00
Gregory Pakosz
79430acd85 added (back) window bell and window zoomed flags, resolves #628 2023-03-31 20:39:24 +02:00
Gregory Pakosz
a989554fbc added support for configuration files in the following locations: (3), fixes #631
- ~/.tmux.conf and ~/.tmux.conf.local
- $XDG_CONFIG_HOME/tmux/tmux.conf and $XDG_CONFIG_HOME/tmux/tmux.conf.local
- ~/.config/tmux/tmux.conf and ~/.config/tmux/tmux.conf.local

Oh my tmux! now relies on setting @tpm_plugins so as to not impose its opinions
on TPM and its way of discovering sourced tmux configuration tiles

do not unset '@tpm_plugins' once initial setup is done as it prevents the update
plugins binding from working
2023-03-06 14:51:14 +01:00
Gregory Pakosz
96b36d4bbe added support for configuration files in the following locations: (2), fixes #630
- ~/.tmux.conf and ~/.tmux.conf.local
- $XDG_CONFIG_HOME/tmux/tmux.conf and $XDG_CONFIG_HOME/tmux/tmux.conf.local
- ~/.config/tmux/tmux.conf and ~/.config/tmux/tmux.conf.local

fixed TMUX_PLUGIN_MANAGER_PATH when installed in ~

also made TMUX_PLUGIN_MANAGER_PATH available in the environment of the first created pane
2023-03-06 10:06:51 +01:00
Gregory Pakosz
9941420c6d added a way to mark set/bind/unbind commands as important in ~/.tmux.conf.local (2) 2023-03-05 17:26:21 +01:00
Gregory Pakosz
5f54ee9852 implemented poor man's pkill (2)
disabled SC2009

SC2009 (info): Consider using pgrep instead of grepping ps output
2023-03-05 17:26:21 +01:00
Gregory Pakosz
0f6b28e1e9 fixed SC2268 violation
SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose
2023-03-05 17:26:21 +01:00
Gregory Pakosz
1f5a064820 updated _username() in when the ssh client doesn't support %r in ProxyCommand (2)
disabled SC2086 violation

SC2086 (info): Double quote to prevent globbing and word splitting
2023-03-05 17:26:21 +01:00
Gregory Pakosz
3994ce38d8 fixed shellcheck SC2059 violation
SC2059 (info): Don't use variables in the printf format string. Use printf '..%s..' "$foo"
2023-03-05 17:26:21 +01:00
Gregory Pakosz
adf2e0caec fixed shellcheck SC2015 violation
SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true
2023-03-05 17:26:21 +01:00
Gregory Pakosz
28d6670bb9 reworked pane / tty introspection (3)
fixed SC2154 violation

SC2154 (warning): pane_id is referenced but not assigned
2023-03-05 17:26:21 +01:00
Gregory Pakosz
f930dbe12a updated _maximize_pane() that stopped working with tmux 3.2 (2)
fixed SC2014 violation

SC2034 (warning): current_pane_height appears unused. Verify use (or export if used externally)
2023-03-05 17:26:21 +01:00
Gregory Pakosz
f27641c846 turn off history substitution in case it's been enabled (3)
disabled SC3041 violation and fixed SC2015 violation

SC3041 (warning): In POSIX sh, set flag -H is undefined

SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true
2023-03-05 17:26:21 +01:00
Gregory Pakosz
b17d57f325 added support for configuration files in the following locations:
- ~/.tmux.conf and ~/.tmux.conf.local
- $XDG_CONFIG_HOME/tmux/tmux.conf and $XDG_CONFIG_HOME/tmux/tmux.conf.local
- ~/.config/tmux/tmux.conf and ~/.config/tmux/tmux.conf.local

location of configuration files is determined by the following environment variables:
- TMUX_CONF
- TMUX_CONF_LOCAL

the TMUX_PROGRAM environment variable contains the path to the tmux executable

resolves #200, resolves #221, resolves #439, resolves #586, resolves #624
2023-03-05 17:26:21 +01:00
Gregory Pakosz
c5f598ea86 added tmux_conf_theme that controls whether theming is enabled or disabled (2), fixes #629 2023-03-05 17:26:21 +01:00
Gregory Pakosz
f242584ba3 updated _ssh_or_mosh_args() (2), fixes #627
do not try to ignore the command if supplied

parsing the ssh command line is brittle and people sometimes pass
options after user@hostname, e.g.

ssh -p 222 user@hostname -I /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so
2023-02-23 08:43:20 +01:00
Gregory Pakosz
537b276d74 make sure to use /usr/bin/infocmp to probe if tmux-256color is available system wide (5), fixes #626
bail out if default-terminal is already globally set to tmux-256color or tmux-direct
2023-02-22 16:26:15 +01:00
Gregory Pakosz
12f96dac7c make sure to use /usr/bin/infocmp to probe if tmux-256color is available system wide (4), fixes #619
fixed $uname_s typo
2023-01-25 09:14:47 +01:00
Gregory Pakosz
de1031a7d4 make sure to use /usr/bin/infocmp to probe if tmux-256color is available system wide (3), fixes #618
infocmp may not exist or may return a non 0 exit status which would abort _apply_configuration()
because of set -e
2023-01-23 16:19:58 +01:00
Gregory Pakosz
044d6336e8 make sure to use /usr/bin/infocmp to probe if tmux-256color is available system wide (2), fixes #617
some operating systems like NixOS don't have /usr/bin/infocmp
2023-01-22 09:55:38 +01:00
Gregory Pakosz
2cf4d9a104 make sure to use /usr/bin/infocmp to probe if tmux-256color is available system wide
on macOS, here are the steps to install tmux-256color system wide
$ $(brew --prefix ncurses)/bin/infocmp tmux-256color > /tmp/tmux-256color.info
$ /usr/bin/tic -x /tmp/tmux-256color.info

which will install tmux-256color in ~/.terminfo/74/tmux-256color

resolves #530, resolves #592, resolves #601
2023-01-09 10:39:40 +01:00
Gregory Pakosz
72f09fae75 added tmux_conf_theme that controles whether theming is enabled or disabled, resolves #536 2023-01-04 11:26:39 +01:00
Gregory Pakosz
aea75c7ea4 use %if ... %endif conditionals to enhance tmux_conf_theme_pane_active_border for tmux >= 3.2, resolves #490 2023-01-04 11:26:39 +01:00
Gregory Pakosz
cca37fb84e split _battery() into _battery_status() and _battery_bar() to refresh #{battery_status} more quickly (2) 2023-01-04 11:26:39 +01:00
Gregory Pakosz
5c41188a31 removed support for tmux < 2.4 2023-01-04 11:26:39 +01:00
Gregory Pakosz
5641d3b3f5 fixed custom variables detection, fixes #613 2022-11-05 19:14:00 -07:00
Gregory Pakosz
fa601ed607 bind p to paste-buffer -p to match tmux defaults, closes #610
see https://github.com/tmux/tmux/issues/2248#issuecomment-638329932
2022-10-26 09:16:42 +02:00
sarumont
ccbfdf2091 added support for wl-clipboard, closes #589, closes #606
see https://github.com/bugaevc/wl-clipboard
2022-10-22 13:44:55 +02:00
Luis Davim
562f9c128e fixed <prefix>+e not working when EDITOR is set to 'emacsclient -t' and the default shell is zsh (2), fixes #593
${EDITOR//gvim/vim} and ${EDITOR//mvim/vim} have been introduced to fix #416,
however the replace all substitution is not POSIX and is not supported by termux
or dash

the proper fix for #416 is to set EDITOR to 'gvim -f' or 'mvim -f'
2022-08-20 02:23:05 +02:00
Gregory Pakosz
5fa30deb20 fixed <prefix>+e not working when EDITOR is set to 'emacsclient -t' and the default shell is zsh, fixes #591 2022-08-18 17:21:47 +02:00
Gregory Pakosz
b620a4f0fb turn off history substitution in case it's been enabled (2), fixes #583
dash considers "set +H" is a syntax error and doesn't even evaluate the " || true" part
the workaround consists in trying "set +H" in a subshell first
2022-08-01 17:19:47 +02:00
Gregory Pakosz
68a909d4ca turn off history substitution in case it's been enabled, closes #582 2022-08-01 01:39:12 +02:00
Gregory Pakosz
18a111ff93 added a way to mark set/bind/unbind commands as important in ~/.tmux.conf.local, closes #571
inspired by css, any set/bind/unbind command ending with #!important will be
executed honored, e.g.:

bind-key -T copy-mode-vi Escape send-keys -X clear-selection #!important
2022-07-20 21:11:24 +02:00
Gregory Pakosz
52f1c4a3b1 updated the weather() sample function, closes #580
- increase the curl timeout to 2 seconds
- use curl -f -s instead of redirecting stderr to /dev/null
- print an empty line in case curl is not available or exists in error,
  which should prevent tmux from displaying <... not ready>
2022-07-16 20:36:33 +02:00
Gregory Pakosz
e865a8a1c1 added a way to selectively disable binding manipulation, closes #514
you can set the following variables to 'disabled':
  - tmux_conf_new_window_retain_current_path
  - tmux_conf_new_pane_retain_current_path
  - tmux_conf_new_pane_reconnect_ssh
  - tmux_conf_new_session_prompt
  - tmux_conf_copy_to_os_clipboard
2022-07-14 16:50:58 +02:00
Gregory Pakosz
b69ae7c1a4 reworked pane / tty introspection (5), fixes #573 2022-06-20 22:02:25 +02:00
Gregory Pakosz
f1cc46812b added RGB 24-bit colour support automatic detection 2022-05-23 08:08:33 +02:00
Alan Oliveira
6242e4974f pass #{pane_current_path} to _fpp() and then to split-window 2022-05-23 08:08:14 +02:00
Gregory Pakosz
9a2387c0c7 added support for arguments to custom variables defined in ~/.tmux.conf.local (2), fixes #547 2022-01-14 09:11:33 +01:00
Gregory Pakosz
b3915221f8 added the '<prefix> + Shift + Tab' binding to move to the last session 2022-01-11 18:21:48 +01:00
Gregory Pakosz
05d73a54ed made tpm integration and patching more robust, fixes #540 2021-12-13 08:40:09 +01:00
Gregory Pakosz
96d085eaa7 made _apply_bindings() work with tmux 3.4 stock bindings, fixes #541 2021-12-10 16:22:28 +01:00
Gregory Pakosz
985d64c82e Revert "use send-keys -R to clear terminal and remove the sleep call", fixes #538
Instead, increase the sleep delay
2021-11-30 07:28:16 +01:00
Gregory Pakosz
a453b7fe60 use send-keys -R to clear terminal and remove the sleep call 2021-11-29 22:24:48 +01:00
Gregory Pakosz
0fe760fa6d reworked pane / tty introspection (4), fixes #535
fixed _split_window_ssh()
2021-11-19 14:07:26 +01:00
Gregory Pakosz
618fd66b6f Merge branch 'gh-208', fixes #208 2021-11-17 13:00:16 +01:00
Gregory Pakosz
d471ccc068 updated _username() in when the ssh client doesn't support %r in ProxyCommand
in such a case, we use -o IdentityFile='%%username%%/%r' and parse the output of ssh -v
2021-11-16 23:33:01 +01:00
Gregory Pakosz
c6bab99f05 updated _ssh_or_mosh_args()
relaxed the regex to accommodate for renamed ssh clients and to ignore the command if supplied
2021-11-16 14:59:03 +01:00