aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Adjust field width to fit longest key when listing.Nicholas Marriott2009-07-21
|
* Remove leftover debug logging of password.Nicholas Marriott2009-07-21
|
* Make some functions which return unused values void (mostly found by lint) andNicholas Marriott2009-07-21
| | | | tweak a redundant expression in window_pane_set_mode.
* Nix a few unused attributes on arguments which are no longer unused.Nicholas Marriott2009-07-21
|
* Remove a couple of unused functions and fix a type ("FALLTHOUGH"), found byNicholas Marriott2009-07-21
| | | | lint.
* __progname is not const, pointed out by deraadt.Nicholas Marriott2009-07-21
|
* Tidy up keys: use an enum for the key codes, and remove the macros which justNicholas Marriott2009-07-21
| | | | wrap flag sets/clears/tests.
* Now that #P could be in the status line, flag it for redraw when the activeNicholas Marriott2009-07-20
| | | | pane changes.
* Tweak unbind-key language very slightly.Nicholas Marriott2009-07-20
|
* Display the number of failed password attempts (if any) when the server isNicholas Marriott2009-07-20
| | | | locked. From Tom Doherty.
* Add a status-justify option to allow the window list in the status line to beNicholas Marriott2009-07-20
| | | | positioned at the left, centre, or right.
* New options, window-status-current-{fg,bg,attr}, to set the fg, bg andNicholas Marriott2009-07-20
| | | | | attributes with which the current window is shown in the status line. From Johan Friis, thanks.
* Kill some dead stores and fix a null pointer deref, found by clang.Nicholas Marriott2009-07-20
|
* Move the offsets as well when swapping panes.Nicholas Marriott2009-07-20
|
* tweak previous;Jason McIntyre2009-07-19
|
* Improved layout code.Nicholas Marriott2009-07-19
| | | | | | | | | | | | | | | | | | | | | | | Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from left-to-right or top-to-bottom, or a leaf cell which is associated with a pane. The major functional changes are: - panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and vertically (splitw -v, C-b "); - panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D, bound to C-b left/right/up/down and C-b M-left/right/up/down); - layouts are now applied and then may be modified by resizing or splitting panes, rather than being fixed and reapplied when the window is resized or panes are added; - manual-vertical layout is no longer necessary, and active-only layout is gone (but may return in future); - the main-pane layouts now reduce the size of the main pane to fit all panes if possible. Thanks to all who tested.
* Add three new session options: visual-activity, visual-bell, visual-content. IfNicholas Marriott2009-07-18
| | | | | | | | | these are enabled (and the monitor-activity, bell-actio and monitor-content options are configurated appropriately), when activity, a bell, or content is detected, a message is shown. Also tidy up the bell/activity/content code in server.c slightly and fix a couple of errors.
* Make it so using kill-pane to destroy the last pane in a window destroys theNicholas Marriott2009-07-17
| | | | window instead of being an error.
* - New command display-message (alias display) to display a message in theNicholas Marriott2009-07-17
| | | | | | | | | | status line (bound to "i" and displays the current window and time by default). The same substitutions are applied as for status-left/right. - Add support for including the window index (#I), pane index (#P) and window name (#W) in the message, and status-left or status-right. - Bump protocol version. From Tiago Cunha, thanks!
* When resizing a screen smaller in alternate screen mode, all the lines neededNicholas Marriott2009-07-17
| | | | | | could be consumed by deleting from the bottom, leaving none to be removed from the top. In this case, don't call grid_view_delete_lines with ny of 0 as this is incorrect and causes a bounds check to fatal error if built with -DDEBUG.
* Tidy up new-session and attach-session and change them to work from insideNicholas Marriott2009-07-17
| | | | | | tmux, switching the current client to the new or requested session. Written with Josh Elsasser.
* Remove a duplicate key binding, and turn off autorepeat for up/down as it isNicholas Marriott2009-07-17
| | | | kind of annoying by default.
* If -u is specified or UTF-8 is otherwise detected when the server is started,Nicholas Marriott2009-07-17
| | | | | enable the utf8 and status-utf8 optons. While here, note in the man page that the server is started with the first session and exits when none remain.
* Oops, it is always a good idea to get arguments the right way round.Nicholas Marriott2009-07-17
|
* A similar for fix for window_choose: don't rely on the callback always beingNicholas Marriott2009-07-17
| | | | | called to free data, have a separate free callback and call it from the mode cleanup code.
* Memory could be leaked if a second prompt or message appeared while another wasNicholas Marriott2009-07-17
| | | | | | | | | | | still present, so add a separate prompt free callback and make the _clear function responsible for calling it if necessary (rather than the individual prompt callbacks). Also make both messages and prompts clear any existing when a new is set. In addition, the screen could be modified while the prompt is there, restore the redraw-entire-screen behaviour on prompt clear; add a comment as a reminder.
* Remove some duplicate code that was causing the status line to be redrawn evenNicholas Marriott2009-07-16
| | | | when it hadn't changed.
* Fix arguments to switch-client.Nicholas Marriott2009-07-16
|
* Typo in grid_duplicate_lines (sy for dy) causing it to write into the wrongNicholas Marriott2009-07-16
| | | | place when copying UTF-8 data. Found by Dan Colish.
* Make status_message_set a variadic printf-like function. No functional change -Nicholas Marriott2009-07-15
| | | | helpful for a couple of things coming soon.
* Return -1 not NULL on error, pointed out by Roy Marples.Nicholas Marriott2009-07-15
|
* Add a -k flag to unlink-window which makes it behave the same as the oldNicholas Marriott2009-07-15
| | | | | kill-window - if a window is linked into only one session it unlinked and destroyed.
* The man page says that kill-window removes the window entirely, unlinking itNicholas Marriott2009-07-15
| | | | | | | from any sessions. In fact the implementation only affected the current session, making it the same as unlink-window but destroying the window if it was linked into only one session (unlinkw gives an error). Change the behaviour to match what it documented and was originally intended.
* Having to update NSETOPTION/NSETWINDOWOPTION when adding new options is a bitNicholas Marriott2009-07-15
| | | | | | annoying and it is only use for iterating, so use a sentinel to mark the end of each array instead. Different fix for a problem pointed out by Kalle Olavi Niemitalo.
* Add main-pane-height to the options list (was missed before).Nicholas Marriott2009-07-14
|
* For some reason when clearing status/message it was redrawing the entire clientNicholas Marriott2009-07-14
| | | | | not just the status line. Changing this also revealed the check for the status line was incorrect when drawing the pane.
* Instead of faking up a status line in status_redraw, use the same code toNicholas Marriott2009-07-14
| | | | | | redraw it as to draw the entire screen, just skip all lines but the last. This makes horizontal split redraw properly when the status line is off.
* Don't accept input to a window if it not visible.Nicholas Marriott2009-07-14
|
* The scroll region cannot be one line only, ignore attempts to make it so.Nicholas Marriott2009-07-14
|
* Get rid of the PANE_HIDDEN flag in favour of a function, and moving theNicholas Marriott2009-07-14
| | | | | | | | decision for whether or not a pane should be drawn out of the layout code and into the redraw code. This is needed for the new layout design, getting it in now to make that easier to work on.
* Need time.h not sys/time.h for time(2).Nicholas Marriott2009-07-14
|
* Add backspace key to named keys.Nicholas Marriott2009-07-14
|
* Since tmux doesn't actually need ncurses, use -lcurses/curses.hNicholas Marriott2009-07-14
| | | | instead. Pointed out by millert a while ago.
* Having fixed flags for single-character getopt options is a bit hard toNicholas Marriott2009-07-13
| | | | | | | | | maintain and is only going to get worse as more are used. So instead, add a new uint64_t member to cmd_entry which is a bitmask of upper and lowercase options accepted by the command. This means new single character options can be used without the need to add it explicitly to the list.
* zap trailing whitespace;Jason McIntyre2009-07-13
|
* Expand leading tildes in arguments, from Tiage Cunha.Nicholas Marriott2009-07-13
|
* copy-mode and scroll-mode have a -u flag missing from usage, add it.Nicholas Marriott2009-07-13
|
* Tidy up and improve target (-t) argument parsing:Nicholas Marriott2009-07-13
| | | | | | | | | | | | | | - move the code back into cmd.c and merge with the existing functions where possible; - accept "-tttyp0" as well as "-t/dev/ttyp0" for clients; - when looking up session names, try an exact match first, and if that fails look for it as an fnmatch pattern and then as the start of a name - if more that one session matches an error is given; so if there is one session called "mysession", -tmysession, -tmysess, -tmysess* are equivalent but if there is also "mysession2", the last two are errors; - similarly for windows, if the argument is not a valid index or exact window name match, try it against the window names as an fnmatch pattern and a prefix.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott2009-07-13
| | | | | | | screen interactive programs to preserve the screen contents. When activated, it saves a copy of the visible grid and disables scrolling into and resizing out of the history; when deactivated the visible data is restored and the history reenabled.
* Missed this declaration in key bindings change. Whoops.Nicholas Marriott2009-07-12
|