Gregory Pakosz
3c09b78aa6
replaced awk by perl in _ssh_or_mosh_args() to benefit from word boundary anchors, closes #363
2020-09-18 13:36:11 +02:00
Gregory Pakosz
8976729f4f
added support for explicit 'split-window' with ssh reconnect, closes #164
...
tmux only allows binding to existing commands, so when the command given to
'split-window' is 'ssh' and only 'ssh', the binding is converted to a call to
_split_window_ssh()
2020-09-18 13:34:10 +02:00
Joachim Werner
39cc430268
made #{uptime_xxx} work under FreeBSD
2020-09-13 14:17:09 +02:00
Joachim Werner
b4a5d06740
made #{loadavg} work under FreeBSD
2020-09-13 14:15:58 +02:00
Gregory Pakosz
3522721c69
fixed status-left and status-right theming, fixes #397
2020-09-10 12:46:52 +02:00
Gregory Pakosz
5d895f94b7
fixed _battery_info() not accommodating for empty lines, fixes #377
2020-09-02 11:20:23 +02:00
Gregory Pakosz
d357ae54ee
removed useless tests in _battery_info()
2020-09-02 11:20:23 +02:00
Gregory Pakosz
a8081d87be
fixed tmux_conf_new_window_retain_current_path and tmux_conf_new_pane_retain_current_path not working under Cygwin and MSYS2
2020-09-02 11:20:23 +02:00
Gregory Pakosz
9e25f3a550
fixed _apply_bindings() to support paths with spaces
...
_split_window() needs to be given -c '#{pane_current_path}', properly quoted
2020-09-02 11:20:19 +02:00
Gregory Pakosz
cb2bd9f378
made #{loadavg} work under Cygwin
2020-09-02 11:19:58 +02:00
Gregory Pakosz
7a64679c2d
fixed #{username} being truncated under Cygwin
2020-09-02 11:19:58 +02:00
Gregory Pakosz
74602e8d8d
implemented poor man's pkill
2020-09-02 11:19:58 +02:00
Gregory Pakosz
98c7467194
launch _battery_bar() background job only if a battery is present
2020-09-02 11:19:58 +02:00
Gregory Pakosz
f7e383460d
moved pkill calls outside of case blocks
...
otherwise if you change tmux_conf_theme_status_left or tmux_conf_theme_status_right
and remove #{uptime_x}, #{loadavg} or #{battery_xxx} variables you end up with
stray jobs running in the background
2020-09-02 11:19:58 +02:00
Gregory Pakosz
eae2cf27fb
optimized _apply_theme() to launch background jobs straight from _apply_configuration()
...
tmux doesn't share jobs between clients, and when multiple clients are attached
the _load_avg(), _uptime() and _battery_bar() jobs get spawned once per client
attached, which is wasteful
2020-09-02 11:19:58 +02:00
Gregory Pakosz
22de553361
optimized _tty_info()
2020-09-02 11:19:58 +02:00
Gregory Pakosz
7d02a72a46
rewrote _apply_theme() to minimize the number of external calls
2020-09-02 11:19:58 +02:00
Gregory Pakosz
20fa97e310
optimized _ssh_or_mosh_args() by deferring calls to external programs
2020-09-02 11:19:58 +02:00
Gregory Pakosz
03d9514071
optimized _username() and _hostname() by removing some calls to external programs
2020-09-02 11:19:58 +02:00
Gregory Pakosz
cdda729983
made _ssh_or_mosh_args() consume output of _tty_info() directly
2020-09-02 11:19:58 +02:00
Gregory Pakosz
d6ea9ad9c7
split _battery() into _battery_status() and _battery_bar() to refresh #{battery_status} more quickly
2020-09-02 11:19:58 +02:00
Gregory Pakosz
89bc03c612
made use of #{==:a,b} to implement #{root} when available
...
compare the output of _username() to 'root' instead of deferring to the _root()
helper
2020-09-02 11:19:58 +02:00
Gregory Pakosz
f54cede368
pass $tmux_conf_theme_root to the _root() helper instead of using a tmux variable
2020-09-02 11:19:58 +02:00
Gregory Pakosz
f657d6959c
made battery, loadavg and uptime update with low process priority
2020-09-02 11:19:58 +02:00
Gregory Pakosz
5447e9fbf5
made theme settings apply in background to speed up startup time
2020-09-02 11:19:58 +02:00
Gregory Pakosz
3676bfc648
made loadavg status update at most every 'status-interval' seconds
...
also, stopped updating when no client is attached
2020-09-02 11:19:58 +02:00
Gregory Pakosz
8a5ae4f9fc
made uptime status update at most every minute or every 'status-interval' seconds
...
depending on whether '#{uptime_s}' is being used
also, stopped updating when no client is attached
2020-09-02 11:19:58 +02:00
Gregory Pakosz
94eab29107
made battery status update at most every minute
...
also, stopped updating when no client is attached
2020-09-02 11:19:58 +02:00
Gregory Pakosz
cba2a6c1ec
added _uname_s global variable
2020-09-02 11:19:58 +02:00
Gregory Pakosz
71d5e1caa1
sent polyglot heredoc to ':' instead of 'cat > /dev/null'
...
forking to cat, just to write to /dev/null is wasteful
2020-09-02 11:19:58 +02:00
Gregory Pakosz
9b5f5155b3
updated _apply_configuration() to redact tmux_conf_ variables from environment in a single call
2020-09-02 11:19:58 +02:00
Gregory Pakosz
5cc1fe9a12
removed subshell invocations from _is_enabled()
2020-09-02 11:19:58 +02:00
Gregory Pakosz
49e55bac06
aligned default tmux_conf_xxx variables with their .tmux.conf.local sample counterpart
2020-09-02 11:19:58 +02:00
Gregory Pakosz
905122d13c
restored tmux_conf_new_pane_retain_current_path default value in .tmux.conf, fixes #364
2020-09-02 11:18:58 +02:00
Gregory Pakosz
d6f0f647dd
improved error bypass logic in _apply_bindings() (2), fixes #331
...
source-file -v is not documented in tmux CHANGES but in fact appeared in tmux 3.0
2020-03-18 14:30:20 +01:00
Gregory Pakosz
4919400fe2
improved error bypass logic in _apply_bindings(), fixes #330
2020-03-17 20:13:19 +01:00
Gregory Pakosz
57eeffcf0e
raised _maximize_pane() retry count and sleep duration, fixes #328
...
this helps when running under WSL where fork() is slow
2020-03-11 15:10:58 +01:00
Gregory Pakosz
a83ba39f09
fixed _tty_info() to properly discard daemons and their children, fixes #320
2020-02-29 22:18:04 +01:00
Gregory Pakosz
f4fc2730cf
rewrote _apply_bindings() to support new tmux 3.0 bindings (4)
...
failed to source the proper modified file, fixes #303
2019-12-09 22:03:26 +01:00
Gregory Pakosz
1cf813fa8b
rewrote _apply_bindings() to support new tmux 3.0 bindings (3)
...
reading and writing to the modified list-keys' output gave the illusion it worked
2019-11-30 19:50:58 +01:00
Gregory Pakosz
92ed649597
made requirements explicit in both README.md and .tmux.conf
2019-11-30 15:49:06 +01:00
Gregory Pakosz
6815beef4f
afer the _apply_bindings() rewrite, perl has become mandatory
2019-11-30 15:48:40 +01:00
Gregory Pakosz
1231155600
warn users about tmux >= 2.4 only when starting tmux
2019-11-30 15:48:04 +01:00
Gregory Pakosz
c94f05f044
rewrote _apply_bindings() to support new tmux 3.0 bindings (2)
...
patch the output of 'tmux list-keys' right before sourcing back
2019-11-30 15:45:23 +01:00
Gregory Pakosz
489cde73fc
fixed broken status line separator default values
2019-11-29 21:15:14 +01:00
Gregory Pakosz
a9b526c9a2
rewrote _apply_bindings() to support new tmux 3.0 bindings, fixes #254
...
moved away from the eval madness, now current bindings are saved to a temporary
file before being altered with perl
2019-11-27 14:46:11 +01:00
Gregory Pakosz
01c91ba523
warn users this configuration will soon require tmux >= 2.4
2019-09-04 19:09:59 +02:00
Gregory Pakosz
9cb275378e
fixed status line configuration when only using #{uptime_s}
2019-07-28 13:34:21 +02:00
Gregory Pakosz
e0a45082eb
added support for #{uptime_y} variable
2019-06-22 21:48:03 +02:00
Gregory Pakosz
d2df5cf4d4
always use grep -E for regular expression and unset GREP_OPTIONS, fixes #252
2019-06-22 14:27:03 +02:00