Nicholas Marriott
a8ec5f1d09
stat(2) files before trying to load them to avoid problems, for example with "source-file /dev/zero".
...
This commit dedicated to Tom: protecting idiots from their own stupidity for more than 20 years.
2009-05-21 19:38:51 +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
Nicholas Marriott
5db59a0d20
If LANG contains "UTF-8", assume the terminal supports UTF-8, on the grounds that anyone who configures it probably wants UTF-8. Not certain if this is a perfect idea but let's see if it causes any problems.
2009-05-19 16:03:18 +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
72e464fa04
main-horizontal layout and main-pane-height option to match vertical.
2009-05-18 22:17:24 +00:00
Nicholas Marriott
c21ffbc772
left-vertical -> main-vertical.
...
Also update CHANGES/TODO.
2009-05-18 21:58:40 +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
dd2f8d7d74
Don't force wrapping with \n when asked, let the cursor code figure it out. Should fix terminals which use this to detect line breaks.
2009-05-14 16:21:55 +00:00
Nicholas Marriott
df9a2886dd
Add a changes entry.
2009-05-13 23:40:30 +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
827fac4c0b
Support "neww; neww" as well "neww ; neww".
2009-04-30 21:53:32 +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
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
Tiago Cunha
c80ad456cc
Avoid using the prompt history when the server is locked, and prevent any
...
input entered from being added to the client's prompt history. From nicm.
2009-04-27 13:56:51 +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
7d6896ae79
Support NEL.
2009-04-23 21:28:45 +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
a91ecf44fa
Note it.
2009-04-23 17:51:57 +00:00
Nicholas Marriott
750b8106f7
Remove the right number of characters from the buffer when escape then a cursor
...
key (or other key prefixed by \033) is pressed. Reported by Stuart Henderson.
2009-04-17 12:36:21 +00:00
Nicholas Marriott
325d43e417
rotate-window command.
2009-04-03 17:21:46 +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
a45e33114a
Tweak to CHANGES.
2009-04-01 18:22:31 +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
c4ac39f67a
+UTF-8 fixed to CHANGES.
2009-03-31 23:14:22 +00:00
Nicholas Marriott
92594c8029
Update CHANGES.
2009-03-31 21:30:03 +00:00
Nicholas Marriott
6c27f1c335
Draw vertical line on the right when window size is limited.
2009-03-31 18:39:45 +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
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
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
57f5f44d0f
Sort out escape key handling so it works.
2009-03-02 16:55:23 +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
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
5a04f74d81
Only use RI at the top of the screen.
2009-02-12 00:03:58 +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
d5eaf3a9f6
Emulate CSR with existing screen data on old/stupid terminals which don't support it.
2009-02-11 19:06:58 +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
dd1ebf1b9d
Handle "" properly.
2009-02-08 16:38:19 +00:00
Nicholas Marriott
85fd2147af
Move to 0.8.
2009-02-08 14:11:37 +00:00
Tiago Cunha
4213ff8faa
copy-buffer command.
2009-02-03 17:21:19 +00:00