Stuart Henderson
ce4eb6559e
up-pane and down-pane no longer auto-repeat; update the description of
...
repeat-time accordingly. ok nicm@
if you prefer old behaviour;
bind -r Up up-pane
bind -r Down down-pane
2009-07-24 14:50:24 +00:00
Nicholas Marriott
4a04b498db
None of the server message functions return anything but 0, so make them all
...
void.
Also remove a leftover variable in client.c.
2009-07-23 21:19:11 +00:00
Nicholas Marriott
16e017d5a6
Tidy client message return slightly: convert flags into an enum, and merge
...
error string into struct client_ctx as well.
2009-07-23 20:24:27 +00:00
Nicholas Marriott
ba84ddcf8e
Redraw after starting selection to correctly remove any existing selection.
2009-07-23 17:03:47 +00:00
Nicholas Marriott
895171478f
Revert r1.5, I don't like it, new sessions should start off identically - with
...
the defaults.
2009-07-23 15:47:56 +00:00
Nicholas Marriott
e0d1954840
C-d is delete as well in emacs mode.
2009-07-23 13:44:02 +00:00
Nicholas Marriott
96a7cf1e6a
Both of cmdclient and curclient CAN be NULL - if the command is executed from
...
the configuration file. In this case, attach-session can't do much, and
new-session should just assume -d.
2009-07-23 12:33:48 +00:00
Nicholas Marriott
05b511f96a
If there is a current session, use its default path and working directory for
...
the initial window when creating a new session.
2009-07-22 22:47:43 +00:00
Nicholas Marriott
bb14c36a27
Pass a set of flags into client_init rather than just a start_server
...
variable. Only one flag now but more to come later.
2009-07-22 21:58:56 +00:00
Nicholas Marriott
5ee84436c8
window_add_pane cannot fail, so remove the unused cause argument and don't
...
bother to check for a NULL return.
2009-07-22 21:34:36 +00:00
Nicholas Marriott
f7df0bac96
Tidy the target parsing code a bit and correct the behaviour so that as before
...
a string with no colon as a target window is first looked up as a window then
as a session, noted by Iain Morgan.
Also attempt to clarify the description of the target specification in the man
page.
2009-07-22 21:23:29 +00:00
Nicholas Marriott
dd4a3b24fc
tty_write is relatively short and the only function left in tty-write.c so move
...
it into tty.c.
2009-07-22 20:56:58 +00:00
Nicholas Marriott
ddad0be5f7
More tty code tidying: move the saved cursor/region position (from before the
...
screen was updated) out of struct screen and into struct tty_ctx.
2009-07-22 20:53:38 +00:00
Nicholas Marriott
bb4bab4c26
log_debug3 no longer exists, change the sole use in GRID_DEBUG to log_debug2.
2009-07-22 18:06:58 +00:00
Nicholas Marriott
2ec2837daa
enum tty_cmd is only used as an index into the array of command function
...
pointers, so remove it and use the function pointers directly to represent
themselves.
2009-07-22 18:02:23 +00:00
Nicholas Marriott
6a309c53a8
There are relatively few arguments to tty_cmd_* functions now, so tidy them up
...
by using a struct rather than hiding everything with varargs.
2009-07-22 16:45:31 +00:00
Nicholas Marriott
5bd72ec629
tty_cmd_raw is only used once, for raw UTF-8 output, so rename it to
...
tty_cmd_utf8character and eliminate the size argument.
2009-07-22 15:55:32 +00:00
Nicholas Marriott
e43b6a2dd2
Adjust field width to fit longest key when listing.
2009-07-21 22:41:00 +00:00
Nicholas Marriott
3eb6080de3
Remove leftover debug logging of password.
2009-07-21 21:20:07 +00:00
Nicholas Marriott
76a9d98562
Make some functions which return unused values void (mostly found by lint) and
...
tweak a redundant expression in window_pane_set_mode.
2009-07-21 19:54:22 +00:00
Nicholas Marriott
6945e86fd7
Nix a few unused attributes on arguments which are no longer unused.
2009-07-21 18:52:03 +00:00
Nicholas Marriott
044ebf1952
Remove a couple of unused functions and fix a type ("FALLTHOUGH"), found by
...
lint.
2009-07-21 18:40:30 +00:00
Nicholas Marriott
b9a179089b
__progname is not const, pointed out by deraadt.
2009-07-21 18:38:52 +00:00
Nicholas Marriott
725938fb85
Tidy up keys: use an enum for the key codes, and remove the macros which just
...
wrap flag sets/clears/tests.
2009-07-21 17:57:29 +00:00
Nicholas Marriott
c6012aaabc
Now that #P could be in the status line, flag it for redraw when the active
...
pane changes.
2009-07-20 19:35:33 +00:00
Nicholas Marriott
c0862dae45
Tweak unbind-key language very slightly.
2009-07-20 15:51:55 +00:00
Nicholas Marriott
54afcfbfb4
Display the number of failed password attempts (if any) when the server is
...
locked. From Tom Doherty.
2009-07-20 14:37:51 +00:00
Nicholas Marriott
b292f71c49
Add a status-justify option to allow the window list in the status line to be
...
positioned at the left, centre, or right.
2009-07-20 14:32:09 +00:00
Nicholas Marriott
e32e0d5692
New options, window-status-current-{fg,bg,attr}, to set the fg, bg and
...
attributes with which the current window is shown in the status line. From
Johan Friis, thanks.
2009-07-20 09:15:18 +00:00
Nicholas Marriott
73732ffa05
Kill some dead stores and fix a null pointer deref, found by clang.
2009-07-20 07:31:10 +00:00
Nicholas Marriott
ff2cc0e387
Move the offsets as well when swapping panes.
2009-07-20 07:13:31 +00:00
Jason McIntyre
550b855c9d
tweak previous;
2009-07-19 14:07:47 +00:00
Nicholas Marriott
6036bdd06c
Improved layout code.
...
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.
2009-07-19 13:21:40 +00:00
Nicholas Marriott
fc6a65c620
Add three new session options: visual-activity, visual-bell, visual-content. If
...
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.
2009-07-18 14:59:25 +00:00
Nicholas Marriott
0ca6f667e3
Make it so using kill-pane to destroy the last pane in a window destroys the
...
window instead of being an error.
2009-07-17 20:37:03 +00:00
Nicholas Marriott
6f5150a943
- New command display-message (alias display) to display a message in the
...
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!
2009-07-17 18:45:08 +00:00
Nicholas Marriott
ad006bc6b6
When resizing a screen smaller in alternate screen mode, all the lines needed
...
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.
2009-07-17 18:35:11 +00:00
Nicholas Marriott
ce53936a2b
Tidy up new-session and attach-session and change them to work from inside
...
tmux, switching the current client to the new or requested session.
Written with Josh Elsasser.
2009-07-17 15:03:11 +00:00
Nicholas Marriott
1938c994e7
Remove a duplicate key binding, and turn off autorepeat for up/down as it is
...
kind of annoying by default.
2009-07-17 13:43:07 +00:00
Nicholas Marriott
7ddba901a4
If -u is specified or UTF-8 is otherwise detected when the server is started,
...
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.
2009-07-17 13:38:03 +00:00
Nicholas Marriott
d3b5c242cc
Oops, it is always a good idea to get arguments the right way round.
2009-07-17 07:09:46 +00:00
Nicholas Marriott
216df07688
A similar for fix for window_choose: don't rely on the callback always being
...
called to free data, have a separate free callback and call it from the mode
cleanup code.
2009-07-17 07:05:58 +00:00
Nicholas Marriott
65deba3a35
Memory could be leaked if a second prompt or message appeared while another was
...
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.
2009-07-17 06:13:27 +00:00
Nicholas Marriott
9642f0373f
Remove some duplicate code that was causing the status line to be redrawn even
...
when it hadn't changed.
2009-07-16 23:25:21 +00:00
Nicholas Marriott
3e9d9a2119
Fix arguments to switch-client.
2009-07-16 22:50:49 +00:00
Nicholas Marriott
924bf8477f
Typo in grid_duplicate_lines (sy for dy) causing it to write into the wrong
...
place when copying UTF-8 data. Found by Dan Colish.
2009-07-16 07:34:37 +00:00
Nicholas Marriott
92da443a9e
Make status_message_set a variadic printf-like function. No functional change -
...
helpful for a couple of things coming soon.
2009-07-15 17:39:00 +00:00
Nicholas Marriott
780fd8f7a6
Return -1 not NULL on error, pointed out by Roy Marples.
2009-07-15 15:09:17 +00:00
Nicholas Marriott
aa3403a343
Add a -k flag to unlink-window which makes it behave the same as the old
...
kill-window - if a window is linked into only one session it unlinked and
destroyed.
2009-07-15 08:05:56 +00:00
Nicholas Marriott
9601b72e4c
The man page says that kill-window removes the window entirely, unlinking it
...
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.
2009-07-15 08:00:49 +00:00