Commit graph

511 commits

Author SHA1 Message Date
Craig Barnes
b1385f6439 changelog: change "control- and escape sequences" to "escape sequences"
According to the way ECMA-48 defines these terms, "escape sequences"
are a superset of "control sequences", so there's no real reason to
mention both.
2021-02-23 19:58:26 +00:00
Craig Barnes
0da0532432 changelog: fix a typo 2021-02-23 19:57:34 +00:00
Daniel Eklöf
f3e081ad0a
changelog: add missing space character 2021-02-23 20:02:40 +01:00
Daniel Eklöf
c4ad12c1d8
changelog: added man page foot-ctlseq.7 2021-02-23 20:02:06 +01:00
Daniel Eklöf
03c675c6e2
sixel: implement private mode 8452 - cursor positioning after sixel
When disabled (the default), the cursor is positioned on a new line
after emitting a sixel image.

When enabled, the cursor is positioned to the right of the sixel
image.

Closes #363
2021-02-23 10:36:02 +01:00
Daniel Eklöf
4aa980a6a2
sixel: implement private mode 1070 - private color palette
When enabled (the default), sixels use private color registers. That
is, the color palette from the last sixel is *not* re-used.

When disabled, sixels share (i.e. re-use) the same color palette.

Closes #362
2021-02-23 09:40:22 +01:00
Daniel Eklöf
3c6d4f152b
changelog: OSC-8 support 2021-02-21 20:16:25 +01:00
Daniel Eklöf
dd5c31657e
spawn/slave: restore signal mask after fork
slave: no need to restore signal handlers; they are automatically
restored as long as they are not SIG_IGN (which they never are in
foot).

spawn(): restore signal mask after fork. This fixes an issue where a
terminal spawned with ctrl+shift+n did not terminate when its shell
exited.

Closes #366
2021-02-21 19:59:50 +01:00
Daniel Eklöf
8658ab4bed
csi: ‘CSI 13 ; 2 t’ reply is now (0,0)
Foot previously responded with window local coordinates.

But, XTerm responds with screen *absolute* coordinates. This isn’t
possible under Wayland, thus we now report (0,0) instead. Same as we
do for ‘CSI 13 ; 0 t’.
2021-02-16 14:31:46 +01:00
Daniel Eklöf
37c4917e8e
changelog: -D,--working-directory=DIR 2021-02-12 21:42:53 +01:00
Daniel Eklöf
df1ed1c8cf
Merge branch 'releases/1.6' 2021-02-12 21:41:53 +01:00
Daniel Eklöf
c18e459757
changelog: prepare for 1.6.4 2021-02-12 21:27:15 +01:00
Daniel Eklöf
299904e987
selection: don’t strip formatting C0 control characters in bracketed paste mode
It’s ok to let the receiving end handle formatting C0 control
characters in bracketed paste mode.

In fact, we *must* let them through. Otherwise it is impossible to
paste e.g. tabs into editors and similar applications.
2021-02-12 20:58:37 +01:00
Daniel Eklöf
0da766e505
selection: don’t strip formatting C0 control characters in bracketed paste mode
It’s ok to let the receiving end handle formatting C0 control
characters in bracketed paste mode.

In fact, we *must* let them through. Otherwise it is impossible to
paste e.g. tabs into editors and similar applications.
2021-02-12 15:59:07 +01:00
Daniel Eklöf
caede90544
changelog: use standard signals for SIGCHLD 2021-02-12 10:58:58 +01:00
Daniel Eklöf
c0bff58d8d
changelog: selection-target=none|primary|clipboard|both 2021-02-12 10:56:28 +01:00
Daniel Eklöf
a60b7babd3
changelog: -Dterminfo changed from boolean to feature option 2021-02-12 10:48:13 +01:00
Tadeo Kondrak
8a32c5c5c1
ime: Reset terminal's IME state on text_input.leave
To reproduce issue:
- Launch an IME from inside foot
- Type in some preedit text
- Use Ctrl-C to close the IME
- IME text stays in terminal until focus is changed
2021-02-12 10:45:43 +01:00
Daniel Eklöf
6e94da182c
changelog: add section for 1.6.4 2021-02-12 10:44:42 +01:00
Daniel Eklöf
4753d34163
changelog: use standard signals for SIGCHLD 2021-02-11 19:54:55 +01:00
Daniel Eklöf
da7da4cba5
Merge branch 'log-level'
Closes #337
2021-02-11 19:00:09 +01:00
Daniel Eklöf
7698077331
changelog: -d,--log-level 2021-02-09 21:22:16 +01:00
Daniel Eklöf
b65366f00c
changelog: -Dterminfo changed from boolean to feature option 2021-02-09 19:44:57 +01:00
Daniel Eklöf
fec19f1503
changelog: URL mode 2021-02-07 16:33:35 +01:00
Daniel Eklöf
5a2e44e24e
changelog: some mouse events never being sent to the client application 2021-02-02 09:53:24 +01:00
Tadeo Kondrak
1515b7e44b
ime: Reset terminal's IME state on text_input.leave
To reproduce issue:
- Launch an IME from inside foot
- Type in some preedit text
- Use Ctrl-C to close the IME
- IME text stays in terminal until focus is changed
2021-01-30 12:24:12 -07:00
Daniel Eklöf
c4363ef336
Merge branch 'releases/1.6' 2021-01-29 20:12:32 +01:00
Daniel Eklöf
efd1e05b48
changelog: prepare for 1.6.3 2021-01-29 19:52:27 +01:00
Tadeo Kondrak
8f0a3ee7a9
Send text_input_rectangle requests for text-input 2021-01-29 19:39:48 +01:00
Tadeo Kondrak
95c0c89cac
Send text_input_rectangle requests for text-input 2021-01-28 22:22:01 -07:00
Daniel Eklöf
709d6deeae
search: fix matching of multi-column characters
We were matching the sub-sequence SPACERs as if they were regular
characters, which obviously failed.
2021-01-26 20:47:43 +01:00
Daniel Eklöf
9f8856ee7d
selection: strip non-formatting C0, BS, HT and DEL from pasted text 2021-01-26 20:47:22 +01:00
Daniel Eklöf
adbf036053
ime: fix rendering of pre-edit cursor when positioned after the pre-edit string
We failed to convert the byte-indices to cell indices, resulting in a
box cursor covering the entire pre-edit string.

