Gregory Pakosz
a752c41bca
fixed copy to os clipboard on macOS when xclip or xsel is installed, fixes #459
2021-03-04 17:55:21 +01:00
Gregory Pakosz
4bf9263fbd
fixed variable replacement in tmux_conf_theme_status_right and tmux_conf_theme_status_left (2), fixes #442
2021-01-11 07:54:05 +01:00
Neil Mahoney
d2b5758bdd
fix left status prefix rendering
2021-01-11 07:29:24 +01:00
Gregory Pakosz
788ffd8e6f
fixed variable replacement in tmux_conf_theme_status_right and tmux_conf_theme_status_left, fixes #356
2021-01-10 16:53:12 +01:00
Frederick Zhang
41af713ff7
fixed BusyBox's tr command compatibility, fixes #441
2021-01-10 09:53:23 +01:00
Gregory Pakosz
d950ee3c8c
added support for tpm, resolves #61
2021-01-09 21:04:48 +01:00
Gregory Pakosz
53d7ce8311
fixed indentation in _apply_overrides()
2020-12-13 20:50:04 +01:00
Gregory Pakosz
8df1666ddc
improved status line rendering, fixes #419 (3)
...
fixed spacers
2020-12-12 19:35:46 +01:00
Gregory Pakosz
249f0be096
fixed use of invalid 'print' command
2020-12-12 18:38:27 +01:00
Gregory Pakosz
8a4dabb196
added support for #{hostname_full} and #{hostname_full_ssh}, closes #361
2020-12-08 22:10:36 +01:00
Gregory Pakosz
e74dc67a7d
improved status line rendering, fixes #419 (2)
...
- do not apply attr to spacers
- fixed attr for last window, window with activity and window with bell
2020-12-05 10:33:13 +01:00
Matthew Broomfield
e3960e5347
added icon for mouse mode, fixes #295
...
mouse icon is to the left of the battery by default.
_toggle_mouse no longer prints a status message as the status icon
should give enough information.
2020-11-24 17:33:23 +01:00
Gregory Pakosz
8c342edc6f
fixed 'tmux_conf_theme_status_right' default value, fixes #422
2020-11-04 11:31:20 +01:00
Gregory Pakosz
88a10631c0
improved status line rendering, fixes #419
...
- non current windows now use separators when they're enabled
- fixed style for last window, window with activity and window with bell
2020-10-31 21:21:19 +01:00
Gregory Pakosz
efee3bb4ac
made version detection more robust in case tmux executable is renamed
2020-10-27 22:03:08 +01:00
Gregory Pakosz
918c0f252c
fixed status line that doesn't work with tmux 2.4
2020-10-27 19:34:00 +01:00
Gregory Pakosz
a43ac95e5f
fixed status line that doesn't work with tmux 2.3, fixes #418
2020-10-16 11:21:11 +02:00
Gregory Pakosz
d0e073dd08
added 'tmux_conf_theme_colour_XX' variables to ease theming
...
closes #189 , closes #224 , closes #255
2020-10-10 15:54:49 +02:00
Gregory Pakosz
e03d73df73
added support for custom variables defined in ~/.tmux.conf.local (2), fixes #417
2020-10-08 09:22:41 +02:00
Gregory Pakosz
8ffeb1d809
fixed '<prefix> + e' binding when EDITOR is set to 'gvim' or 'mvim', fixes #416
2020-10-06 08:29:52 +02:00
Gregory Pakosz
13689839d4
updated _maximize_pane() that stopped working with tmux 3.2 (2), fixes #415
2020-10-03 08:29:28 +02:00
Gregory Pakosz
8e2502abb3
added support for custom variables defined in ~/.tmux.conf.local
...
closes #96 , closes #394
2020-10-02 23:04:33 +02:00
Gregory Pakosz
bcb071152b
updated _maximize_pane() that stopped working with tmux 3.2, fixes #381
2020-09-29 22:49:41 +02:00
Gregory Pakosz
a439667d65
worked around tmux not killing jobs launched with run-shell -b, fixes #407
...
upon exiting, tmux < 3.2 waits for jobs ran with run-shell, even those
launched with -b
the workaround consists in still launching "heavy" jobs from the status
line with #() even though it means e.g. battery information will get
updated once per attached client
2020-09-26 23:28:28 +02:00
Gregory Pakosz
fbe2eb311d
fixed window-status-current-format, fixes #390 , closes #333
2020-09-18 22:09:27 +02:00
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
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
352dfed5e2
refactored #{username}, #{username_ssh}, #{hostname} and #{hostname_ssh}
...
- improved and extracted pane current command introspection into the _tty_info() helper
- added Mosh support to #{username_ssh} and #{hostname_ssh}. Fixes #127
2019-01-05 17:32:54 +01:00
Gregory Pakosz
3e649a58dd
renamed _circled_digit() to _circled() as it goes up to 20
2018-12-31 10:38:49 +01:00
Gregory Pakosz
ffb1c54769
Revert "do not use repeatable bindings for pane and windows navigation. Fixes #166 "
...
This reverts commit 7ebc59956a
.
2018-08-21 22:46:02 +02:00
Gregory Pakosz
b3a9f75ea6
made window titles support additional variables. Fixes #178
...
tmux_conf_theme_window_status_format and tmux_conf_theme_window_status_current_format
variables now understand:
- #{circled_session_name}
- #{hostname}
- #{hostname_ssh}
- #{username}
- #{username_ssh}
2018-08-11 16:54:07 +02:00
Gregory Pakosz
3d706977c8
added tmux_conf_theme_terminal_title. Fixes #168
2018-08-11 16:52:48 +02:00
Divo Kaplan
6679c0af2c
Fixed missing vi-copy / copy-mode-vi H/L keybindings. Fixes #175
2018-08-09 11:32:26 +02:00
Gregory Pakosz
08334a6451
accomodate for slow shell init in _maximize_pane(). Fixes #170
2018-08-06 08:49:58 +02:00
Gregory Pakosz
7ebc59956a
do not use repeatable bindings for pane and windows navigation. Fixes #166
2018-08-06 08:49:58 +02:00
Eric Renfro
105fb54755
Added syncing indicator to tmux status line
...
This checks for if the panes are synced or not, and provides and
indicator resembling it in the status bar.
2018-08-05 11:30:54 -04:00
Gregory Pakosz
8481ec351b
do not take into account peripheral device batteries when computing battery charge, fixes #161
2018-05-28 08:54:32 +02:00
Gregory Pakosz
faece14dbd
improved 24b colours override
2018-03-05 21:17:24 +01:00
Gregory Pakosz
7f20c79d46
made heat battery palette more visible by removing darker shades. Fixes #138
2018-01-16 17:45:43 +01:00
Gregory Pakosz
e1c968d020
removed trailing 'set -x' / 'set +x' debug code
2017-12-19 08:01:27 +01:00
Gregory Pakosz
5907c00039
fixed stderr redirection bug in _maximize_pane(). Fixes #116
2017-11-18 12:40:43 +01:00
Gregory Pakosz
4cf765468a
fixed bindings reinjection when tmux_conf_new_pane_reconnect_ssh=true. Fixes #115
2017-11-17 09:15:39 +01:00