Commit Graph

296 Commits

Author SHA1 Message Date
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 96007b3464 updated README.md with instructions for Powerline symbols with iTerm2, resolves #270 2019-07-31 22:03:13 +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
Gregory Pakosz 6bb3f0fd43 added .gitattributes to make sure .tmux.conf and .tmux.conf.local have LF line endings, resolves #235 2019-04-23 14:04:25 +02:00
Gregory Pakosz 2a22e8b583 mentioned strftime '%I:%M %p' format in tmux_conf_theme_clock_style documentation 2019-03-19 22:42:31 +01:00
Gregory Pakosz 2b0cb0b43c updated README.md to show how to 'curl wttr.in' to display weather, resolves #71 2019-02-03 11:19:53 +01:00