mirror of
1
0
Fork 0
Commit Graph

289 Commits

Author SHA1 Message Date
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