aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
...
* Sync OpenBSD patchset 1072:Tiago Cunha2012-03-29
| | | | | | | | | | | | | | | | | | | | Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility). After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
* Sync OpenBSD patchset 1069:Tiago Cunha2012-03-18
| | | | | | Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
* Sync OpenBSD patchset 1057:Tiago Cunha2012-03-18
| | | | | | Check event_initialized before event_del if event may not have been set up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Sync OpenBSD patchset 1024:Tiago Cunha2012-02-02
| | | | | | Move window name changes into wrapper function window_set_name, from George Nachman.
* Sync OpenBSD patchset 1017:Tiago Cunha2012-01-31
| | | | | | Give each window a unique id, like panes but prefixed with @. Based on work from George Nachman.
* Sync OpenBSD patchset 1014:Tiago Cunha2012-01-29
| | | | | | | Call bufferevent_free before closing file descriptor associated with it or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers in a twist. From Dylan Alex Simon.
* Set IUTF8 in termios where supported, suggested by Egmont Koblinger.Nicholas Marriott2012-01-20
|
* Sync OpenBSD patchset 979:Tiago Cunha2011-11-25
| | | | | Make window_pane_index work the same as window_index, from Ben Boeckel.
* Sync OpenBSD patchset 960:Tiago Cunha2011-10-02
| | | | | Reject $SHELL if it is not a full path.
* Sync OpenBSD patchset 950:Tiago Cunha2011-08-25
| | | | | Add pane-base-index option, from Ben Barbour.
* PatchSet 923Nicholas Marriott2011-06-23
| | | | | | | | | | | | Date: 2011/06/05 11:53:05 Author: nicm Branch: HEAD Tag: (none) Log: Get rid of the layout string code which tries to walk through the layout hierarchy and instead just look at what panes are actually in the window.
* |PatchSet 894Nicholas Marriott2011-04-18
| | | | | | | | | | | |Date: 2011/04/18 21:57:16 |Author: nicm |Branch: HEAD |Tag: (none) |Log: |The mouse should only work in copy mode if mode-mouse is set, not just |mouse-select-pane.
* PatchSet 870Nicholas Marriott2011-04-06
| | | | | | | | | | | | Date: 2011/03/27 21:27:26 Author: nicm Branch: HEAD Tag: (none) Log: Give each pane created in a tmux server a unique id (starting from 0), put it in the TMUX_PANE environment variable and accept it as a target. Suggested by and with testing and tweaks from Ben Boeckel.
* Sync OpenBSD patchset 852:Tiago Cunha2011-02-15
| | | | | | Check if the index is in use and fail before creating the child process, rather than leaving a stray child on failure.
* Sync OpenBSD patchset 834:Tiago Cunha2011-01-21
| | | | | | | Move all calls to fcntl(...O_NONBLOCK) into a function and clear the flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
* Sync OpenBSD patchset 813:Tiago Cunha2011-01-07
| | | | | | Add a function to create window flags rather than doing the same thing in two places. From Thomas Adam.
* Add an option to alert (monitor) for silence (lack of activity) in aNicholas Marriott2010-12-06
| | | | | window. From Thomas Adam.
* PatchSet 786Nicholas Marriott2010-12-06
| | | | | | | | | | | | | | Date: 2010/11/14 08:58:25 Author: nicm Branch: HEAD Tag: (none) Log: Don't allow last and active window to become the same - a very bad move when the active window is closed and freed. Reported by sthen@. Members: window.c:1.58->1.59
* Sync OpenBSD patchset 780:Tiago Cunha2010-10-24
| | | | | | Add a last-pane command (bound to ; by default). Requested ages ago by somebody whose name I have forgotten.
* Sync OpenBSD patchset 779:Tiago Cunha2010-10-24
| | | | | | When removing a pane, don't change the active pane unless the active pane is actually the one being removed.
* Sync OpenBSD patchset 775:Tiago Cunha2010-10-24
| | | | | | Trying to set FD_CLOEXEC on every fd is a lost cause, just use closefrom() before exec.
* Solaris 9 has no stdint.h, ugh. Reported by a couple of people mostNicholas Marriott2010-09-07
| | | | | recently Timothy Larson.
* Sync OpenBSD patchset 754:Tiago Cunha2010-08-29
| | | | | | When destroying a pane, reset any mode (which reenables pane bufferevent) before freeing the bufferevent.
* Sync OpenBSD patchset 751:Tiago Cunha2010-08-29
| | | | | | | Do not call event_del() for signals after fork(), just use sigaction() directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
* Sync OpenBSD patchset 735:Tiago Cunha2010-07-17
| | | | | | Make pane/window wrapping more logical (so with 10 windows, +10 from window 5 stays in the same place), and tidy the code. From Tiago Cunha.
* Sync OpenBSD patchset 725:Tiago Cunha2010-06-22
| | | | | | Extend the -t:+ and -t:- window targets for next and previous window to accept an offset such as -t:+2. From Tiago Cunha.
* Pass in the session, rather than the client, to window modes' key() function.Micah Cowan2010-05-22
| | | | | We were only ever using the client to find the session anyway.
* Sync OpenBSD patchset 696:Tiago Cunha2010-05-14
| | | | | | | Make signal handler setup/teardown two common functions instead of six, and reset SIGCHLD after fork to fix problems with some shells. From Romain Francoise.
* Run job commands explicitly in the global enviroment (which can beNicholas Marriott2010-04-06
| | | | | | modified with setenv -g) rather than with the environment tmux started with.
* Squash a function that is only called in a callback into theNicholas Marriott2010-04-06
| | | | | callback function.
* Support up, down, left, right movement through panes with -UDLR flags toNicholas Marriott2010-03-15
| | | | | | | | select-pane. Also remove up- and down-pane: equivalent behaviour is now available using -t :.+ and -t :.-.
* New input parser based on http://vt100.net/emu/dec_ansi_parser.Nicholas Marriott2010-03-15
|
* Sync OpenBSD patchset 635:Tiago Cunha2010-02-08
| | | | | | | Instead of bailing out on the first configuration file error, carry on, collecting all the errors, then start with the active window in more mode displaying them.
* Sync OpenBSD patchset 581:Tiago Cunha2009-12-04
| | | | | | | Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
* Sync OpenBSD patchset 567:Tiago Cunha2009-11-28
| | | | | | Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to the rest to reduce lint output.
* Sync OpenBSD patchset 554:Tiago Cunha2009-11-19
| | | | | | | Change status line drawing to create the window list in a separate screen and then copy it into the status line screen. This allows UTF-8 in window names and fixes some problems with #[] in window-status-format.
* Sync OpenBSD patchset 535:Tiago Cunha2009-11-14
| | | | | Destroy panes immediately rather than checking them all every loop.
* Sync OpenBSD patchset 506:Tiago Cunha2009-11-08
| | | | | | Change window name change to use a timer event rather than a gettimeofday() check every loop.
* Sync OpenBSD patchset 498:Tiago Cunha2009-11-08
| | | | | | | | Convert the window pane (pty master side) fd over to use a bufferevent. The evbuffer API is very similar to the existing tmux buffer API so this was remarkably painless. Not many possible ways to do it, I suppose.
* Sync OpenBSD patchset 496:Tiago Cunha2009-11-08
| | | | | Switch window pane pipe redirect fd over to a bufferevent.
* Sync OpenBSD patchset 491:Tiago Cunha2009-11-08
| | | | | | | | | | | | Initial changes to move tmux to libevent. This moves the client-side loops are pretty much fully over to event-based only (tmux.c and client.c) but server-side (server.c and friends) treats libevent as a sort of clever poll, waking up after every event to run various things. Moving the server stuff over to bufferevents and timers and so on will come later.
* Sync OpenBSD patchset 437:Tiago Cunha2009-10-23
| | | | | Only redraw the pane when changing mode, not the entire window.
* Sync OpenBSD patchset 417:Tiago Cunha2009-10-23
| | | | | | Stop updating the screen when not in output mode, stops copy mode getting confused.
* Sync OpenBSD patchset 387:Tiago Cunha2009-10-12
| | | | | | | | | | | | | Add a pipe-pane command to allow a pane to be piped to a shell command, for example: pipe-pane 'cat >~/out' No arguments stops outputing and closes the pipe; the -o flag toggles a pipe and on and off (useful for key bindings). Suggested by espie@.
* Sync OpenBSD patchset 381:Tiago Cunha2009-10-12
| | | | | | | | | Clean up by introducing a wrapper struct for mouse clicks rather than passing three u_chars around. As a side-effect this fixes incorrectly rejecting high cursor positions (because it was comparing them as signed char), reported by Tom Doherty.
* Sync OpenBSD patchset 376:Tiago Cunha2009-10-12
| | | | | Accept key and mouse input for keys in zombified windows if they are in a mode..
* Sync OpenBSD patchset 373:Tiago Cunha2009-10-11
| | | | | | | | New option, mouse-select-pane. If on, the mouse may be used to select the current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten.
* Sync OpenBSD patchset 371:Tiago Cunha2009-10-11
| | | | | | | | | | Add "grouped sessions" which have independent name, options, current window and so on but where the linked windows are synchronized (ie creating, killing windows and so on are mirrored between the sessions). A grouped session may be created by passing -t to new-session. Had this around for a while, tested by a couple of people.
* Sync OpenBSD patchset 367:Tiago Cunha2009-10-09
| | | | | | | Add a simple synchronize-panes window option: when set, all input to any pane that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor.
* Use __sun not __sun__ as Sun's CC doesn't define the latter.Nicholas Marriott2009-09-23
|