Commit Graph

151 Commits

Author SHA1 Message Date
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