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