561 Commits

Author SHA1 Message Date
c391d50cbb Merge branch 'obsd-master' 2020-02-14 16:01:26 +00:00
58b47bf01b Fix top/bottom pane calculation with pane border status enabled,
reported by Stanislav Spassov.
2020-02-14 13:57:58 +00:00
8457f54edc Merge branch 'obsd-master' 2020-01-13 10:01:27 +00:00
04eee2410d Treat plausible but invalid keys (like C-BSpace) as literal like any
other unrecognised string passed to send-keys. Reported by Anthony
Sottile in GitHub issue 2049.
2020-01-13 07:51:54 +00:00
7922f4ee7b Merge branch 'obsd-master' 2019-12-12 14:33:47 +00:00
c284ebe0ad Rewrite the code for reading and writing files. Now, if the client is
not attached, the server process asks it to open the file, similar to
how works for stdin, stdout, stderr. This makes special files like
/dev/fd/X work (used by some shells). stdin, stdout and stderr and
control mode are now just special cases of the same mechanism. This will
also make it easier to use for other commands that read files such as
source-file.
2019-12-12 11:39:56 +00:00
e00730d149 Fix bad merge. 2019-11-28 12:30:43 +00:00
5f5f029e3b Merge branch 'obsd-master' 2019-11-28 12:18:41 +00:00
2349b1dbef Make a best effort to set xpixel and ypixel for each pane and add
formats for them.
2019-11-28 09:45:15 +00:00
57948a0dfc Merge branch 'obsd-master' 2019-10-28 10:01:25 +00:00
ccdebead79 Start with empty rather than NULL window name to avoid NULL printf if
window_name is evaluated early. Reported by Mikolaj Kucharski.
2019-10-28 09:07:59 +00:00
658ecb0777 Merge branch 'obsd-master' 2019-09-11 16:48:58 +01:00
0feae4d8ae Make client exit if pane where input is going is closed. 2019-09-10 19:35:34 +00:00
4fa1f961f3 Merge branch 'obsd-master' 2019-08-28 20:02:24 +01:00
df0334d3b3 The resize event was never deciding to actually resize the pane if there
was output in the pane faster than the timer would fire, so change how
it works to only defer the timer again if the pane was actually resized
within the last timer period. Reported by James Tai in GitHub issue
1880.
2019-08-28 07:34:32 +00:00
ed0f2831b4 Merge branch 'obsd-master' 2019-08-15 11:02:48 +01:00
0f243f0388 Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to
preserve zoomed state. GitHub issue 1839.
2019-08-14 09:58:31 +00:00
abcd4bd246 Merge branch 'obsd-master' 2019-06-30 21:02:26 +01:00
cf30e0f935 Do not double free window if pane fails to start. 2019-06-30 19:21:53 +00:00
c4a9299956 Merge branch 'obsd-master' 2019-06-26 21:02:26 +01:00
3a6d90adad Fix a typo in window_pane_find_down (w not wp) and a missing PANE_STATUS_TOP. 2019-06-26 18:44:22 +00:00
f797ac9ff6 Merge branch 'obsd-master' 2019-06-26 15:02:26 +01:00
c599ad63f8 Log window and pane resizes. 2019-06-26 13:05:24 +00:00
d83f356218 Add #define for the pane status line option position numbers. 2019-06-26 13:03:47 +00:00
c14b0d7c00 Merge branch 'obsd-master' 2019-06-24 11:02:26 +01:00
bdab595095 Trim trailing spaces when matching. 2019-06-24 08:20:02 +00:00
4a44ae06bf Merge branch 'obsd-master' 2019-06-20 17:02:26 +01:00
f8ad72b2ee Merge branch 'obsd-master' 2019-06-20 15:02:26 +01:00
fc1df91e03 allow-rename and alternate-screen can be pane options. 2019-06-20 13:40:22 +00:00
5f92f92908 Add a per-pane option set. Pane options inherit from window options (so
there should be no change to existing behaviour) and are set and shown
with set-option -p and show-options -p.

Change remain-on-exit and window-style/window-active-style to be pane
options (some others will be changed later).

This makes select-pane -P and -g unnecessary so no longer document them
(they still work) and no longer document set-window-option and
show-window-options in favour of set-option -w and show-options -w.
2019-06-20 11:59:59 +00:00
ee9bc355f5 Merge branch 'obsd-master' 2019-06-18 13:02:28 +01:00
9272fe36e2 Add a cmdq_continue function rather than twiddling the flag directly. 2019-06-18 11:08:42 +00:00
5e9757b30b Merge branch 'obsd-master' 2019-06-14 15:51:09 +01:00
3e72e98e3b Add regular expression support for the format search, match and
substitute modifiers.
2019-06-13 19:46:00 +00:00
d9ad461b5e Merge branch 'obsd-master' 2019-06-09 09:02:26 +01:00
915097d312 Exiting alternate screen mode should restore cursor position and
attributes even if already outside alternate screen mode. GitHub issue
1789.
2019-06-09 06:50:24 +00:00
41b8bb4eef Merge branch 'obsd-master' 2019-05-30 23:02:27 +01:00
b26523c26d Remove a leftover abort and some fixes from cppcheck. 2019-05-30 20:54:03 +00:00
d9767b8112 Merge branch 'obsd-master' 2019-05-07 13:02:27 +01:00
69440d19b7 Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.
2019-05-07 10:25:15 +00:00
d4177e954c Merge branch 'obsd-master' 2019-05-03 23:02:28 +01:00
9f75635596 Allow panes to be empty (no command), output can be piped to them with
split-window or display-message -I.
2019-05-03 20:44:24 +00:00
85f09f9a4c Merge branch 'obsd-master' 2019-04-26 13:02:37 +01:00
f1e14f86c4 Destroy panes before options to avoid crash when forced into a mode by a
hook.
2019-04-26 10:24:26 +00:00
78287e27c8 Break new window and pane creation common code from various commands and
window.c into a separate file spawn.c.
2019-04-17 14:37:48 +00:00
5ece386cdf Break new window and pane creation common code from various commands and
window.c into a separate file spawn.c.
2019-04-07 13:01:03 +01:00
073d439965 Merge branch 'obsd-master' 2019-03-19 00:02:39 +00:00
0406ec0ec2 Free temporary screens when writing format. 2019-03-18 21:55:04 +00:00
962f255ee8 Merge branch 'obsd-master' 2019-03-18 21:24:49 +00:00
979313832c Extend the #[] style syntax and use that together with previous format
changes to allow the status line to be entirely configured with a single
option.

Now that it is possible to configure their content, enable the existing
code that lets the status line be multiple lines in height. The status
option can now take a value of 2, 3, 4 or 5 (as well as the previous on
or off) to configure more than one line. The new status-format array
option configures the format of each line, the default just references
the existing status-* options, although some of the more obscure status
options may be eliminated in time.

Additions to the #[] syntax are: "align" to specify alignment (left,
centre, right), "list" for the window list and "range" to configure
ranges of text for the mouse bindings.

The "align" keyword can also be used to specify alignment of entries in
tree mode and the pane status lines.
2019-03-18 20:53:33 +00:00