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
Gregory Pakosz
685c74128e
implemented Unicode 4-digit and 8-digit parsing, resolves #148 and resolves #167
...
some examples:
- \u23f0 will be converted to the alarm clock symbol ⏰
- \U1f47d will be converted to the alien emoji 👽
2019-06-09 17:47:23 +02:00
Gregory Pakosz
915d4a3960
made workaround for implementations of sed that don't understand -E more robust
...
also made it compatible with POSIX shells
2019-06-09 15:49:45 +02:00
Gregory Pakosz
8f808316b1
fixed ssh reconnection when pane runs a remote command
2019-06-09 12:21:40 +02:00
Gregory Pakosz
ffc2dfbe78
made _apply_bindings() more robust
2019-06-09 11:42:38 +02:00
Gregory Pakosz
67c22c2700
worked around implementations of sed that don't understand -E, resolves #150
2019-05-19 21:42:14 +02:00
Gregory Pakosz
8809af7c9f
prevented ps from truncating username in its output, resolves #241
2019-05-06 22:41:00 +02:00
Gregory Pakosz
ef8962bb39
bind y to pbcopy when reattach-to-username is not present
2019-05-06 22:40:33 +02:00
Gregory Pakosz
e631331281
fixed buggy battery detection logic, likely fixes #233
2019-05-06 22:39:18 +02:00
Gregory Pakosz
9fbde7b9b1
fixed the _tty_info() and _ssh_or_mosh_args() helpers logic
...
- filtered ssh master connections in _tty_info()
- filtered processes reparented to pid 1
2019-05-04 10:00:52 +02:00
Gregory Pakosz
e1452f1242
worked around tmux 2.9 "style inheritance" behavior change, fixes #237
2019-04-25 09:29:48 +02:00