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