aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
...
* Minor bits: fix an array size, add comment, make grid_cell_entry static.nicm2017-02-22
|
* Remove event watermarks, don't work well enough to be worth it.nicm2017-02-08
|
* Shorten a long line, and don't leak buffer in paste_add if size is zero.nicm2017-01-24
|
* Open /dev/ptm before pledge() and save it to be used for PTMGET laternicm2017-01-23
| | | | | | (this means inlining forkpty()). ok deraadt
* Put all palette functions together in the file.nicm2017-01-12
|
* Erm the aixterm colours should start at 8, not 7.nicm2017-01-12
|
* Fix setting the palette of aixterm colours (90-97).nicm2017-01-12
|
* Add support for the OSC 4 and OSC 104 palette setting escape sequences,nicm2017-01-07
| | | | from S Gilles.
* Initialize modeprefix to 1 properly in window_pane_create, from Artem Fokin.nicm2016-11-16
|
* The target validity check used window_pane_visible but that may be falsenicm2016-11-16
| | | | | | | if the pane is zoomed, so instead add a new function to just check if the pane is actually on screen (most commands still want to accept panes invisible by zoom). Also reject panes outside the window for various special targets. Problem reported by Sean Haugh.
* Alerts are too slow, so rather than walking all sessions and windows,nicm2016-10-19
| | | | | | add a link of winlinks to each window and a pointer to the session to each winlink. Also rewrite the alerts processing to return to the old behaviour (alert in any window sets the flag on any winlink).
* Store the right size in the pipe offset for pipe-pane.nicm2016-10-18
|
* Use the notify name string instead of going via an enum and changenicm2016-10-16
| | | | existing hooks to use notifys instead.
* Give window_create and window_create1 better names.nicm2016-10-15
|
* Add support for BCE (background colour erase). This makes various escapenicm2016-10-13
| | | | | | | | | | | | sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank cells using the current background colour rather than the default colour. On modern systems BCE doesn't really have many benefits, but most other terminals now support it, some (lazy) applications rely on it, and it is not hard to include now that we have pane background colours anyway. Mostly written by Sean Haugh.
* Add static in window-*.c and move some internal functions out of tmux.h.nicm2016-10-11
|
* Fundamental change to how copy mode key bindings work:nicm2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | The vi-copy and emacs-copy mode key tables are gone, and instead copy mode commands are bound in one of two normal key tables ("copy-mode" or "copy-mode-vi"). Keys are bound to "send-keys -X copy-mode-command". So: bind -temacs-copy C-Up scroll-up bind -temacs-copy -R5 WheelUpPane scroll-up Becomes: bind -Tcopy-mode C-Up send -X scroll-up bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up This allows the full command parser and command set to be used - for example, we can use the normal command prompt for searching, jumping, and so on instead of a custom one: bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'" command-prompt also gets a -1 option to only require on key press, which is needed for jumping. The plan is to get rid of mode keys entirely, so more to come eventually.
* Rate limit TIOCSWINSZ on a timer to avoid programs getting hammered withnicm2016-09-28
| | | | | SIGWINCH when the size changes rapidly. To help a problem reported by Rui Pinheiro.
* Swap watermarks from high (4096) to low (128) when we get full buffersnicm2016-09-16
| | | | | | | | | into the read callback several times in succession; swap back when we see empty buffers several times. This hopefully limits how much programs that print a lot for a long period can monopolize tmux (like large, fast compiling), without penalizing programs that print a lot briefly (like most curses applications). Helps a lot for me, the actual numbers may need tweaking later.
* Tweak output of environment logging.nicm2016-07-15
|
* Log environment to new panes.nicm2016-07-15
|
* Allow a command to be specified to display-panes, similar tonicm2016-06-16
| | | | command-prompt, rather than always just selecting the pane.
* Copy mode needs to keep the original grid intact so it can copy from itnicm2016-06-15
| | | | | | if needed, so it disables reading from the pane. This can be problem with some programs. So make tmux automatically exit all modes after 180 seconds of inactivity and if there is pending output.
* Insert new panes after the pane being split in the list rather thannicm2016-06-06
| | | | | always after the active pane. This is more sensible when doing it with commands rather than keys.
* Cache the window styles and do not look up the window-style optionsnicm2016-05-30
| | | | unless they have changed.
* Add option to include status text in the pane borders. Ifnicm2016-04-29
| | | | | | | | | pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format. Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
* The backoff timer is causing no end of trouble with disconnected clientsnicm2016-04-29
| | | | | stopping data in attached ones. So get rid of it and see how we get on with just a high watermark on each pane.
* Redraw status on mode entry and exit.nicm2016-03-01
|
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Use saved pipe buffer offset when writing to pipe, from Nicolas Viennot.nicm2015-12-31
|
* Make input off flag (selectp -d) apply to synchronize-panes too.nicm2015-12-19
|
* Add infrastructure to work out the best target given a pane or windownicm2015-12-16
| | | | alone and use it to add pane_died and pane_exited hooks.
* Make the marked pane a cmd_find_state.nicm2015-12-15
|
* Mark new active pane changed after pane lost in window, and afternicm2015-12-02
| | | | break-pane. Reported by tim@.
* Make environ_set va_args and use it to tidy up some calls. Also add anicm2015-11-24
| | | | missing word in manpage (from jmc).
* Use __unused rather than rolling our own.nicm2015-11-18
|
* Support UTF-8 key bindings by expanding the key type from int tonicm2015-11-12
| | | | | | uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - the largest being that the various prompts do not accept UTF-8.)
* Because pledge(2) does not allow us to pass directory file descriptorsnicm2015-10-31
| | | | | | | | | around, we can't use file descriptors for the working directory because we will be unable to pass it to a privileged process to tell it where to read or write files or spawn children. So move tmux back to using strings for the current working directory. We try to check it exists with access() when it is set but ultimately fall back to ~ if it fails at time of use (or / if that fails too).
* Move struct options into options.c.nicm2015-10-27
|
* When the active pane changes, redraw panes if the style hasnicm2015-09-14
| | | | changed. From Cam Hutchison.
* Remove some old prototypes and unused functions.nicm2015-08-29
|
* Move alerts onto events rather than checking every loop.nicm2015-08-29
|
* Treat entering or leaving a mode as pane changed.nicm2015-08-29
|
* Better take on reducing the name timer. Again check for name changes innicm2015-08-29
| | | | | | the main loop after events that may have changed the pane, but do so at most once every 500 millis. If the pane changed too soon, use a timer to ensure that a check happens later.
* Only set default title to hostname on screens that are being used for anicm2015-08-28
| | | | window pane, no point in calling gethostname() for temporary screens.
* Revert previous; we do need a timer, until I have a better idea. Wenicm2015-08-28
| | | | | | can't do the name check every loop, because that is too expensive, and we can't make sure it only happens infrequently because we have no idea when the next change will happen.
* We now only checking for name changes when the active pane has changed,nicm2015-08-28
| | | | | | | but that can only happen when we have already been woken up by a read event, so there is no need for a timer, we can just check the changed flag on the end of that read event (we already loop over the windows to check for bells etc anyway).
* Error messages should not have a trailing period.nicm2015-08-28
|
* Only do the automatic-rename dance if the pane has changed (seen output,nicm2015-08-28
| | | | or new active pane).
* Do not call window_unzoom from window_destroy because it will try to addnicm2015-07-17
| | | | | | | a notification which will get confused because the reference count is already zero and end up back in window_destroy and a double free. Instead, just destroy the layouts directly. Noticed by Thomas Adam.