aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Move to the right cursor position before using spaces to clear.nicm2017-05-10
|
* Prevent control clients from affecting the session size until they havenicm2017-05-10
| | | | | specified a size with refresh-client -C. Prompted by a different change with the same purpose from George Nachman.
* We can use ECH to clear sections of lines, so use it for internal panesnicm2017-05-10
| | | | | (that don't touch an edge). Move all the tty clear code into two common functions rather than having the same bunch of checks everywhere.
* Expand formats in option names and add -F flag to do so in option values as ↵nicm2017-05-10
| | | | well.
* Insert copy mode bindings at the right place in the command queue.nicm2017-05-10
|
* If the target pane for send-keys in in a mode with a key table (that is,nicm2017-05-09
| | | | | | copy mode), then look the key up in the table and fire any command instead of delivering the key to the pane directly where it will be ignored. This makes C-b C-b (send-prefix) work in copy mode again.
* If the current screen was complex enough, it was possible to make redrawnicm2017-05-09
| | | | | | itself hit the "terminal can't keep up" check. To avoid this, record how much data we send during redraw (we know we will be starting with 0) and skip the check until it has been flushed. GitHub issue 912.
* Set current pane in rotate-window.nicm2017-05-09
|
* Add a format for the name of the pane's mode, lets it be used as anicm2017-05-07
| | | | conditional for key bindings.
* Up to now, tmux sees \033\033[OA as M-Up and since we turned onnicm2017-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | xterm-keys by default, generates \033[1;3A instead of \033\033[OA. Unfortunately this confuses vi, which doesn't understand xterm keys and now sees Escape+Up pressed within escape-time as Escape followed by A. The issue doesn't happen in xterm itself because it gets the keys from X and can distinguish between a genuine M-Up and Escape+Up. Because xterm can, tmux can too: xterm will give us \033[1;3A (that is, kUP3) for a real M-Up and \033\033OA for Escape+Up - in fact, we can be sure any \033 preceding an xterm key is a real Escape key press because Meta would be part of the xterm key instead of a separate \033. So change tmux to recognise both sequences as M-Up for its own purposes, but generate the xterm version of M-Up only if it originally received the xterm version from the terminal. This means we will return to sending \033\033OA instead of the xterm key for terminals that do not support xterm keys themselves, but there is no practical way around this because they do not allow us to distinguish between Escape+Up and M-Up. xterm style escape sequences are now the de facto standard for these keys in any case. Problem reported by jsing@ and subsequently by Cecile Tonglet in GitHub issue 907.
* Add some formats to look at the session window stack, suggested by Scottnicm2017-05-05
| | | | ROCHFORD.
* Some new notifications, mainly for active pane and current window andnicm2017-05-04
| | | | | | | | | | | session: pane-mode-changed window-pane-changed client-session-changed session-window-changed From Joshua Brot.
* Add a format for the last search string in copy mode and fix the promptnicm2017-05-03
| | | | so it can work when in -I, suggested by Suraj N Kurapati.
* In order that people can use formats like #D in #() in the status linenicm2017-05-01
| | | | | | | | | | | | | | and not have to wait for an update when they change pane, we allow commands to run more than once a second if the expanded form changes. Unfortunately this can mean them being run far too often (pretty much continually) when multiple clients exist, because some formats (including #D) will always differ between clients. To avoid this, give each client its own tree of jobs which means that the same command will be different instances for each client - similar to how we have the tag to separate commands for different panes. GitHub issue 889; test case reported by Paul Johnson.
* Fix UTF-8 combining characters in column 0, based on a diff from Keithnicm2017-04-29
| | | | Winstein.
* Log what is happening with window and session reference counts much morenicm2017-04-28
| | | | obviously.
* Remove a reference from the right window when removing from a winlink'snicm2017-04-28
| | | | list.
* Do not put the window on the alerts queue and add a reference unless thenicm2017-04-28
| | | | alert is enabled and we are actually going to add the alerts event.
* Konsole incorrectly ignores SU (CSI S) if the parameter is bigger thannicm2017-04-28
| | | | the scroll region, so clamp it. Reported by Moritz Bunkus.
* Default for xterm-keys was wrong, stop documenting it.nicm2017-04-28
|
* Make full width panes try to play more nicely with terminal copy andnicm2017-04-25
| | | | | paste by avoiding explicit line wraps if we think the terminal will wrap anyway.
* When we write out the grid including escape sequences, an SGR 0 needs tonicm2017-04-25
| | | | | cause the colours to be written again. Also treat colours separately from attributes so that RGB colours will work.
* Do not update TERM into config file parsing has finished.nicm2017-04-25
|
* Block the initial client if there is one until the configuration filenicm2017-04-25
| | | | has finished loading.
* if-shell doesn't need to queue its error message into a callback, and innicm2017-04-25
| | | | | fact it can't do so because the item it was working with will have been freed. Reported by Daniel Hahler.
* Only use ED for clear screen if at the bottom, same as earlier fix tonicm2017-04-23
| | | | clear end of screen.
* Memory leak from David CARLIER.nicm2017-04-22
|
* Do not need getopt.h.nicm2017-04-22
|
* Can't collect UTF-8 characters of more than one byte at the moment.nicm2017-04-22
|
* new -A should use the session name.nicm2017-04-22
|
* Get rid of the extra layer of flags and cmd_prepare() and just store thenicm2017-04-22
| | | | | | CMD_FIND_* flags in the cmd_entry and call it for the command. Commands with special requirements call it themselves and update the target for hooks to use.
* Mouse bindings and hooks set up an initial current state when running anicm2017-04-22
| | | | | | | | | | | | | | | command. This is used for the session, window and pane for all commands in the command sequence if there is no -t or -s. However, using it for all commands in the command sequence means that if the active pane or current session is changed, subsequent commands still use the previous state. So make commands which explicitly change the current state (such as neww and selectp) update it themselves for later commands. Commands which may invalidate the state (like killp) are already OK because an invalid state will be ignored. Also fill in the current state for all key bindings rather than just the mouse, so that any omissions are easier to spot.
* We need to collect UTF-8 characters so that width != 1 characters arenicm2017-04-22
| | | | correctly flushed.
* Fix if-shell without a client (so in the config file). Reported by Theonicm2017-04-22
| | | | Buehler.
* Typo in example.nicm2017-04-22
|
* Memory leaks, from David CARLIER.nicm2017-04-22
|
* Log error properly when no current state, and some other minor tweaks.nicm2017-04-21
|
* Make sure cmd_find_from_* clear the state if they fail.nicm2017-04-21
|
* Rename a variable.nicm2017-04-21
|
* Clear shared state if not filling it in.nicm2017-04-21
|
* Make the cmd_find_* functions more obvious when looking for a client,nicm2017-04-21
| | | | | rather than having it inside other functions. Should be no change to the way targets are resolved just yet.
* Key needs to be initialized to zero now it has flags in it.nicm2017-04-21
|
* Style nits and an unused struct.nicm2017-04-21
|
* Add cmd_find_from_winlink_pane and use it in a couple of places, andnicm2017-04-21
| | | | make functions that can't fail void.
* It is annoying that the copy mode key table (or any other key table)nicm2017-04-21
| | | | | | | | | | | | will suppress root key table bindings. So change to always check the root table if no binding is found in the current table (whether it be the prefix table from pressing the prefix or the copy mode table from a pane). A root key binding can be blocked by binding the key to a command that does nothing (like send-keys with no arguments). Problem reported by Thomas Sattler.
* More unnecessary arguments now winlink points back to session.nicm2017-04-21
|
* History needs to be loaded after config parsing is done - now thatnicm2017-04-21
| | | | commands are queued, that's in cfg_done not after start_cfg finishes.
* Store state shared between multiple commands in the queue in a sharednicm2017-04-21
| | | | structure.
* Do not run the config file in the context of the first client, insteadnicm2017-04-21
| | | | | use no client like we did before. This means commands like new-session won't try to attach if they are in the config file.
* Use fdforkpty() instead of our own unwrapped versions.nicm2017-04-20
|