Note that in addition to fixing the translation from byte index to
cell index, the rendered had to be updated to dirty one extra cell
from the original grid.

Without this, we left trailing cursors behind us when the user deleted
text from the pre-edit string.
2021-01-26 20:46:59 +01:00
Daniel Eklöf
f9a43209f2
search: ad-hoc workaround for combining characters with positive x-offsets
When rendering the search input box, do the same ad-hoc workaround for
combining characters with a positive x-offset as we do when rendering
normal grid cells.

In this case, we don’t *know* when we’re dealing with combining
characters. But we can detect zero-width characters. For these, check
their glyph’s x-offset. If positive, adjust it like we do when
rendering combining glyphs in the main grid, to ensure the glyph is
positioned over the _previous_ character, not the next.
2021-01-26 20:46:50 +01:00
Daniel Eklöf
569795a529
changelog: high cpu usage while holding down e.g. arrow keys in search mode 2021-01-26 20:45:42 +01:00
Daniel Eklöf
8df49c7f84
search: fix matching against composed characters 2021-01-26 20:43:18 +01:00
Daniel Eklöf
b4448d2c03
changelog: search input box no longer accepts non-printables 2021-01-26 20:43:06 +01:00
Daniel Eklöf
3252131dd4
terminal: fix encoding of mouse buttons 6 and 7 in mouse events
These two buttons were encoded using the *exact* same numbers as
button 4 and 5 (scroll wheel up/down), making it impossible to
distinguish them.

The relevant section from XTerm’s control sequences documentation is:

    Some wheel mice can send additional button events, e.g., by tilting the
    scroll wheel left and right.

    Additional buttons are encoded like the wheel mice,

    o  by adding 64 (for buttons 6 and 7), or

    o  by adding 128 (for buttons 8 through 11).
2021-01-26 20:41:25 +01:00
Daniel Eklöf
c1675af103
Merge branch 'delay-tiocswinsz-on-interactive-resize'
Closes #283
Closes #301
2021-01-26 20:32:04 +01:00
Daniel Eklöf
fc33619b19
search: fix matching of multi-column characters
We were matching the sub-sequence SPACERs as if they were regular
characters, which obviously failed.
2021-01-26 20:05:14 +01:00
Daniel Eklöf
3a7588bc99
config: promote tweak.resize-delay-ms to a real, supported option 2021-01-26 19:32:21 +01:00
Daniel Eklöf
af0fbdfd07
changelog: tiocswinsz is now delayed by 100ms while doing an interactive resize 2021-01-26 19:32:19 +01:00
Daniel Eklöf
357af41d7e
selection: strip non-formatting C0, BS, HT and DEL from pasted text 2021-01-26 19:31:21 +01:00
Daniel Eklöf
a763531775
ime: fix rendering of pre-edit cursor when positioned after the pre-edit string
We failed to convert the byte-indices to cell indices, resulting in a
box cursor covering the entire pre-edit string.

Note that in addition to fixing the translation from byte index to
cell index, the rendered had to be updated to dirty one extra cell
from the original grid.

Without this, we left trailing cursors behind us when the user deleted
text from the pre-edit string.
2021-01-26 19:30:34 +01:00
Daniel Eklöf
8f3fcf8275
search: ad-hoc workaround for combining characters with positive x-offsets
When rendering the search input box, do the same ad-hoc workaround for
combining characters with a positive x-offset as we do when rendering
normal grid cells.

In this case, we don’t *know* when we’re dealing with combining
characters. But we can detect zero-width characters. For these, check
their glyph’s x-offset. If positive, adjust it like we do when
rendering combining glyphs in the main grid, to ensure the glyph is
positioned over the _previous_ character, not the next.
2021-01-26 19:29:55 +01:00
Daniel Eklöf
dd1df60160
changelog: high cpu usage while holding down e.g. arrow keys in search mode 2021-01-26 19:29:15 +01:00
Daniel Eklöf
89b810261e
Merge branch 'search-match-composed-characters' 2021-01-26 19:28:21 +01:00
Daniel Eklöf
95551f902b
changelog: search input box no longer accepts non-printables 2021-01-24 12:13:37 +01:00
Daniel Eklöf
d3d5897bb7
search: fix matching against composed characters 2021-01-24 12:05:57 +01:00
Daniel Eklöf
821935e5af
changelog: selection-target=none|primary|clipboard|both 2021-01-23 10:44:17 +01:00