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
9a07e8f372
Sync OpenBSD patchset 147:
...
Add a status-justify option to allow the window list in the status line to be
positioned at the left, centre, or right.
2009-07-20 16:01:07 +00:00
Tiago Cunha
e8957009c7
Sync OpenBSD patchset 146:
...
New options, window-status-current-{fg,bg,attr}, to set the fg, bg and
attributes with which the current window is shown in the status line. From
Johan Friis, thanks.
2009-07-20 15:57:05 +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
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
ac55534055
Remove some duplicate code that was causing the status line to be redrawn even
...
when it hadn't changed.
2009-07-17 07:46:08 +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
ff500b46c9
For some reason when clearing status/message it was redrawing the entire client
...
not just the status line. Changing this also revealed the check for the status
line was incorrect when drawing the pane.
2009-07-15 17:44:06 +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
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
9f0653386b
$Id$.
2009-07-01 23:06:32 +00:00
Nicholas Marriott
de2ea2d178
Status line fixes: don't truncate status-right now the length calculation is
...
done for UTF-8, limit to the maximum length correctly when printing, and always
print a space even if the left string is longer than the width available.
2009-06-26 15:34:12 +00:00
Nicholas Marriott
bb459beb03
Whitespace and more syncing.
2009-06-25 16:34:50 +00:00
Nicholas Marriott
a5830b9603
Restore $Id$ and add script to do so.
2009-06-25 16:21:32 +00:00
Nicholas Marriott
418128bebc
If the prompt is hidden or a password is sent with -U, zero it before freeing
...
it.
2009-06-25 15:55:34 +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
17a6c01d58
Don't show real character under cursor when hidden. Doh.
2009-05-29 05:40:56 +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
6805217783
Move dist.mk to tools/.
2009-05-17 18:15:41 +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
f1bd3807ae
Everything supported has working vsnprintf.
2009-05-13 23:29:45 +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
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
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
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
03d531ebc6
Move sx,sy into tty rather than client.
2009-02-11 17:50:36 +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
Tiago Cunha
804beb9266
Support commands with right parenthesis. From nicm and me.
2009-02-01 18:14:49 +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
Tiago Cunha
2bb499c8af
Support #(command) in status-left, and status-right.
2009-01-29 23:35:14 +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
6146cab3bd
Use reverse so status line etc works in terminals w/o colour.
2009-01-23 20:49:01 +00:00
Nicholas Marriott
2afa8ebc02
Fix various silly problems with status line off.
2009-01-19 20:14:55 +00:00
Nicholas Marriott
94471aab82
Use reverse rather than background which doesn't show up when terminal doesn't
...
support colours.
2009-01-19 19:01:11 +00:00
Nicholas Marriott
0e197b417a
Tidy a few warnings.
2009-01-17 18:47:37 +00:00
Nicholas Marriott
5aa3098bb6
Support #S #H in status-left/right.
2009-01-15 23:42:21 +00:00
Nicholas Marriott
b4ac8c1342
Multiple window splitting.
2009-01-14 19:29:32 +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
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
e3feb067a5
Server locking. set-password and lock-server commands, plus automatic locking.
2009-01-11 00:48:42 +00:00
Nicholas Marriott
a1b43faa43
Trim spaces.
2009-01-10 01:51:22 +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
4924d8e1e2
+comment.
2009-01-07 22:29:33 +00:00
Nicholas Marriott
0314e767e1
Stray debug message.
2009-01-06 18:33:32 +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
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
46f5e42145
Keep stack of previous windows.
...
Check for op (orig_pair) for default colours.
2008-11-16 10:10:26 +00:00
Nicholas Marriott
b0d8393c05
Clear status bar cell.
2008-09-29 17:47:12 +00:00
Nicholas Marriott
62457bce0b
Trim.
2008-09-26 06:45:28 +00:00
Nicholas Marriott
44b368e220
time.h
2008-09-25 20:33:53 +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
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
9043fe891a
Fix scrolling.
2008-06-27 17:32:24 +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
e704d6aee2
IRIX fixes, sort of partly work.
2008-06-23 21:54:48 +00:00
Nicholas Marriott
91f3165b2d
IRIX fixes thanks to Elias Pipping.
2008-06-23 16:58:49 +00:00
Nicholas Marriott
c24d849fa4
Split options into a table to allow abbreviations.
2008-06-23 07:41:21 +00:00
Nicholas Marriott
e70e9513a8
Simple tab completion of option names in command prompt.
2008-06-21 14:11:39 +00:00
Nicholas Marriott
ead089ece6
Use a fake cursor to avoid problems with real one when activity happens in window.
2008-06-19 22:51:27 +00:00
Nicholas Marriott
73d1558ed0
status-lines -> status, prefix-key -> prefix
2008-06-19 22:04:02 +00:00
Nicholas Marriott
471e37659f
Handle empty strings as escape.
2008-06-19 20:53:04 +00:00
Nicholas Marriott
6d9eaa6440
No space after prompt.
2008-06-19 20:48:48 +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
99df48d70f
Trimify.
2008-06-18 22:21:51 +00:00
Nicholas Marriott
f9dedfccca
Fix a couple of bugs. Handle 0 width properly (w/o overflow), and draw left < in the right place.
2008-06-18 17:28:17 +00:00
Nicholas Marriott
2d3ea8b5b4
Display <> for more windows and highlight if activity.
2008-06-18 17:14:02 +00:00
Nicholas Marriott
ee32d19432
Scroll status line to show windows off-screen.
2008-06-18 16:34:07 +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
d51f075a4e
Use a socketpair to synchronise server startup.
2008-06-07 07:27:28 +00:00
Nicholas Marriott
713bad063a
Make status-interval actually changeable.
2008-06-07 06:13:21 +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
14b9512546
Add activity monitoring, also invert items on taskbar which have activity.
2008-06-04 16:46:23 +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
205b78ec58
Some key tweaks, fix status bar to not rely on attr.
2008-01-03 21:32:11 +00:00
Nicholas Marriott
b8e616f445
This was wrong...
2008-01-03 20:01:47 +00:00
Nicholas Marriott
e7f68a089e
Write status across entire line.
2008-01-03 19:18:14 +00:00
Nicholas Marriott
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
Nicholas Marriott
76c8a590db
Big internal reorganisation to move tty control into parent.
2007-11-27 19:23:34 +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
12810b09d7
Oops, missing one BACKGOUND.
2007-11-22 09:29:50 +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
9a6e47cfa8
Initial history support.
2007-11-21 13:11:41 +00:00
Nicholas Marriott
c0572ea992
Fix a format string bug and sprinkle some printflikes.
2007-11-20 18:11:37 +00:00
Nicholas Marriott
941eab33e9
%u -> %d for indexes. Some lint fixes.
2007-10-30 10:59:43 +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
e5b7001524
Change to show flag char rather than change colour on bell.
2007-10-12 12:37:48 +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
1f9a8e70d9
Incomplete resize support.
2007-10-04 19:03:52 +00:00
Nicholas Marriott
7ba01f6843
New window command.
2007-10-03 23:32:26 +00:00