aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * Don't allow cmd_lookup_client to test clients without a session.Nicholas Marriott2009-10-14
| |
| * Move lines into the history when scrolling even if the scroll region is notNicholas Marriott2009-10-13
| | | | | | | | | | | | the entire screen. Allows ircII users to see history, prompted by naddy.
| * Handle DECCOLM by just emulating its side-effect of clearing the screen.Nicholas Marriott2009-10-13
| |
| * Add mode keys to move the cursor to the top, middle and bottom of the screen.Nicholas Marriott2009-10-13
| | | | | | | | H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
| * Do this in a better way - print messages when exiting with nonzero.Nicholas Marriott2009-10-13
| | | | | | | | | | Also remove the login shell information from server-info, only the client should care about it.
| * Don't print exit messages when used as a login shell, requested by martynas@ aNicholas Marriott2009-10-13
| | | | | | | | while back.
| * Don't try to use \n across scroll region when doing \r\n either.Nicholas Marriott2009-10-13
| |
| * When a session is unattached, reset its activity timer to prevent it lockingNicholas Marriott2009-10-13
| | | | | | | | instantly when reattached.
| * Instead of using something sort of similar for both newline checks, useNicholas Marriott2009-10-13
| | | | | | | | something the same. Doesn't fix the bug I'm looking for though :-/.
| * When drawing lines that have wrapped naturally, don't force a newline butNicholas Marriott2009-10-12
| | | | | | | | | | | | | | | | | | | | | | | | permit them to wrap naturally again. This allows terminals that use this to guess where lines start and end for eg mouse selecting (like xterm) to work correctly. This was another long-standing issue raised by several people over the last while. Thanks to martynas@ for much testing. This was not trivial to get right so bringing it in for wider testing and adn to fix any further glitches in-tree.
| * When backspace is received at the beginning of a line and the previous line wasNicholas Marriott2009-10-12
| | | | | | | | | | | | | | | | wrapped, move the cursor back up to the end of the previous line. Another one of the forgotten persons requested this quite a while ago (I need to start noting names on todo items...) when it was quite hard to implement. Now it is easy and I don't see it can do any harm, so hey presto...
| * Don't run through the column unchanged case if the row was unchanged but thereNicholas Marriott2009-10-12
| | | | | | | | | | were no suitable optimisations, instead make it an else to fall through to absolute addressing.
| * If the vertical cursor movement crosses the scroll region, CUU and CUDNicholas Marriott2009-10-12
| | | | | | | | shouldn't be used even if VPA isn't present - in that case CUP should be used.
| * Wrap a couple of long lines.Nicholas Marriott2009-10-12
| |
| * Use absolute movement if right at the end of the line as it isn't a reliableNicholas Marriott2009-10-12
| | | | | | | | place to move from relatively.
| * Use relative cursor movement instead of absolute when possible and whenNicholas Marriott2009-10-12
| | | | | | | | | | supported by the terminal to reduce the size of the output data (generally about 10-20%).
| * Permit attributes to be turned off in #[] by prefixing with "no", for exampleNicholas Marriott2009-10-12
| | | | | | | | "noblink".
| * Similarly add a tty_cursor_pane function to tidy up most of the calls.Nicholas Marriott2009-10-12
| |
| * _absolute is redundant, just use tty_region.Nicholas Marriott2009-10-12
| |
| * Cleanup: use two functions for region setting, one for absolute and one insideNicholas Marriott2009-10-12
| | | | | | | | pane.
| * Like linefeed, don't set the scroll region for reverse index unless it will beNicholas Marriott2009-10-11
| | | | | | | | | | | | needed. While here, also tidy up a couple of long lines and remove an extraneous blank.
| * punctuation fix;Jason McIntyre2009-10-11
| |
| * Set the current window pointer to NULL when killing a winlink that is to beNicholas Marriott2009-10-11
| | | | | | | | | | | | | | replaced with link-window -k. This prevents it being pushed onto the last window stack and causing a use-after-free. Only took me an hour to find this :-/...
| * Add a pipe-pane command to allow a pane to be piped to a shell command, forNicholas Marriott2009-10-11
| | | | | | | | | | | | | | | | | | | | | | 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@.
| * Convert if-shell over to the background job framework as well.Nicholas Marriott2009-10-11
| |
| * Remove a debugging leftover and add copyright.Nicholas Marriott2009-10-11
| |
| * Switch run-shell over to queue the command in the background like #().Nicholas Marriott2009-10-11
| |
| * There isn't much point in having a free function if it isn't used.Nicholas Marriott2009-10-11
| | | | | | | | Also allow a NULL tree.
| * Collect status from dead jobs and don't invoke the callback until bothNicholas Marriott2009-10-11
| | | | | | | | all input (the socket is closed) and status is available.
| * Clean up by introducing a wrapper struct for mouse clicks rather than passingNicholas Marriott2009-10-11
| | | | | | | | | | | | | | 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.
| * Braek some bits out of server_fill_client() that aren't really related toNicholas Marriott2009-10-11
| | | | | | | | polling into their own function.
| * Put all jobs on a global all_jobs list and use that in server.c instead ofNicholas Marriott2009-10-10
| | | | | | | | running through all the clients.
| * -scroll mode which is dead.Nicholas Marriott2009-10-10
| |
| * Split list-panes off from list-windows.Nicholas Marriott2009-10-10
| |
| * Accept key and mouse input for keys in zombified windows if they are in a mode..Nicholas Marriott2009-10-10
| |
| * When a window is zombified and automatic-rename is on, append [dead] to theNicholas Marriott2009-10-10
| | | | | | | | name.
| * Rather than running status-left, status-right and window title #() with popenNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | immediately every redraw, queue them up and run them in the background, starting each once every status-interval. The actual status line uses the output from the last run. This brings several advantages: - tmux itself may be called from inside #() without causing the server to hang; - likewise, sleep or similar doesn't cause the server to block; - commands aren't run excessively often when redrawing; - commands shared by status-left and status-right, or used multiple times, will only be run once. run-shell and if-shell still use system()/popen() but will be changed over to use this too later.
| * New option, mouse-select-pane. If on, the mouse may be used to select theNicholas Marriott2009-10-10
| | | | | | | | | | | | current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten.
| * There is no point setting the scroll region up for line feeds unless scrollingNicholas Marriott2009-10-10
| | | | | | | | is actually going to happen, so don't.
| * Add "grouped sessions" which have independent name, options, current window andNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | 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.
| * Support for individual session idle time locking. May be enabled by turning offNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | the lock-server option (it is on by default). When this is off, each session locks when it has been idle for the lock-after-time setting. When on, the entire server locks when ALL sessions have been idle for their individual lock-after-time settings. This replaces one global-only option (lock-after-time) with another (lock-server), but the default behaviour is usually preferable so there don't seem to be many alternatives. Diff/idea largely from Thomas Adam, tweaked by me.
| * Instead of passing a struct pollfd ** around through various functions, buildNicholas Marriott2009-10-10
| | | | | | | | | | | | | | them into a tree and then convert into a flat poll array before and after poll. This adds a little code but should reduce annoying problems with ordering when adding new things that also need to be polled.
| * The UTF-8 detection idea doesn't work and I am reasonably happy with theNicholas Marriott2009-10-09
| | | | | | | | current methods, so remove the (already #ifdef 0'd) code.
| * Add a simple synchronize-panes window option: when set, all input to any paneNicholas Marriott2009-10-09
| | | | | | | | | | that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor.
| * Be less aggressive about turning the cursor off, only explicitly turn it offNicholas Marriott2009-10-09
| | | | | | | | when tmux is redrawing, otherwise leave in the state set by the application.
| * Support J and K for scroll up and scroll down in copy mode with vi keys,Nicholas Marriott2009-10-07
| | | | | | | | suggested by martynas.
| * Fix comment.Nicholas Marriott2009-10-07
| |
| * Accept ^? for backspace as well as BSpace.Nicholas Marriott2009-10-06
| |
| * Remove scroll mode which is now redundant, copy mode should be used instead.Nicholas Marriott2009-10-06
| | | | | | | | The = key binding now does nothing.
| * Make C-Up and C-Down in copy mode scroll the screen up and down one lineNicholas Marriott2009-10-06
| | | | | | | | | | without moving the cursor, like Up and Down in scroll mode (which will shortly disappear).