aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
...
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Clear flags across all sessions, from Thomas Adam.Nicholas Marriott2012-07-08
|
* Use default-shell not _PATH_BSHELL to spawn commands, pointed out byNicholas Marriott2012-05-28
| | | | Dennis G?nnewig and Thomas Adam.
* Do not fire name timer when automatic-rename is off, from Tim Ruehsen aNicholas Marriott2012-04-08
| | | | while ago.
* Minor style nits - return ().Nicholas Marriott2012-04-01
|
* Add a layout history which can be stepped through with select-layout -uNicholas Marriott2012-04-01
| | | | and -U commands (bound to 'u' and 'U' by default).
* Check changes_timer with event_initialized before event_del.Nicholas Marriott2012-03-20
|
* Add a simple form of output rate limiting by counting the number ofNicholas Marriott2012-03-20
| | | | | | | | | | | | | | | | | | 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.
* Add notify hooks for various events, the functions are currently emptyNicholas Marriott2012-03-17
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Check event_initialized before event_del if event may not have been setNicholas Marriott2012-03-17
| | | | up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Move window name changes into wrapper function window_set_name, fromNicholas Marriott2012-02-02
| | | | George Nachman.
* Give each window a unique id, like panes but prefixed with @. Based onNicholas Marriott2012-01-30
| | | | work from George Nachman.
* Call bufferevent_free before closing file descriptor associated with itNicholas Marriott2012-01-29
| | | | | or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers in a twist. From Dylan Alex Simon.
* Make window_pane_index work the same as window_index, from Ben Boeckel.Nicholas Marriott2011-11-15
|
* Reject $SHELL if it is not a full path.Nicholas Marriott2011-09-25
|
* Add pane-base-index option, from Ben Barbour.Nicholas Marriott2011-08-24
|
* Get rid of the layout string code which tries to walk through the layoutNicholas Marriott2011-06-05
| | | | hierarchy and instead just look at what panes are actually in the window.
* The mouse should only work in copy mode if mode-mouse is set, not justNicholas Marriott2011-04-18
| | | | mouse-select-pane.
* Give each pane created in a tmux server a unique id (starting from 0),Nicholas Marriott2011-03-27
| | | | | put it in the TMUX_PANE environment variable and accept it as a target. Suggested by and with testing and tweaks from Ben Boeckel.
* Check if the index is in use and fail before creating the child process,Nicholas Marriott2011-01-25
| | | | rather than leaving a stray child on failure.
* Move all calls to fcntl(...O_NONBLOCK) into a function and clear theNicholas Marriott2011-01-08
| | | | | flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
* Add a function to create window flags rather than doing the same thingNicholas Marriott2010-12-30
| | | | 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.
* Don't allow last and active window to become the same - a very bad moveNicholas Marriott2010-11-14
| | | | when the active window is closed and freed. Reported by sthen@.
* Add a last-pane command (bound to ; by default). Requested ages ago byNicholas Marriott2010-10-23
| | | | somebody whose name I have forgotten.
* When removing a pane, don't change the active pane unless the activeNicholas Marriott2010-10-23
| | | | pane is actually the one being removed.
* Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott2010-10-16
| | | | closefrom() before exec.
* When destroying a pane, reset any mode (which reenables paneNicholas Marriott2010-08-25
| | | | bufferevent) before freeing the bufferevent.
* Do not call event_del() for signals after fork(), just use sigaction()Nicholas Marriott2010-08-19
| | | | | directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
* Make pane/window wrapping more logical (so with 10 windows, +10 fromNicholas Marriott2010-07-14
| | | | window 5 stays in the same place), and tidy the code. From Tiago Cunha.
* Extend the -t:+ and -t:- window targets for next and previous window toNicholas Marriott2010-06-21
| | | | accept an offset such as -t:+2. From Tiago Cunha.
* Pass in the session, rather than the client, to window modes' key()Nicholas Marriott2010-05-23
| | | | | | | | | function. We were only ever using the client to find the session anyway. This allows send-key to work properly for manipulating copy mode from outside tmux. From Micah Cowan.
* Put this back in with the initialisation in the right order.Nicholas Marriott2010-05-04
|
* Revert last change, it appears to be broken somehow.Nicholas Marriott2010-05-04
|
* Make signal handler setup/teardown two common functions instead of six,Nicholas Marriott2010-05-03
| | | | | and reset SIGCHLD after fork to fix problems with some shells. From Romain Francois.
* Run job commands explicitly in the global enviroment (which can beNicholas Marriott2010-04-04
| | | | | modified with setenv -g) rather than with the environment tmux started with.
* Squash a function that is only called in a callback into the callbackNicholas Marriott2010-04-04
| | | | function.
* Support up, down, left, right movement through panes with -UDLR flags toNicholas Marriott2010-03-22
| | | | | | | select-pane. Also REMOVE the up- and down-pane commands: equivalent behaviour is now available using -t :.+ and -t :.-.
* New input parser based on http://vt100.net/emu/dec_ansi_parser.Nicholas Marriott2010-03-22
|
* Instead of bailing out on the first configuration file error, carry on,Nicholas Marriott2010-02-06
| | | | | collecting all the errors, then start with the active window in more mode displaying them.
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott2009-11-26
| | | | the rest to reduce lint output.
* Change status line drawing to create the window list in a separate screen andNicholas Marriott2009-11-19
| | | | | then copy it into the status line screen. This allows UTF-8 in window names and fixes some problems with #[] in window-status-format.
* Destroy panes immediately rather than checking them all every loop.Nicholas Marriott2009-11-13
|
* Change window name change to use a timer event rather than a gettimeofday()Nicholas Marriott2009-11-04
| | | | check every loop.
* Convert the window pane (pty master side) fd over to use a bufferevent.Nicholas Marriott2009-11-04
| | | | | 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.
* Switch window pane pipe redirect fd over to a bufferevent.Nicholas Marriott2009-11-04
|
* Initial changes to move tmux to libevent.Nicholas Marriott2009-11-04
| | | | | | | | | 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.
* Only redraw the pane when changing mode, not the entire window.Nicholas Marriott2009-10-22
|
* Stop updating the screen when not in output mode, stops copy mode gettingNicholas Marriott2009-10-19
| | | | confused.