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
Gregory Pakosz
89465385db
replace 'export LC_ALL=C' with 'export LC_NUMERIC=C'. Fixes #108 and #110
2017-10-14 23:44:53 +02:00
Gregory Pakosz
a071b001cf
export LC_ALL=C to avoid decimal separator issues
2017-09-26 21:42:00 +02:00
Gregory Pakosz
2849c14e0c
fixed maximize pane not supporting session names with spaces
2017-09-26 21:42:00 +02:00
Gregory Pakosz
7cdc172e22
properly quote %% when prompting for session name
2017-09-08 23:36:41 +02:00
Gregory Pakosz
9d5817bb01
dual licensed under both the WTFPLv2 and MIT licenses. Resolves #102
2017-08-20 21:03:44 +02:00
Gregory Pakosz
10a445b491
wait a bit more between sending C-l to the terminal and clearing tmux history
2017-07-21 09:18:10 +02:00
Gregory Pakosz
e7cbc84bed
removed tmux <= 2.0 feature tests that cause orphan processes when using oh-my-zsh. Fixes #84 and #88 (2)
2017-07-17 12:04:55 +02:00
Gregory Pakosz
03ec982a50
simplified _toggle_mouse() implementation
2017-07-09 10:52:56 +02:00
Gregory Pakosz
513e77b03b
made bindings reinjection more robust. Closes #89
2017-06-26 20:45:29 +02:00
Gregory Pakosz
09fc3d5b48
fixed battery status information on macOS. Fixes #91 (2)
2017-06-26 13:30:31 +02:00
Gregory Pakosz
98a896bc69
fixed tmux_conf_copy_to_os_clipboard on Linux when xclip is installed and not xsel
2017-06-26 07:35:21 +02:00
Gregory Pakosz
27b262fda8
fixed battery status information on macOS. Fixes #91
2017-06-25 11:41:11 +02:00
Gregory Pakosz
6fc4ad76b7
removed tmux <= 2.0 feature tests that cause orphan processes when using oh-my-zsh. Fixes #84 and #88 (2)
2017-06-22 21:36:46 +02:00
Gregory Pakosz
68f1509735
removed tmux <= 2.0 feature tests that cause orphan processes when using oh-my-zsh. Fixes #84 and #88
2017-06-21 22:03:43 +02:00
Gregory Pakosz
15f03e7ce6
fixed #{username} broken under Cygwin
2017-06-21 22:03:42 +02:00
Gregory Pakosz
32c14a61c6
made battery and uptime work under MSYS2 / MINGW
2017-06-21 22:03:42 +02:00
Gregory Pakosz
680783c91b
added support for multiple batteries, resolves #73
2017-06-21 22:03:42 +02:00
Gregory Pakosz
a631d03b29
use grep -E instead of egrep as per shellcheck SC2196 warning
2017-06-21 22:03:42 +02:00
Gregory Pakosz
cb4ded9fcb
moved buffer bindings to a dedicated section
2017-06-21 22:03:42 +02:00
Gregory Pakosz
7f48779a22
generalized options affecting bindings by parsing the output of tmux list-keys
...
and reinjecting modified commands into tmux bind-key, closes #68
applies to:
- tmux_conf_new_window_retain_current_path
- tmux_conf_new_pane_retain_current_path
- tmux_conf_new_pane_reconnect_ssh
- tmux_conf_copy_to_os_clipboard
2017-06-21 22:03:21 +02:00
Gregory Pakosz
264a577ba1
added tmux_conf_copy_to_os_clipboard variable, closes #75
...
When true, copying selection with y in copy mode also sends selection to the OS
clipboard.
2017-05-17 22:23:23 +02:00
Gregory Pakosz
785ba173a3
worked around tmux 2.4 not properly refreshing status, see tmux/tmux#922
2017-05-13 14:23:45 +02:00
Gregory Pakosz
cab561ad61
converted tabs to spaces. Closes #59
2017-04-08 21:37:01 +02:00
Gregory Pakosz
b0c3b6a09f
tmux 2.4 got rid of mode keys. Closes #42
...
- vi-copy is replaced by a normal copy-mode-vi key table
- vi-edit and vi-choice are gone
2017-04-08 21:37:00 +02:00
Gregory Pakosz
8e174fef28
stopped using U+26A1 and U+1F50B for battery charging status indicator by default
...
Closes #32 , #51 and #55
2017-04-08 21:37:00 +02:00
Gregory Pakosz
3ef7fe67b5
fixed maximize pane not succeeding in maximizing the current pane
2017-02-28 17:12:22 +01:00
Gregory Pakosz
5746e69af7
raised escape-time to 10 ms to unbreak tmux under WSL, fixes #52
2017-02-28 13:00:42 +01:00
Gregory Pakosz
95f88dee38
replaced the fancy ►_◄ heredoc EOF marker to make Raspberry Pis happy
2017-02-09 15:01:48 +01:00
Gregory Pakosz
718adf13e3
removed leftover debugging code in _username()
2017-01-03 14:13:39 +01:00
Gregory Pakosz
ba20476af6
fixed default-command when using fish shell, fixes #46
2016-12-21 17:56:11 +01:00
Gregory Pakosz
37586cdd60
made default-command use the value of default-shell
2016-12-05 12:25:34 +01:00
Gregory Pakosz
1bfce57aaa
fixed maximize pane when another session already contains a maximized window, fixes #37
2016-11-09 20:31:47 +01:00
Gregory Pakosz
71a2b76681
fixed shellcheck warnings
2016-11-08 21:15:14 +01:00
Yang Tang
8390d37ed8
added #{load_avg}
2016-11-04 20:40:17 +01:00
Gregory Pakosz
f828eafc2b
added #{battery_hbar} using U+258F - U+2588
2016-10-31 21:34:27 +01:00
Gregory Pakosz
689f2f0f2c
fixed #{battery_bar} and #{battery_vbar} when not using heat or gradient palettes
...
fixes #35
2016-10-31 18:36:20 +01:00
Gregory Pakosz
1503232773
major rewrite, closes #10 , #23 , #30 and #31
...
- status-justify aware status line
- flexible status line definition with many new variables/indicators:
- #{battery_bar}, #{battery_vbar}, #{battery_percentage}
- #{uptime_d}, #{uptime_h}, #{uptime_m}, #{uptime_s}
- #{pairing}, #{prefix}, #{root}
- #{username}, #{username_ssh}, #{hostname}, #{hostname_ssh}
- ...
- smart username and hostname variables:
- detects root user
- detects SSH sessions to remote servers
- support for circled session names (when number) and window identifiers up to 20:
- #{circled_session_name}, #{circled_window_index}
- support for connecting to the same host when splitting a pane running an SSH session
- support for 24b colours
- support for OpenBSD (tested with OpenBSD 6.0)
- cleaned everything with shellcheck
2016-10-27 23:42:01 +02:00
Gregory Pakosz
15d593398f
enable focus events
2016-10-26 12:51:13 +02:00
Gregory Pakosz
959844df3a
added new variables for separators and removed separator in windows-status-current-format
...
tmux_conf_theme_left_separator_main
tmux_conf_theme_left_separator_sub
tmux_conf_theme_right_separator_main
tmux_conf_theme_right_separator_sub
closes #24
2016-10-26 12:51:13 +02:00
Gregory Pakosz
2a7a0c39b6
made C-l more robust by using not shelling out to clear history
2016-07-29 18:34:03 +02:00
Gregory Pakosz
8d847600db
test for buggy swap-pane command in tmux 1.9 and 1.9a once in apply_configuration()
2016-04-20 21:58:26 +02:00
Gregory Pakosz
5156c9fe23
added licensing information: released under the WTFPL v2 license
2016-03-29 09:21:00 +02:00
Gregory Pakosz
d56bfa1c7d
do not create a subshell in urlview() and fpp()
2016-03-29 09:21:00 +02:00
Gregory Pakosz
de55dc6e6a
added a percentage style to the battery indicator
2016-03-29 09:21:00 +02:00
Gregory Pakosz
db751a501c
status-utf8 and utf-8 options are gone
2015-12-29 09:13:30 +01:00
Gregory Pakosz
eabfb553a8
do not rely on ${parameter:offset:length} substring expansion not supported by dash
2015-12-06 14:57:39 +01:00
Gregory Pakosz
01b9b433f9
use /sys/class/power_supply/BATx/capacity when available
2015-12-06 12:02:47 +01:00
Gregory Pakosz
ea254d494f
optionally highlight the focused pane
2015-12-05 15:56:22 +01:00
Gregory Pakosz
cb3d2ac9f3
reduce the number of times loading the configuration shells out
2015-11-02 22:15:06 +01:00
Gregory Pakosz
1491ee1723
made battery status work from within Cygwin
2015-10-30 08:53:24 +01:00
Gregory Pakosz
c66be48314
added an indicator in the status line that shows if <prefix> has been pressed
2015-10-28 21:26:23 +01:00
Gregory Pakosz
b9943589e3
optionally prompt for session name when creating a new session
2015-10-26 21:08:34 +01:00
Gregory Pakosz
921c6d14d0
made the theme more flexible by adding configuration variables
2015-10-26 21:08:34 +01:00
Gregory Pakosz
4587413028
unbind <prefix> n and <prefix> p
...
By default <prefix> n and <prefix> p are bound to next/previous-window.
However, this configuration is Vim centric and window navigation is achieved
with <prefix> C-h and <prefix> C-l.
While <prefix> n is currently left unused, <prefix> p is bound to paste-buffer.
2015-10-22 13:06:01 +02:00
Gregory Pakosz
3e516380a1
bind <prefix> Tab to last-window and leave <prefix> Space untouched (bound to next-layout by default)
2015-10-21 21:55:39 +02:00
Gregory Pakosz
847ce589a9
bind urlview and Facebook PathPicker to <prefix> U and <prefix> F instead of <prefix> u and <prefix> f
2015-10-18 11:42:24 +02:00
Gregory Pakosz
546ef75994
fixed <prefix> " and <prefix> % which were inverted by mistake
2015-10-13 11:29:05 +02:00
Gregory Pakosz
aa966c5708
made <prefix> e edit ~/.tmux.conf.local instead of ~/.tmux.conf
2015-10-11 20:37:58 +02:00
Gregory Pakosz
3ce560c230
use awk instead of bc which isn't available on a default Cygwin install
2015-10-11 17:53:19 +02:00
Gregory Pakosz
5133275e15
detect old or new tmux mouse support and use proper options accordingly
2015-09-17 22:16:29 +02:00
Gregory Pakosz
53abd1dca8
use new tmux mouse support
2015-09-14 21:41:45 +02:00
Gregory Pakosz
81b6897294
pimped the battery indicator with a gradient palette
2015-09-14 21:17:06 +02:00
Gregory Pakosz
db80cb7fc4
added Facebook PathPicker integration
2015-08-06 12:29:37 +02:00
Gregory Pakosz
3007fa8f6c
added urlview integration
2015-08-06 12:29:37 +02:00
Gregory Pakosz
b480fc00fb
don't rename window as part of default-command
2015-08-06 12:29:37 +02:00
Gregory Pakosz
2feb71aac5
made <prefix> e work with the fish shell
2015-08-06 12:29:37 +02:00
Gregory Pakosz
ad6413365e
fixed heat palette battery display when remaining percentage <= 5%
2015-04-30 12:15:08 +02:00
Gregory Pakosz
b37311fbbe
added battery status indicator (charging / discharging)
2015-04-27 18:17:02 +02:00
Gregory Pakosz
3e7170ecf5
fixed the maximize pane feature for the fish shell
2015-04-23 21:55:03 +02:00
Gregory Pakosz
e5117980de
pimped the battery indicator with a heat palette
2015-04-15 15:14:28 +02:00
Gregory Pakosz
417fdb27f5
detect whether default status-left value has a trailing space
2014-12-29 13:51:04 +01:00
Gregory Pakosz
1667cf9171
configurable new windows and panes behavior (optionally retain current path)
2014-12-17 20:47:06 +01:00
Gregory Pakosz
ecbb8d55f7
kill placeholder pane when trying to minimize a dead pane
2014-12-12 12:01:52 +01:00
Gregory Pakosz
a5ce0116a4
added more vi key bindings
2014-11-23 11:20:58 +01:00
Gregory Pakosz
d48ec949c6
pimped theme windows status
2014-11-19 23:43:59 +01:00
Gregory Pakosz
727b40ac10
detect whether running tmux has a buggy swap-pane command
...
see ticket #108 , fixed in upstream commit 78e783e
2014-08-21 15:30:32 +02:00
Gregory Pakosz
cfea776923
fish shell compatibility
2014-08-21 11:15:05 +02:00
Gregory Pakosz
9b001164f0
updated to tmux 1.9+
2014-03-01 16:48:23 +01:00
Gregory Pakosz
720db6ec08
added laptop battery status
2014-02-15 18:41:46 +01:00
Gregory Pakosz
b8c009db9d
updated theme with new poweline symbols code points
2014-02-15 17:24:49 +01:00
Gregory Pakosz
e16854213e
adjusted 'reattach-no-usernamespace' detection
2013-10-24 15:15:22 +02:00
Gregory Pakosz
aac6a54ff1
tmux 1.8 'if-shell' still races with the implicit 'new-session' command
2013-10-12 00:03:14 +02:00
Gregory Pakosz
f774b98577
took advantage of tmux 1.8 blocking 'if-shell' to detect '~/.tmux.conf.local'
...
starting with tmux 1.8, it's an error to source a non existing file
2013-08-28 08:58:09 +02:00
Gregory Pakosz
2204f4380b
took advantage of tmux 1.8 blocking 'if-shell' to detect 'reattach-to-user-namespace'
2013-08-28 08:57:33 +02:00
Gregory Pakosz
abb7a1b70a
use 'command -v' instead of 'type-p'
2013-08-28 08:55:20 +02:00
Gregory Pakosz
49c947baa5
fixed default-command 'reattach-to-user-namespace' detection
2013-08-22 18:16:31 +02:00
Gregory Pakosz
7808fd53d3
on Mac OS X, copy from latest buffer to system clipboard with prefix-y
2013-08-03 10:13:54 +02:00
Gregory Pakosz
e799504a9b
automatically use 'reattach-to-user-namespace' when available
2013-08-03 10:13:54 +02:00
Gregory Pakosz
316900967b
fixed race condition in maximize_pane()
2013-04-16 15:19:08 +02:00
Gregory Pakosz
45d450d58f
find session with C-f
2013-04-16 15:19:08 +02:00
Gregory Pakosz
5c8b9f921f
new <prefix> m binding: toggles mouse on or off
2013-04-16 15:19:08 +02:00
Gregory Pakosz
dcc734f6f7
initial .tmux.conf
2013-04-16 15:18:56 +02:00