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
Tiago Cunha
75a44d856e
Sync OpenBSD patchset 158:
...
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 17:58:42 +00:00
Tiago Cunha
d29b57f597
Sync OpenBSD patchset 155:
...
Make some functions which return unused values void (mostly found by lint) and
tweak a redundant expression in window_pane_set_mode.
2009-07-22 17:46:53 +00:00
Tiago Cunha
a92993228f
Change GRID_DEBUG to use log_debug2 since log_debug3 was removed.
2009-07-22 17:33:02 +00:00
Tiago Cunha
6a97901691
Sync OpenBSD patchset 153:
...
Remove a couple of unused functions and fix a type ("FALLTHOUGH"), found by
lint.
2009-07-22 17:31:20 +00:00
Tiago Cunha
39aa8b32b1
Restore $Id$.
2009-07-22 16:55:22 +00:00
Tiago Cunha
1bf524c1b7
Sync OpenBSD patchset 152:
...
__progname is not const, pointed out by deraadt.
And, as a consequence change its declaration for operating systems which
don't provide __progname as well.
2009-07-22 16:53:30 +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
Tiago Cunha
a734488a4b
Sync OpenBSD patchset 151:
...
Tidy up keys: use an enum for the key codes, and remove the macros which just
wrap flag sets/clears/tests.
2009-07-22 16:24:59 +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
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
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
Tiago Cunha
54c6848d75
Sync OpenBSD patchset 148:
...
Display the number of failed password attempts (if any) when the server is
locked. From Tom Doherty.
2009-07-20 16:07:23 +00:00
Tiago Cunha
545893df73
Sync OpenBSD patchset 142:
...
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-20 15:42:05 +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
Tiago Cunha
376c808b50
Add three new session options: visual-activity, visual-bell, visual-content.
...
If these are enabled (and the monitor-activity, bell-action 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-19 14:35:56 +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
19cb1fb592
Make it so using kill-pane to destroy the last pane in a window destroys the
...
window instead of being an error.
2009-07-18 11:07:14 +00:00
Nicholas Marriott
6bc9ee3420
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.
2009-07-18 11:06:09 +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
Tiago Cunha
ae7dda10ce
- New command display-message (alias display) to display a message in the
...
status line (bound to "i" by default).
- Add support for including the window index, pane index, and window name
in status-left, or status-right.
- Bump protocol version.
2009-07-17 18:32:54 +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
89543e999d
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 12:12:54 +00:00
Nicholas Marriott
441c118b63
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
2009-07-17 09:26:21 +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
222b8e6743
Make status_message_set a variadic printf-like function. No functional change -
...
helpful for a couple of things coming soon.
2009-07-15 17:50:11 +00:00
Nicholas Marriott
ff90170738
Having to update NSETOPTION/NSETWINDOWOPTION when adding new options is a bit
...
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.
2009-07-15 17:44:47 +00:00
Nicholas Marriott
6ebb1df8fe
Add main-pane-height to the options list (was missed before).
2009-07-15 17:44:25 +00:00
Nicholas Marriott
72d56bd614
Instead of faking up a status line in status_redraw, use the same code to
...
redraw it as to draw the entire screen, just skip all lines but the last.
2009-07-15 17:43:45 +00:00
Nicholas Marriott
1e574bb70c
Get rid of the PANE_HIDDEN flag in favour of a function, and moving the
...
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.
2009-07-15 17:42:44 +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
ca617d679f
Having to update NSETOPTION/NSETWINDOWOPTION when adding new options is a bit
...
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.
2009-07-15 07:50:34 +00:00
Nicholas Marriott
615d85fb23
Add main-pane-height to the options list (was missed before).
2009-07-14 20:20:04 +00:00
Nicholas Marriott
ae2ea52575
Instead of faking up a status line in status_redraw, use the same code to
...
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.
2009-07-14 19:03:16 +00:00
Nicholas Marriott
fe20c0d89e
Get rid of the PANE_HIDDEN flag in favour of a function, and moving the
...
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.
2009-07-14 07:23:36 +00:00
Nicholas Marriott
097b96ea44
Having fixed flags for single-character getopt options is a bit hard to
...
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.
2009-07-14 06:43:33 +00:00
Nicholas Marriott
d358a352c0
Tidy up and improve target (-t) argument parsing:
...
- 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.
2009-07-14 06:42:06 +00:00
Nicholas Marriott
e63567d51c
Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full
...
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.
2009-07-14 06:40:33 +00:00
Nicholas Marriott
f41ef2198b
Missed this declaration in key bindings change. Whoops.
2009-07-14 06:40:03 +00:00
Nicholas Marriott
5ef5bd7c31
Add a "back to indentation" key in copy mode to move the cursor to the first
...
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
2009-07-14 06:39:25 +00:00
Nicholas Marriott
d2c3dbc665
If it exist, load a system-wide configuration file /etc/tmux.conf before any
...
user-specified one.
2009-07-14 06:38:14 +00:00
Nicholas Marriott
5f108d9df6
Having fixed flags for single-character getopt options is a bit hard to
...
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.
2009-07-13 23:11:35 +00:00
Nicholas Marriott
023d8d38ec
Tidy up and improve target (-t) argument parsing:
...
- 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.
2009-07-13 17:47:46 +00:00
Nicholas Marriott
359285928b
Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full
...
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.
2009-07-13 10:43:52 +00:00
Nicholas Marriott
0b788a3d61
Missed this declaration in key bindings change. Whoops.
2009-07-12 23:46:49 +00:00
Nicholas Marriott
27fc963631
When pasting, translate \n into \r. This matches xterm and putty's behaviour,
...
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks!
2009-07-12 17:11:39 +00:00
Nicholas Marriott
d7b4aa0ff3
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
2009-07-12 17:07:58 +00:00
Nicholas Marriott
22d51ec1ea
Add a "back to indentation" key in copy mode to move the cursor to the first
...
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
2009-07-12 16:15:34 +00:00
Nicholas Marriott
22355ce947
If it exist, load a system-wide configuration file /etc/tmux.conf before any
...
user-specified one.
2009-07-12 16:07:56 +00:00
Nicholas Marriott
2f7198246e
When pasting, translate \n into \r. This matches xterm and putty's behaviour,
...
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks!
2009-07-11 19:14:56 +00:00
Nicholas Marriott
daa1faa905
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
This is "screen" by default and must be either that or something closely
related. This does makes it easier to customise it if necessary.
2009-07-10 05:50:54 +00:00
Nicholas Marriott
eee3dd297e
New command, if-shell (alias if). Executes the tmux command in the second
...
argument if the shell command in the first succeeds, for example:
if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"
Written by Tiago Cunha, many thanks.
2009-07-09 18:14:18 +00:00
Nicholas Marriott
e073441c36
Tidy by removing unused argument from grid_view_{insert,delete}_line_region
...
functions (currently don't fully work, this is to make fix easier).
2009-07-09 18:04:17 +00:00
Nicholas Marriott
81181bfb72
New command, if-shell (alias if). Executes the tmux command in the second
...
argument if the shell command in the first succeeds, for example:
if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"
Written by Tiago Cunha, many thanks.
2009-07-09 15:47:49 +00:00
Nicholas Marriott
643c219d18
Tidy by removing unused argument from grid_view_{insert,delete}_line_region
...
functions (currently don't fully work, this is to make fix easier).
2009-07-09 00:29:32 +00:00
Nicholas Marriott
2ddcb51df3
Fix $Id$.
2009-07-08 18:03:03 +00:00
Nicholas Marriott
86504af149
Rename the global options variables to be shorter and to make session options
...
clear. No functional change, getting this out of the way to make later options
changes easier.
2009-07-08 18:01:31 +00:00
Nicholas Marriott
084d07f4eb
Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,
...
and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).
Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
2009-07-08 05:26:45 +00:00
Nicholas Marriott
923ccfa2e8
Rename the global options variables to be shorter and to make session options
...
clear. No functional change, getting this out of the way to make later options
changes easier.
2009-07-07 19:49:19 +00:00
Nicholas Marriott
08c7249636
Change default_window_name to use window_default_command if the actual cmd is
...
empty. From Josh Elsasser.
2009-07-02 18:17:46 +00:00
Nicholas Marriott
9f0653386b
$Id$.
2009-07-01 23:06:32 +00:00
Nicholas Marriott
eed4f7600d
Fix $Id$.
2009-06-29 22:04:51 +00:00
Nicholas Marriott
1496aa5dbc
Remove some unused function declarations; no binary change.
2009-06-26 22:18:03 +00:00
Nicholas Marriott
b11b1dd1c0
Remove some unused function declarations; no binary change.
2009-06-26 19:44:36 +00:00
Nicholas Marriott
81b4aca934
#ifndef nitems.
2009-06-26 15:31:15 +00:00
Nicholas Marriott
e225ce0fd7
#ifndef nitems to avoid redefining it if it is already in a header.
2009-06-25 22:08:15 +00:00
Nicholas Marriott
802e129fd7
Start of portability update: bitstring.h.
2009-06-25 17:02:59 +00:00
Nicholas Marriott
a9e3d5c56a
More diff-to-OpenBSD reduction. Move a lot of compat stuff into compat.h.
2009-06-25 16:47:00 +00:00
Nicholas Marriott
bb459beb03
Whitespace and more syncing.
2009-06-25 16:34:50 +00:00
Nicholas Marriott
6cde05147e
No more xmalloc-debug.
2009-06-25 16:25:15 +00:00
Nicholas Marriott
a5830b9603
Restore $Id$ and add script to do so.
2009-06-25 16:21:32 +00:00
Nicholas Marriott
1b9ac18565
tmux doesn't and won't need syslog logging, so remove it and some other unused
...
functions found by lint.
2009-06-25 16:09:25 +00:00
Nicholas Marriott
582660bdf3
Miscellaneous unused functions, including one which was basically a
...
duplicate. Found by lint.
2009-06-25 16:09:11 +00:00
Nicholas Marriott
62822b1848
Nuke unused buffer functions. Found by lint.
...
Also remove some old debug output which was #if 0.
2009-06-25 16:07:00 +00:00
Nicholas Marriott
f7a9eb46fc
Change find-window and monitor-content to use fnmatch(3). For convenience and
...
compatibility, *s are implicitly added at the start and end of the pattern.
2009-06-25 16:04:24 +00:00
Nicholas Marriott
853ad68162
Add a dedicated function to convert a line into a string and use it to simplify the search window function.
2009-06-25 16:02:37 +00:00
Nicholas Marriott
942ea4267d
Trying to predict the cursor position for UTF-8 output in the same way as for
...
normal eight-bit output is wrong, separate it into a different function. Fixes
spacing when mixing UTF-8 with some escape sequences, notably the way w3m does
it.
2009-06-25 16:01:26 +00:00
Nicholas Marriott
245685433e
Constify utf8_width() function argument.
2009-06-25 16:00:50 +00:00
Nicholas Marriott
1b245388b5
Proper support for tab stops (\033H etc), using a bitstring(3). Makes another
...
vttest test happy.
2009-06-25 15:54:38 +00:00
Nicholas Marriott
93631b3ca7
Implement the DEC alignment test. With the last change this is enough for the
...
first cursor test in vttest (in ports) to pass; it still shops a few more
problems though.
2009-06-25 15:51:54 +00:00
Nicholas Marriott
28bcf774e5
New session option, status-utf8, to control the interpretation of top-bit-set
...
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-25 15:48:25 +00:00
Nicholas Marriott
1e06ec41dc
Add a UTF-8 aware string length function and make UTF-8 in
...
status-left/status-right work properly. At the moment any top-bit-set
characters are assumed to be UTF-8: a status-utf8 option to configure this will
come shortly.
2009-06-25 15:47:07 +00:00
Nicholas Marriott
0828e06ad7
Nuke unused pane flag.
2009-06-25 15:46:09 +00:00
Nicholas Marriott
a7075f1c66
tmux doesn't and won't need syslog logging, so remove it and some other unused
...
functions found by lint.
Also move a couple of internal function declarations into file scope.
2009-06-25 06:23:10 +00:00
Nicholas Marriott
1675ddb4d1
Miscellaneous unused functions, including one which was basically a
...
duplicate. Found by lint.
2009-06-25 06:15:04 +00:00
Nicholas Marriott
ed8350422e
Nuke unused buffer functions. Found by lint.
...
Also remove some old debug output which was #if 0.
2009-06-25 06:05:47 +00:00
Nicholas Marriott
7e796dea03
Change find-window and monitor-content to use fnmatch(3). For convenience and
...
compatibility, *s are implicitly added at the start and end of the pattern.
Also display the line number and the entire line in the results, and lose the
nasty section_string function and the now empty util.c file.
Initially from Tiago Cunha.
2009-06-24 22:49:56 +00:00
Nicholas Marriott
096cbf2ea5
Add a dedicated function to convert a line into a string and use it to simplify the search window function.
2009-06-24 22:04:18 +00:00
Nicholas Marriott
2de599ac0e
Trying to predict the cursor position for UTF-8 output in the same way as for
...
normal eight-bit output is wrong, separate it into a different function. Fixes
spacing when mixing UTF-8 with some escape sequences, notably the way w3m does
it.
2009-06-24 16:01:02 +00:00
Nicholas Marriott
27cfa81110
Constify utf8_width() function argument.
2009-06-24 05:35:07 +00:00
Nicholas Marriott
d42fb43f4f
Proper support for tab stops (\033H etc), using a bitstring(3). Makes another
...
vttest test happy.
2009-06-04 18:48:24 +00:00
Nicholas Marriott
52ec9b9ec4
Implement the DEC alignment test. With the last change this is enough for the
...
first cursor test in vttest (in ports) to pass; it still shops a few more
problems though.
2009-06-03 23:30:40 +00:00
Nicholas Marriott
6521427a45
New session option, status-utf8, to control the interpretation of top-bit-set
...
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-03 16:54:26 +00:00
Nicholas Marriott
7d45e29683
Add a UTF-8 aware string length function and make UTF-8 in
...
status-left/status-right work properly. At the moment any top-bit-set
characters are assumed to be UTF-8: a status-utf8 option to configure this will
come shortly.
2009-06-03 16:05:46 +00:00
Nicholas Marriott
c5dbec9e85
When swapping pane positions, swap the PANE_HIDDEN flag as well, otherwise tmux
...
crashes when trying to find the new active pane.
While here, nuke an unused pane flag.
Fixes PR 6160, reported by and a slightly different version of diff tested by
ralf.horstmann at gmx.de.
2009-06-03 07:51:24 +00:00
Nicholas Marriott
35876eaab9
Import tmux, a terminal multiplexor allowing (among other things) a single
...
terminal to be switched between several different windows and programs
displayed on one terminal be detached from one terminal and moved to another.
ok deraadt pirofti
2009-06-01 22:58:49 +00:00
Nicholas Marriott
3a55871d04
Now in base.
2009-05-26 18:31:10 +00:00
Nicholas Marriott
6c442c19ba
UPPER -> BIG, sort, and bump protocol version.
2009-05-21 19:46:00 +00:00
Nicholas Marriott
6db7bd6791
Try to guess if the window is UTF-8 by outputting a three-byte UTF-8 wide character and seeing how much the cursor moves. Currently tries to figure out if this works by some stupid checks on the terminal, these need to be rethought. Also might be better using a width 1 character rather than width 2.
2009-05-19 16:08:35 +00:00
Tiago Cunha
80af85a102
- New window option monitor-content to search for a string in a window, and
...
highlight the status line if it matches.
- To make this possible, the function cmd_find_window_search from
cmd-find-window.c had to be moved to window.c and renamed window_pane_search.
- While there use three new functions in server.c to check for bell, activity,
and content, to avoid too much nesting.
2009-05-19 13:32:55 +00:00
Nicholas Marriott
6e4b947d71
New option main-pane-width to set width of pane in left-vertical mode.
2009-05-18 21:55:53 +00:00
Nicholas Marriott
404411f5e7
horizontal -> h, vertical -> v, to shorten some function names a little.
2009-05-18 21:29:11 +00:00
Nicholas Marriott
d601c42ea2
Behave properly when resize not supported.
2009-05-18 21:16:09 +00:00
Nicholas Marriott
5518b6138d
manual -> manual-vertical.
2009-05-18 21:06:16 +00:00
Nicholas Marriott
ab4e5e8574
Clean up manual layout code:
...
- change the one layout function into two _refresh and _resize
- create layout-manual.c for manual layout code
- move the fit panes/update panes code from window.c to the new file as it is only used by manual layout now
- move the resize pane code into layout-manual.c as well
- get rid of the direct calls to fit/update and make them go through layout
- rename a couple of variables
This is mainly as a first step before reworking the manual layout code to see if anything breaks.
2009-05-18 21:01:38 +00:00
Nicholas Marriott
1001902143
select-layout command and some key bindings.
2009-05-16 11:48:47 +00:00
Nicholas Marriott
03af7c99b5
Recreate server socket on SIGUSR1, per SF feature request 2792533.
2009-05-16 10:02:51 +00:00
Nicholas Marriott
cba338ac13
Keys in status line (p in vi mode, M-y in emacs) to paste the first line of the upper paste buffer. Suggested by Dan Colish.
2009-05-14 19:36:56 +00:00
Nicholas Marriott
96ca072482
clear-history command.
2009-05-14 16:56:23 +00:00
Nicholas Marriott
c8cf438d44
Rename all feature flags to HAVE_* and move out of makefiles into a configure
...
script which must be run before building.
Still two makefiles but they are a hell of a lot simpler.
HAVE_* also will make it easier to move to $buildsystem if necessary later.
2009-05-13 23:27:00 +00:00
Nicholas Marriott
792aeb926e
Use getopt.c from openssh rather than OpenBSD's getopt_long.
2009-05-13 22:20:48 +00:00
Nicholas Marriott
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +00:00
Nicholas Marriott
fb543c7707
Use ACS for line drawing characters.
2009-05-04 13:20:02 +00:00
Nicholas Marriott
9164dd63e7
Only worry about complete seconds for status line update. Also reduce poll interval and de-magic-number it.
2009-05-02 08:34:39 +00:00
Nicholas Marriott
044e6f7660
previous-layout command.
2009-04-30 21:17:06 +00:00
Nicholas Marriott
a6f2d82335
Use a (pre)randomised binary tree for UTF-8 character widths. Probably overkill
...
but meh.
2009-04-30 20:54:53 +00:00
Nicholas Marriott
a583bbb730
Display the layout name in window lists.
2009-04-30 16:27:29 +00:00
Nicholas Marriott
cdf472f2de
Merge resize-pane-{up,down} into resize-pane.
2009-04-30 06:01:24 +00:00
Nicholas Marriott
cc9cc1aea8
Some tweaks for Solaris.
...
Get rid of vis.* in favour of a small replacement function.
2009-04-29 22:25:20 +00:00
Nicholas Marriott
f0a716f484
Use a u_char so top-bit-set update the cursor as well.
2009-04-29 17:50:52 +00:00
Nicholas Marriott
5d1b6888dc
Convert hidden flag to a full flags word for the status line and add a flag to
...
accept after only one key. Use this so don't need to press enter after y/n for
confirm-before.
2009-04-27 17:27:36 +00:00
Nicholas Marriott
d8a35ffa50
Perform some black and midnight cpp witchcraft to get rid of GRID_DEBUG, to fix
...
building with -DDEBUG on gcc2 platforms. From joshe.
2009-04-27 14:51:59 +00:00
Tiago Cunha
058772e4e6
- confirm-before command.
...
- Bound "&" and "x" by default to confirm-before "kill-window" and
confirm-before "kill-pane", respectively.
2009-04-27 13:21:16 +00:00
Nicholas Marriott
5fbdca890a
Use the xenl terminfo flag to detect early-wrap terminals like the FreeBSD
...
console. Many thanks for a very informative email from Christian Weisgerber.
2009-04-23 21:09:17 +00:00
Nicholas Marriott
325d43e417
rotate-window command.
2009-04-03 17:21:46 +00:00
Nicholas Marriott
8216f7b3d9
swap-pane command.
2009-04-02 23:28:16 +00:00
Nicholas Marriott
dbf52facd2
Change scroll/pane redraws to only redraw the single pane affected rather than
...
the entire window.
2009-04-02 21:08:15 +00:00
Nicholas Marriott
84cde92c8f
If redrawing the region would mean redrawing > half the pane, just schedule to
...
redraw the entire window. Also add a flag to skip updating the window any
further if it is scheduled to be redrawn. This has the effect of batching
multiple redraws together.
2009-04-02 20:30:23 +00:00
Nicholas Marriott
91bc6836f7
- Allow switching to hidden windows (for active-only layout).
...
- Don't update unnecessarily for other layouts when changing active pane doesn't matter.
2009-04-01 21:10:08 +00:00
Nicholas Marriott
b6450b167b
Basic horizontal splitting and layout management. Still some redraw and other
...
issues - particularly, don't mix with manual pane resizing and be careful when
viewing from multiple clients; generally cycling the layout a few times will
fix most problems. Getting this in for testing while I think about how to deal
with manual mode.
Split window as normal and cycle the layouts with C-b space. Some of the
layouts will work better when swap-pane comes along.
2009-04-01 18:21:42 +00:00
Nicholas Marriott
d13add828a
More AIX tweaks.
2009-03-31 22:08:45 +00:00
Nicholas Marriott
23fef99009
8 -> UTF8_SIZE.
2009-03-29 11:18:28 +00:00
Nicholas Marriott
cf7b384c43
Better UTF-8 support, including combined characters. Unicode data is now stored
...
as UTF-8 in a separate array, the code does a lookup into this every time it
gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8
data for the previous cell. This also means that almost no bytes extra are
wasted non-Unicode data (yay).
Still some oddities, such as copy mode skips over wide characters in a strange
way, and the code could do with some tidying.
2009-03-28 20:17:29 +00:00
Nicholas Marriott
34dd72f008
_fill functions are no longer needed. Nuke them.
2009-03-28 16:57:03 +00:00
Nicholas Marriott
abf170d6d0
Whoops. Missed a few changes.
2009-03-28 16:55:46 +00:00
Nicholas Marriott
6c0728fe07
Step 2 of the Grand Plan To Make UTF-8 Better.
...
Split grid into two arrays, one containing grid attributes/flags/colours (keeps
the name grid_cell for now) and a separate with the character data (called
text). The text is stored as a u_short but is treated as a uint64_t elsewhere;
eventually the grid will have two arrays.
I'm not happy with the naming so that might change.
Still need to decide where to go from here. I'm not sure whether to combine
the peek/set functions together, and also whether to continue to treat the
text as a uint64_t (and convert to/from Unicode) or make it a char array
(of size one when UTF-8 disabled, eight when enabled) and keep everything
as UTF-8.
Also since UTF-8 will eventually become an attribute of the grid itself it
might be nice to move all the padding crap into grid.c.
2009-03-28 16:30:05 +00:00
Nicholas Marriott
989d67ccd7
struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better.
2009-03-28 15:43:41 +00:00
Nicholas Marriott
cb2ac5c269
Key repeating is now a property of the key binding not of the command. Repeat
...
is turned on when the key is bound with the -r flag to bind-key. next/previous-
window no longer repeat by default as it turned out to annoy me.
2009-03-28 14:08:09 +00:00
Nicholas Marriott
587badecdb
Clear using ED when redrawing the screen. I foolishly assumed using spaces
...
would be equivalent and terminals would pick up on this, but apparently
not. This fixes copy and paste in xterm/rxvt.
2009-03-28 10:15:01 +00:00
Nicholas Marriott
a7f57773b7
Not const.
2009-03-27 17:04:04 +00:00
Nicholas Marriott
f6001f9ffc
Whoops. Didn't mean to commit this yet.
2009-03-27 16:44:51 +00:00
Nicholas Marriott
b97264bb70
Update TODO.
2009-03-27 16:44:00 +00:00
Nicholas Marriott
be0c79f3ad
Sockets in /tmp are now created in a subdirectory named, tmux-UID, eg
...
tmux-1000. The default socket is thus /tmp/tmux-UID/default. To start a
separate server, the new -L command line option should be used: this creates a
socket in the same directory with a different name ("-L main" will create
socket called "main"). -S should only be used to place the socket outside
/tmp. This makes sockets a little more secure and a bit more convenient to use
multiple servers.
2009-03-27 15:57:10 +00:00
Nicholas Marriott
f5f04a9344
* New session flag "set-remain-on-exit" to set remain-on-exit flag for new windows created in that session (like "remain-by-default" used to do). Not perfectly happy about this, but until I can think of a good way to introduce it generically (maybe a set of options in the session) this will do. Fixes SF request 2527847.
2009-03-21 12:44:06 +00:00
Nicholas Marriott
e6d35b6aa4
Support for 88 colour terminals.
2009-03-07 10:29:06 +00:00
Nicholas Marriott
56f80a5b09
break-pane command to split a pane off into a new window; bound to ! by default.
2009-03-07 09:29:54 +00:00
Nicholas Marriott
65b9aeb337
Put socket path in $TMUX.
2009-03-04 17:24:07 +00:00
Nicholas Marriott
171256057e
Extra function keys from Dashing dashing at hushmail dot com
2009-03-02 18:05:40 +00:00
Nicholas Marriott
57f5f44d0f
Sort out escape key handling so it works.
2009-03-02 16:55:23 +00:00
Nicholas Marriott
afd67ce89f
Allow selection in vi mode.
2009-02-21 17:46:13 +00:00
Nicholas Marriott
95c8c049f5
Redo mode keys slightly more cleanly and apply them to command prompt editing. vi or emacs mode is controlled by the session option status-keys.
2009-02-13 21:39:45 +00:00
Nicholas Marriott
0450b4a5d4
Move status prompt/message init and teardown into status.c.
2009-02-13 18:57:55 +00:00
Nicholas Marriott
cce03e138b
Looking up argv[0] is expensive, so just use p_comm for the window name which is good enough. Also increase name update time to 500 ms.
2009-02-13 00:43:04 +00:00
Nicholas Marriott
959eeef505
FreeBSD's console wraps lines at $COLUMNS - 1 rather than $COLUMNS (the cursor can never be beyond $COLUMNS - 1) and does not appear to support changing this behaviour, or any of the obvious possibilities (turning off right margin wrapping, insert mode). This is irritating, most notably because it impossible to write to the very bottom-right of the screen without scrolling. To work around this, if built on FreeBSD and run with a "cons" $TERM, the bottom-right cell on the screen is omitted.
2009-02-11 23:16:45 +00:00
Nicholas Marriott
6c76aaca92
Lose unnecessary cursor restores, fix a couple of placement bugs and remove unused CR.
2009-02-11 18:44:08 +00:00
Nicholas Marriott
03d531ebc6
Move sx,sy into tty rather than client.
2009-02-11 17:50:36 +00:00
Nicholas Marriott
514fe11727
We are going to need the updated screen data for emulating the scroll region,
...
which may involve changing the cursor position; however, the old (before
redraw) cursor position is necessary for writing to the tty. So, save it before
doing the redraw then update the internal screen then update the tty.
Not sure I like this solution but it does the job for now.
2009-02-11 17:04:39 +00:00
Nicholas Marriott
91c9d95279
Change tty_cmd_* to use a window_pane.
2009-02-11 07:02:34 +00:00
Nicholas Marriott
e444b0b92a
Split most of tty_cmd_cell off to tty_cell. First step on making tty_cmd_* take
...
a window_pane for later use emulating scroll region.
2009-02-11 06:50:16 +00:00
Nicholas Marriott
c6be7d3ee6
Simplify screen/tty write code to eliminate function pointer which is now
...
unnecessary (it always does the same thing).
2009-02-11 06:31:09 +00:00
Nicholas Marriott
b37399304f
Don't redraw status line unless it has actually changed. Stops extraneous
...
updates between clock/#() changes and doesn't require manual status-interval 0
when no updates are occuring.
2009-02-10 00:18:06 +00:00
Nicholas Marriott
c9cfc9a9f3
Don't try to change the window name unless the pid of the process chosen has
...
changed. Reduces CPU use.
osdep-* stuff is a bit horrible now but there we go :-/.
2009-02-09 18:08:01 +00:00
Nicholas Marriott
9d90d9ad70
Increase name refresh interval to 250 ms to reduce CPU use.
2009-02-09 16:11:26 +00:00
Nicholas Marriott
62d2ab3e68
Continue process if suspended.
2009-02-08 16:11:26 +00:00
Tiago Cunha
4213ff8faa
copy-buffer command.
2009-02-03 17:21:19 +00:00
Nicholas Marriott
882316ad6a
Set colour of window entry in status line based on window options.
2009-01-30 00:24:49 +00:00
Nicholas Marriott
2bf9f4973b
Undo this and just shut lint up.
2009-01-29 19:26:53 +00:00
Nicholas Marriott
6ad0d2ab4a
Nuke debugging.
2009-01-29 19:24:34 +00:00
Nicholas Marriott
4428987e95
* Better support for at least the most common variant of mouse input: parse it and adjust for different panes. Also support mouse in window/session choice mode.
...
* Bring back the fancy window titles with session/window names: it is easy to work around problems with elinks (see FAQ).
2009-01-28 19:52:21 +00:00
Nicholas Marriott
2af52440ba
-u to start with screen scrolled up.
2009-01-27 23:35:44 +00:00
Nicholas Marriott
c1726281c9
Handle cursor on/off better.
2009-01-27 21:39:15 +00:00
Nicholas Marriott
c6bd9e2063
Allow status, mode and message attributes to be changed by three new options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink
...
From Josh Elsasser, thanks!
2009-01-27 20:22:33 +00:00
Nicholas Marriott
9cde0c2477
Be more clever about picking window name.
2009-01-26 22:57:20 +00:00
Tiago Cunha
f62ed6aaa3
load-buffer command
2009-01-25 19:00:10 +00:00
Tiago Cunha
d60ad6f483
Make the caller responsible for allocating memory for the paste buffer data
...
(needed by the load-buffer command when dealing with big files since it'll
prevent tmux from dying due to memory exhaustion). From nicm.
2009-01-25 18:51:28 +00:00
Nicholas Marriott
4d9af27b0b
Better error messages for fork.
2009-01-23 16:59:14 +00:00
Nicholas Marriott
392e135349
Handle SIGTERM (and kill-server which uses it), a bit more neatly - tidy up
...
properly and print a nicer message. Same effect though :-)
2009-01-21 22:47:31 +00:00
Nicholas Marriott
19987feaaa
Bring back -p and -l to splitw to specify height as % or nlines.
2009-01-21 19:38:51 +00:00
Nicholas Marriott
2d15f59859
Try to change the window title to match the command running it in. This is done
...
by reading argv[0] from the process group leader of the group that owns the tty
(tcgetpgrp()). This can't be done portably so some OS-dependent code is
introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment.
A new window flag, automatic-rename, is available: if this is set to off, the
window name is not changed. Specifying a name with the new-window, new-session
or rename-window commands will automatically set this flag to off for the
window in question. To disable it entirely set the option to off globally (setw
-g automatic-rename off).
2009-01-20 19:35:03 +00:00
Nicholas Marriott
5e55b28d81
Bump protocol.
2009-01-19 18:26:50 +00:00
Nicholas Marriott
93230a64bc
Pass return code from _exec; allow command sequences to work from the command line.
2009-01-19 18:23:40 +00:00
Nicholas Marriott
5f6a351df7
Start the first client with a special socketpair so it is already known to the
...
server rather than playing silly games to get them synchronised before doing
anything.
Change attach-session to start the server.
2009-01-19 17:16:09 +00:00
Nicholas Marriott
4cdc228353
Unbreak UTF-8.
2009-01-18 21:46:30 +00:00
Nicholas Marriott
d1a5fde3d0
-a flags to next/previous window.
2009-01-18 18:31:45 +00:00
Nicholas Marriott
3efd1f5014
find-window command.
2009-01-18 17:20:52 +00:00
Nicholas Marriott
a15f8fc4a6
Support command sequences separated by " ; ". Also clean up command printing.
2009-01-18 14:40:48 +00:00
Nicholas Marriott
8ea49712fd
suspend-client command and suspend client when ^Z key binding is used.
2009-01-18 12:09:42 +00:00
Nicholas Marriott
ff61eee294
Don't use [4] since they are confusing and use the right size for memset. DOH.
2009-01-17 18:38:12 +00:00
Nicholas Marriott
d29ca39e0e
Two new commands, choose-window and choose-session which work only when bound to a key and allow the window or session to be selected from a list.
2009-01-15 19:27:31 +00:00
Nicholas Marriott
78c96751e6
Rename some flags I'm not happy about.
2009-01-14 22:16:57 +00:00
Nicholas Marriott
97fef895f2
Rework the prefix-time stuff. The option is now call repeat-time and defaults to 500 ms. However, it only applies to a small subset of commands, currently: up-pane, down-pane, next-window, previous-window, resize-pane-up, resize-pane-down. These are the commands for which it is obviously useful, having it for everything else was just bloody annoying.
2009-01-14 22:13:30 +00:00
Nicholas Marriott
d1eb153368
switch-pane is now select-pane.
2009-01-14 19:56:55 +00:00
Nicholas Marriott
3f51dcdfc3
up-pane and down-pane commands.
2009-01-14 19:41:15 +00:00
Nicholas Marriott
b4ac8c1342
Multiple window splitting.
2009-01-14 19:29:32 +00:00
Nicholas Marriott
f85559144f
kill-pane command.
2009-01-13 06:50:10 +00:00
Nicholas Marriott
60bfaf5bae
prefix-time option to allow multiple commands without additional prefixes.
2009-01-12 23:37:02 +00:00
Nicholas Marriott
a88eba3805
More hacks for key handling.
2009-01-12 22:48:00 +00:00
Nicholas Marriott
c35a50b21a
Commands to resize panes; also a pane generic cmd, not used yet.
2009-01-12 19:23:14 +00:00
Nicholas Marriott
7cd3cf0ead
Make the window pane code handle panes of different sizes, and add a -l and -p arguments to split-window to specify the new window size in lines or as a percentage.
2009-01-12 18:22:47 +00:00
Nicholas Marriott
6897510552
Codes no longer needed.
2009-01-11 23:41:29 +00:00
Nicholas Marriott
162bacdcd9
Window splitting. Two vertical panes fixed 50% each. This is a huge diff, still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2009-01-11 23:31:46 +00:00
Nicholas Marriott
d78bc5dfc4
save-buffer command, from Tiago Cunha.
2009-01-11 23:14:57 +00:00
Nicholas Marriott
e3feb067a5
Server locking. set-password and lock-server commands, plus automatic locking.
2009-01-11 00:48:42 +00:00
Nicholas Marriott
ee0a7cda88
Restore emulation of ich with insert mode.
2009-01-10 22:28:40 +00:00
Nicholas Marriott
4d71164826
Pick up cwd from environment,.
2009-01-10 19:37:35 +00:00
Nicholas Marriott
88ab74ac20
Clock mode.
2009-01-10 19:35:40 +00:00
Nicholas Marriott
8253e68c79
Oops, missed from btab commit.
2009-01-10 18:37:08 +00:00
Nicholas Marriott
312633203d
Support btab.
2009-01-10 18:28:09 +00:00
Nicholas Marriott
fd05d07c2b
Change server-info format.
2009-01-10 14:43:43 +00:00
Nicholas Marriott
a1b43faa43
Trim spaces.
2009-01-10 01:51:22 +00:00
Nicholas Marriott
fb6c8ecae6
New command, server-info, to show server info + terminal details. Also tweak term stuff a bit.
2009-01-10 01:30:38 +00:00
Nicholas Marriott
3ed5aa3e72
Build array of codes, stop using ncurses global variables and push ncurses crap into tty-term.c.
2009-01-09 23:57:42 +00:00
Nicholas Marriott
ed1031b358
Update key handling code. Simplify, support ctrl properly and add a new window option (xterm-keys) to output xterm key codes including ctrl and, if available, alt and shift.
2009-01-09 16:45:58 +00:00
Nicholas Marriott
622d4def22
Give up the farce of caring about any keys aside from the ones in the screen termcap and the ones termcap doesn't handle that we hardcode manually.
2009-01-08 22:28:02 +00:00
Nicholas Marriott
4846ad1657
Introduce nitems() and use it; use bsearch.
2009-01-07 22:52:33 +00:00
Nicholas Marriott
18312fa6fd
Some options tidying/code shrinkage. Also add -u option to unset non-global options (allowing them to inherit), and some extra info.
2009-01-07 19:53:17 +00:00
Nicholas Marriott
4af8db90e8
Complete option names as well.
2009-01-06 17:04:56 +00:00
Nicholas Marriott
9cddd796ff
Prompt history.
2009-01-06 15:37:15 +00:00
Nicholas Marriott
ca1ee21702
Switch to splay tree for key bindings.
2009-01-06 14:10:32 +00:00
Nicholas Marriott
5445918b3e
source-file command from Tiago Cunha.
2008-12-15 21:21:56 +00:00
Nicholas Marriott
75f043fedb
Work around lack of dch.
2008-12-13 17:41:49 +00:00
Nicholas Marriott
5c3d973a4a
Import OpenBSD's getopt(3) to workaround broken glibc version.
2008-12-10 20:25:42 +00:00
Nicholas Marriott
7a82e86827
Make window options work the same was as session options, add mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-12-08 16:19:51 +00:00
Nicholas Marriott
d0342f4a04
Ability to show window title on status line.
2008-12-05 20:04:06 +00:00
Nicholas Marriott
8bef3adc83
Fix build on sparc.
2008-11-23 19:38:12 +00:00
Nicholas Marriott
cb3f4ed6fe
Bump NSETOPTION.
2008-11-17 18:56:36 +00:00
Nicholas Marriott
5ca710d9e3
Disable UTF-8 by default and add options to enable it.
2008-11-16 13:28:59 +00:00
Nicholas Marriott
46f5e42145
Keep stack of previous windows.
...
Check for op (orig_pair) for default colours.
2008-11-16 10:10:26 +00:00
Nicholas Marriott
4198a9c376
TAILQ -> SLIST.
2008-11-05 01:19:24 +00:00
Nicholas Marriott
6304e23984
Record intermediate for p2/s2 and fake up charset redefinition (some programs use it to switch character set).
2008-11-04 20:41:10 +00:00
Nicholas Marriott
0ba0fd389c
Translate 256 colours to 16.
2008-10-09 22:00:33 +00:00
Nicholas Marriott
185f7297e8
Better OSC support for title setting, and support APC as well.
2008-10-09 21:22:16 +00:00
Nicholas Marriott
62457bce0b
Trim.
2008-09-26 06:45:28 +00:00
Nicholas Marriott
df2b3bcf44
Fix stupid GNU getopt behaviour.
2008-09-25 23:28:15 +00:00
Nicholas Marriott
efe557313a
Internal screen data rewrite for better 256 colour/UTF-8 support.
2008-09-25 20:08:57 +00:00
Nicholas Marriott
f07cedf048
Rename some functions.
2008-09-10 19:15:06 +00:00
Nicholas Marriott
ded348064a
Split colour functions from screen.
2008-09-10 18:59:29 +00:00
Nicholas Marriott
19a2c87f04
Initial UTF-8 support.
2008-09-09 22:16:37 +00:00
Nicholas Marriott
d4173e2a78
Style tweaks.
2008-09-08 22:18:03 +00:00
Nicholas Marriott
6674197e85
Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits (ick) onto the attributes and using two of them to mark the fg and bg as 256 colours when necessary. If only it was 255 colours we would have one value for default and wouln't need this :-/.
2008-09-08 22:03:56 +00:00
Nicholas Marriott
4235ddb4e8
Initial 256 colour support, lightly tested.
2008-09-08 17:40:51 +00:00
Nicholas Marriott
33aa931541
Support OS X by moving to gettimeofday(2) and adding poll compat from OpenSSH.
2008-08-28 17:45:30 +00:00
Nicholas Marriott
8ed403e309
Tidy logging and lose stdout hacks for _info.
2008-08-08 17:35:42 +00:00
Nicholas Marriott
de0e1c6284
Lose ensure* stuff.
2008-08-07 20:20:52 +00:00
Nicholas Marriott
ba597da72e
Environment variables in configuration file.
2008-07-25 17:20:40 +00:00
Nicholas Marriott
c39c1618c7
Spacing.
2008-07-24 22:21:28 +00:00
Nicholas Marriott
3337dfcae5
Support keypad mode, and get rid of SCREEN_DEF*. Meant to commit these separately but forgot :-/.
2008-07-24 21:42:40 +00:00
Nicholas Marriott
97212771b5
Support keypad. Change cursor key output.
2008-07-23 23:44:50 +00:00
Nicholas Marriott
892d1b534e
Split emacs/vi keys into seperate tables.
2008-07-02 21:22:57 +00:00
Nicholas Marriott
e5cf8594e8
long for pid.
2008-07-01 20:35:16 +00:00
Nicholas Marriott
dd41035a4d
Protocol versioning, version is checked on identify message.
2008-07-01 19:47:02 +00:00
Nicholas Marriott
797f04b648
Document buffer stuff.
2008-06-30 05:34:06 +00:00
Nicholas Marriott
d90d646ca8
Zombie windows, requested by Will Maier.
2008-06-29 07:04:31 +00:00
Nicholas Marriott
b87789707b
Oops, forgot to commit move-window. Also add select-prompt to allow index to be typed.
2008-06-25 20:43:14 +00:00
Nicholas Marriott
7836298f29
Allow use of alt keys. move-window command.
2008-06-25 20:33:20 +00:00
Nicholas Marriott
758efb3947
Handle escaped keys properly and use M-f/M-b in copy mode.
2008-06-25 07:30:08 +00:00
Nicholas Marriott
59da4dce67
list-commands command.
2008-06-23 22:24:16 +00:00
Nicholas Marriott
b69f4a3312
Split internal status-colour into status-fg/status-bg options and lose workarounds in set-option stuff.
2008-06-23 22:12:29 +00:00
Nicholas Marriott
c24d849fa4
Split options into a table to allow abbreviations.
2008-06-23 07:41:21 +00:00
Nicholas Marriott
09a6b8d9c8
timespecadd, fgetln headers.
2008-06-22 22:20:07 +00:00
Nicholas Marriott
a52be0e194
More missing bits from Solaris.
2008-06-22 21:52:41 +00:00
Nicholas Marriott
46383e33f8
Don't be clever and translate default colour.
2008-06-22 16:54:08 +00:00
Nicholas Marriott
e70e9513a8
Simple tab completion of option names in command prompt.
2008-06-21 14:11:39 +00:00
Nicholas Marriott
2bd92e5f18
Lose unnecessary flags on context.
2008-06-21 10:19:36 +00:00
Nicholas Marriott
3128de3f19
buffer-limit option.
2008-06-20 18:45:35 +00:00
Nicholas Marriott
4e4f71febb
Swap in new paste buffer code and add a couple more commands.
2008-06-20 17:31:48 +00:00
Nicholas Marriott
9798dcd4df
Start of improved buffer code. Only set-buffer/show-buffer commands so far.
2008-06-20 08:36:20 +00:00
Nicholas Marriott
17fde823a8
Freeze output when showing display line, fixes problems when no status line.
2008-06-20 06:36:01 +00:00
Nicholas Marriott
7cebf4768b
Hide cursor with flag.
2008-06-19 23:07:11 +00:00
Nicholas Marriott
74d8f0bf1d
Command prompt for interactive commands.
2008-06-19 20:45:21 +00:00
Nicholas Marriott
c3b7a49cc1
Editable prompt. Not used for anything yet. More to come.
2008-06-19 19:40:35 +00:00
Nicholas Marriott
9ef5bdc7c0
Show status messages without blocking the server.
2008-06-19 18:27:55 +00:00
Nicholas Marriott
9b0ff4cfc0
More Solaris stuff. Use ttyname, use ncurses,h.
2008-06-18 20:58:03 +00:00
Nicholas Marriott
b7cefe4b6e
NO_ASPRINTF.
2008-06-18 20:12:19 +00:00
Nicholas Marriott
be53d7f298
More Sun OS crap.
2008-06-18 20:11:25 +00:00
Nicholas Marriott
0d5ad358ae
forkpty for Sun OS.
2008-06-18 19:52:29 +00:00
Nicholas Marriott
fed1a3ba8a
compat/daemon.c
2008-06-18 19:36:27 +00:00
Nicholas Marriott
19b7946a85
Start of Solaris port.
2008-06-18 19:34:50 +00:00
Nicholas Marriott
8873c79cbc
Set window title to current session. New options set-titles to disable.
2008-06-18 18:52:44 +00:00
Nicholas Marriott
55d5b83408
Informational messages on window option changes.
2008-06-16 17:35:40 +00:00
Nicholas Marriott
1d0810547f
show-window-options command.
2008-06-16 06:10:02 +00:00
Nicholas Marriott
557b6b86b0
Add a couple of extra option types, and implement show-options command.
2008-06-15 08:01:54 +00:00
Nicholas Marriott
0f403474aa
New window options: force-width and force-height. This will force a window to
...
an arbitrary width and height (0 for the default unlimited). This is neat for
emacs which doesn't have a sensible way to force hard wrapping at 80
columns. Also, don't try to be clever and use clr_eol when redrawing the
whole screen, it causes trouble since the redraw functions are used to draw
the blank areas too.
2008-06-14 16:47:20 +00:00
Nicholas Marriott
62d7ad2690
Clear blank area properly on redraw, and add a marker line below it.
2008-06-14 12:05:06 +00:00
Nicholas Marriott
d51f075a4e
Use a socketpair to synchronise server startup.
2008-06-07 07:27:28 +00:00
Nicholas Marriott
958069575d
Clear clients with flag too.
2008-06-07 07:13:08 +00:00
Nicholas Marriott
77224aaf8b
Be more conservative about redrawing using flags.
2008-06-07 06:47:38 +00:00
Nicholas Marriott
367e002bc2
New flag: aggressize resize. Resize window when to size of smallest session for which it is _current_ window.
2008-06-06 20:02:27 +00:00
Nicholas Marriott
3cd4a08ffb
Make server exit when last session dies. Also fix window check for status activity redraw.
2008-06-06 17:55:27 +00:00
Nicholas Marriott
6a187bb8d3
Some Linux fixes; some code tidying. Don't redraw status bar so often.
2008-06-06 17:20:30 +00:00
Nicholas Marriott
0b9b873a55
Big reorganisation of command-line syntax.
2008-06-05 21:25:00 +00:00
Nicholas Marriott
642c0b00ab
Easy bits of arg printing for list-keys.
2008-06-05 16:35:32 +00:00
Nicholas Marriott
7842d29673
Revert attempt to fix stray updates, turns out it was clock :-/.
2008-06-04 19:20:10 +00:00
Nicholas Marriott
39be570b20
vi keys from Will Maier.
2008-06-04 18:50:35 +00:00
Nicholas Marriott
0f95671fe3
Disable/enable window activity monitoring with set-window-option command.
2008-06-04 17:54:27 +00:00
Nicholas Marriott
14b9512546
Add activity monitoring, also invert items on taskbar which have activity.
2008-06-04 16:46:23 +00:00
Nicholas Marriott
f7ba4dfdc9
Bring select-window into line with everything else wrt -i.
2008-06-04 16:11:53 +00:00
Nicholas Marriott
811e75da52
Status bar left and right strings (set with status-left and status-right), and automatic update (at interval set by status-interval).
2008-06-04 05:40:35 +00:00
Nicholas Marriott
9e6090a7a2
Per-session configuration options.
2008-06-03 21:42:37 +00:00
Nicholas Marriott
73c9b25d2d
It is too easy to create things in the same second; use a timespec instead.
2008-06-03 18:13:54 +00:00
Nicholas Marriott
743956edf8
Allow -c anywhere -s was allowed.
2008-06-03 16:55:09 +00:00
Nicholas Marriott
f91e7bfd38
If no command is specified, assume new-session.
2008-06-03 05:35:51 +00:00
Nicholas Marriott
eaee4dc800
Quick and dirty kill-server command.
2008-06-03 05:10:38 +00:00
Nicholas Marriott
8731755ab4
Add a windowonly generic command and use it where appropriate. Also trim includes and unused.
2008-06-02 22:09:49 +00:00
Nicholas Marriott
95cc21c251
Quick man page update, also fix some usages and get rid of some CMD_KEY checks.
2008-06-02 21:36:51 +00:00
Nicholas Marriott
a26f58c7c3
Last bits of basic configuration file. By default in ~/.tmux.conf or specified with -f. Just a list of tmux commands executed when the server is started and before and any session/window is created.
2008-06-02 21:08:36 +00:00
Nicholas Marriott
c7243b73cb
Move -s and -c down a level so handling them is the responsibility of the command (with some helper functions), rather than the top-level. This changes the action command syntax so that -s and -c must be after the command rather than before.
2008-06-02 18:08:17 +00:00
Nicholas Marriott
65f4284e7f
New command, send-keys, to send a set of keys.
2008-06-01 20:20:25 +00:00
Nicholas Marriott
abe745f991
Add limits.h
2008-05-31 18:04:57 +00:00
Nicholas Marriott
205b78ec58
Some key tweaks, fix status bar to not rely on attr.
2008-01-03 21:32:11 +00:00
Nicholas Marriott
21d10e6894
Use the current attr/colours for filling in new areas, this fixes the echo \\033[35\;46m\\033[2J bug.
2007-12-06 21:57:57 +00:00
Nicholas Marriott
2bc8108b3e
Save term data in a linked list and reuse it.
2007-12-06 18:28:55 +00:00
Nicholas Marriott
8ec9b07c83
Screen debugging.
2007-12-06 10:36:01 +00:00
Nicholas Marriott
7dc18f68e3
set/reset mode window functions.
2007-12-06 10:04:43 +00:00
Nicholas Marriott
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
Nicholas Marriott
8419e99789
The tty code already stores attributes and doesn't modify them if unaltered, so the screen drawing code doesn't need to do so too. This probably also fixes bugs when switching screens where the actual tty attributes may not have been what the draw code (erroneously) expected.
2007-12-02 18:23:10 +00:00
Nicholas Marriott
3962c5f706
Change window name on \ek...\e\.
2007-11-30 11:08:35 +00:00
Nicholas Marriott
043514a834
Preliminary mouse support.
2007-11-27 23:28:51 +00:00
Nicholas Marriott
f47ab8f13f
Don't nuke charset flag on [0m. Also rename DRAWING -> CHARSET flag.
2007-11-27 23:01:27 +00:00
Nicholas Marriott
7034ba236f
Same exit process applied to detach.
2007-11-27 20:03:08 +00:00
Nicholas Marriott
5cd1d459c5
Three-stage exit process so that [] message printing works on detach etc.
2007-11-27 20:01:30 +00:00
Nicholas Marriott
80e30f693c
Minor tweaks/missed bits.
2007-11-27 19:32:15 +00:00
Nicholas Marriott
76c8a590db
Big internal reorganisation to move tty control into parent.
2007-11-27 19:23:34 +00:00
Nicholas Marriott
15511cb41a
Support for VT100 graphics mode. Also lose some redundant checks.
2007-11-24 23:29:49 +00:00
Nicholas Marriott
b9034946ad
Reset before calling window_draw otherwise it'll have the wrong idea of the current state (since it copies from screen).
2007-11-24 18:32:52 +00:00
Nicholas Marriott
8da0b1fb99
Mostly-complete copy and paste.
2007-11-23 17:52:54 +00:00
Nicholas Marriott
9c584432d0
history-limit option.
2007-11-23 12:48:20 +00:00
Nicholas Marriott
26c8303733
Tidier code by moving mess into functions.
2007-11-22 19:40:17 +00:00
Nicholas Marriott
7ab0b466fe
Text selection with C-space.
2007-11-22 19:17:01 +00:00
Nicholas Marriott
18d72e6928
Partial copy mode. Currently does the same as scroll mode but using a cursor. Also fix bug where resizing would leave crap lying around.
2007-11-22 18:09:43 +00:00
Nicholas Marriott
df7be0ddab
Split SCREEN_BACKGROUND flag into BACKGROUND/NOCURSOR in preparation for copy mode.
2007-11-22 09:11:20 +00:00
Nicholas Marriott
c64cf68244
Cut memory consumption by only allocating lines when there is actually data on them, and only as much as the right-most data. Everything else is filled in at runtime.
2007-11-21 22:20:44 +00:00
Nicholas Marriott
ce90f1bddb
The CLIENT_HOLD hack can go bye-bye.
2007-11-21 20:04:37 +00:00
Nicholas Marriott
d0984b890b
Sort out cursors with a new flag - BACKGROUND - for window modes. Free text on more exit.
2007-11-21 19:53:57 +00:00
Nicholas Marriott
acb3661b66
Scrollable win for command output.
2007-11-21 19:44:05 +00:00
Nicholas Marriott
24c39950ff
Redo screen.c functions to make them readable and more flexible. Make scroll mode only redraw waht it needs.
2007-11-21 18:24:49 +00:00
Nicholas Marriott
d5edaf988e
Horizontal history/scrolling.
2007-11-21 15:35:53 +00:00
Nicholas Marriott
c424ef37d0
Scroll data should be per-window not global.
2007-11-21 14:01:53 +00:00
Nicholas Marriott
9a6e47cfa8
Initial history support.
2007-11-21 13:11:41 +00:00
Nicholas Marriott
ceab127fac
Mass screen.c rename/tidy. Add a actual size (ysize) as distinct from display size (now dx,dy). Move functions which work on the displayed area into screen-display.c and tidy. Use macros consistently when accessing screen data (may want to move everything about again later!). This the first step on the road to scrollback.
2007-11-20 21:42:29 +00:00
Nicholas Marriott
0be6a3041f
Style: ry_* -> r*
2007-11-20 18:46:32 +00:00
Nicholas Marriott
c0572ea992
Fix a format string bug and sprinkle some printflikes.
2007-11-20 18:11:37 +00:00
Nicholas Marriott
6e04524596
switch-client command.
2007-11-16 21:31:03 +00:00
Nicholas Marriott
b359f9b594
Add -c option to specify client, and move detach/refresh to client rather than session.
2007-11-16 21:12:31 +00:00
Nicholas Marriott
4309d65475
realpath the socket path; also sprinkle some const.
2007-11-12 15:12:08 +00:00
Nicholas Marriott
e4a6cdefda
kill-window command.
2007-11-12 14:21:41 +00:00
Nicholas Marriott
16321270c8
rename-session command.
2007-11-09 11:02:01 +00:00
Nicholas Marriott
08d9f46aae
Make it build/run on Linux.
2007-10-31 14:26:26 +00:00
Nicholas Marriott
48ad0431fb
swap-window command.
2007-10-30 11:10:33 +00:00
Nicholas Marriott
ab097f0c0c
Don't save/restore ry_*.
2007-10-26 17:15:50 +00:00
Nicholas Marriott
4a325c8f93
unlink-window command. Also fix some u_int -> int problems.
2007-10-26 16:57:32 +00:00
Nicholas Marriott
5a954bd9bd
link-window command to link a window into another session.
2007-10-26 13:03:59 +00:00
Nicholas Marriott
4ba3cf60be
Reorg window data structures. Add an intermediate data type (struct winlink) to hold index and make sessions hold a RB tree of them rather than a fixed array.
2007-10-26 12:29:07 +00:00
Nicholas Marriott
9f06104c3a
has-session command.
2007-10-25 17:44:25 +00:00
Nicholas Marriott
4df168c986
Use local var and pull screen out of ictx.
2007-10-24 15:40:59 +00:00
Nicholas Marriott
ebeb14211d
Handle DSR for resize(1).
2007-10-24 15:29:29 +00:00
Nicholas Marriott
e21587864a
Save restore attr.
2007-10-24 15:01:25 +00:00
Nicholas Marriott
ab02144e3d
Don't need ttydefchars here.
2007-10-23 11:25:32 +00:00
Nicholas Marriott
688a487570
Lift last MAXNAMELEN limit on -s argument.
2007-10-23 10:48:23 +00:00
Nicholas Marriott
14fdb49c19
FreeBSD lacks TTY_NAME_MAX.
2007-10-23 10:21:59 +00:00
Nicholas Marriott
25e94a0526
List client command.
2007-10-23 09:36:19 +00:00
Nicholas Marriott
bfad5c0171
Define __dead and __packed.
2007-10-19 20:36:08 +00:00
Nicholas Marriott
1b9647669a
Kill window command. Nuke some backspace stuff.
2007-10-19 11:10:35 +00:00
Nicholas Marriott
de24fbb35c
Add a bell-action option.
2007-10-19 10:21:36 +00:00
Nicholas Marriott
94f003bbec
Refresh session command.
2007-10-19 09:21:26 +00:00
Nicholas Marriott
37f17a7e5b
Warn and bork on nested sessions ($TMUX exists).
2007-10-12 14:46:48 +00:00
Nicholas Marriott
514d6fa1ec
Accept colours as strings.
2007-10-12 13:51:44 +00:00
Nicholas Marriott
f3404ee922
send-prefix command.
2007-10-12 13:03:58 +00:00
Nicholas Marriott
7ec5be30df
set status, status-fg, status-bg.
2007-10-12 12:08:51 +00:00
Nicholas Marriott
ad4a7423c0
Mark windows in yellow on status line when bell.
2007-10-12 11:24:15 +00:00
Nicholas Marriott
efa3e131b5
Simplify input.c - lose class table and use macros.
2007-10-10 19:45:20 +00:00
Nicholas Marriott
6f2edda785
Have resize update a SESSION_UNATTACHED flag.
2007-10-05 18:25:05 +00:00
Nicholas Marriott
91e24af089
Clean up pause/exit mess with flags.
2007-10-05 14:23:28 +00:00
Nicholas Marriott
26b340964a
Lose command index enum in favour of runtime-calculated index.
2007-10-04 22:04:01 +00:00
Nicholas Marriott
75e1e4b91e
Lose usage and move it into the struct.
2007-10-04 21:48:11 +00:00
Nicholas Marriott
1f9a8e70d9
Incomplete resize support.
2007-10-04 19:03:52 +00:00
Nicholas Marriott
68a5d5c00b
Window attachment, malloc debugging, fix a segfault with no sessions.
2007-10-04 11:52:03 +00:00
Nicholas Marriott
ff56ed7bd6
Nuke ?.
2007-10-04 11:23:17 +00:00
Nicholas Marriott
225e07fe38
Select window command.
2007-10-04 10:54:21 +00:00
Nicholas Marriott
19c1e1a800
Rename window.
2007-10-04 10:39:07 +00:00
Nicholas Marriott
57157a1cde
set-option command to set meta.
2007-10-04 10:11:32 +00:00
Nicholas Marriott
774b556669
Key binding and unbinding.
2007-10-04 09:30:53 +00:00
Nicholas Marriott
292ad55fbe
List keys command.
2007-10-04 00:18:59 +00:00
Nicholas Marriott
815815989a
Next/last/previous window, some other tweaks.
2007-10-04 00:02:10 +00:00
Nicholas Marriott
7ba01f6843
New window command.
2007-10-03 23:32:26 +00:00
Nicholas Marriott
df716ecc8f
Rewrite command handling to be more generic. Not finished!
2007-10-03 21:31:07 +00:00
Nicholas Marriott
aaa98ab4a2
Rename some bits.
2007-10-03 12:43:47 +00:00
Nicholas Marriott
fe06744d66
String/number arguments..
2007-10-03 12:34:16 +00:00
Nicholas Marriott
dadc56d754
Key binding, unbinding.
2007-10-03 11:26:34 +00:00
Nicholas Marriott
9bb907f2a7
Move command handling into the server and tidy up some bits.
2007-10-03 10:18:32 +00:00
Nicholas Marriott
a6d3594d39
Redraw client status lines on rename.
2007-10-02 17:45:05 +00:00
Nicholas Marriott
843779a3e0
Restore window title handling.
2007-10-01 17:37:41 +00:00
Nicholas Marriott
bfccbc67d1
Simple status line.
2007-10-01 14:53:29 +00:00
Nicholas Marriott
872696f781
Pass attributes around as flags rather than as a list of escape codes.
2007-10-01 14:18:42 +00:00
Nicholas Marriott
9d563c340b
Destroy screens properly.
2007-10-01 14:15:48 +00:00
Nicholas Marriott
308bc18947
Window info command.
2007-09-30 13:02:14 +00:00
Nicholas Marriott
d17df2cd11
Whoops, forgot this.
2007-09-29 18:48:54 +00:00
Nicholas Marriott
1e316cfc7c
Lose intermediate handling (unused). Change argument parsing to work properly over multiple buffers by saving a copy of the argument (we can't just save off/len since the buffer may vanish at any point).
2007-09-29 14:25:49 +00:00
Nicholas Marriott
653ee721df
Write error messages for rename. Also tweak some error outputs, and fix -i.
2007-09-29 13:22:15 +00:00
Nicholas Marriott
a777c060dc
Nuke CLEAR_SCREEN/ENDOFSCREEN and assert scroll region when drawing. These will be reqd for status line(s).
2007-09-29 10:57:39 +00:00
Nicholas Marriott
2ec60c9d66
Pass bell through from any window.
2007-09-29 09:53:25 +00:00
Nicholas Marriott
0bbe838b25
Window flags, currently only bell.
2007-09-29 09:15:49 +00:00
Nicholas Marriott
aafee17de6
New input parser via state machine.
2007-09-28 22:47:22 +00:00
Maximilian Gass
d2e035f892
Added window renaming support (tmux rename)
2007-09-28 21:41:52 +00:00
Nicholas Marriott
5990461688
Add client_flush to flush output when transient commands are called.
2007-09-28 19:04:21 +00:00
Nicholas Marriott
58affec94c
Split list into ls/lsw.
2007-09-27 10:09:37 +00:00
Nicholas Marriott
22990a6595
New session selection rules:
...
- find by name if given
- otherwise try current index from $TMUX
- otherwise if only one session, use it
- otherwise error
2007-09-27 09:52:03 +00:00
Nicholas Marriott
3fa8f16364
Adjust $TMUX environ var to include session index, and don't compact session list on release. Also fix some argument types.
2007-09-27 09:15:58 +00:00
Nicholas Marriott
5ef6d077c6
Join oldest session if non specified. Fix errors.
2007-09-26 18:50:49 +00:00
Nicholas Marriott
8d01984182
Restore list command.
2007-09-26 18:32:17 +00:00
Nicholas Marriott
302a35da85
Server function naming, still not happy with server stuff though.
2007-09-26 18:09:23 +00:00
Nicholas Marriott
fb39b22a2e
Cleanup part II: split up client stuff and ops. More to come.
2007-09-26 13:43:15 +00:00
Nicholas Marriott
671694ac30
Cleanup part 1: split up server.c.
2007-09-26 10:35:24 +00:00
Nicholas Marriott
3fef2d998f
Window list with C-b W.
2007-09-22 11:50:33 +00:00
Nicholas Marriott
34f87e521b
Last window option.
2007-09-20 18:03:23 +00:00
Nicholas Marriott
2cd99f0ebb
Reset ignored signals after forkpty.
2007-09-20 09:43:33 +00:00
Nicholas Marriott
fc63750d30
Scrolling region.
2007-08-28 09:19:50 +00:00
Nicholas Marriott
12f7197adb
session_flush can go bye-bye again.
2007-08-27 20:36:52 +00:00
Nicholas Marriott
04f4e4219b
Change command format.
2007-08-27 13:45:26 +00:00
Nicholas Marriott
6e210bb005
If a session is destroyed, safely kill all other clients attached to it.
2007-08-27 12:05:15 +00:00
Nicholas Marriott
635edfa7d5
Don't accept zero titles.
2007-08-27 11:05:21 +00:00
Nicholas Marriott
4b62b1d16c
Sync with fdm.
2007-07-25 23:13:18 +00:00
Nicholas Marriott
a41ece5ff0
Initial import to CVS. Basic functions are working, albeit with a couple of showstopper memory bugs and many missing features. Detaching, reattaching, creating new sessions, listing sessions work acceptably for using with shells. Simple curses programs (top, systat, tetris) and more complicated ones (mutt, emacs) that don't require scrolling regions (ESC[r) mostly work fine (including mutt, emacs). No status bar yet and no key remapping or other customisation.
2007-07-09 19:04:12 +00:00