Commit graph

449 commits

Author SHA1 Message Date
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
Daniel Eklöf
1253f5e27e
Merge branch 'mouse-button-encoding-of-button-6-7' 2021-01-23 10:41:35 +01:00
Daniel Eklöf
1bcee31398
changelog: add bug ref to the ‘FreeBSD support’ entry 2021-01-23 10:19:28 +01:00
Daniel Eklöf
124bc3c084
changelog: freebsd support 2021-01-23 10:12:39 +01:00
Daniel Eklöf
000ddd900a
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-22 17:07:14 +01:00
Daniel Eklöf
bcf46d9eab
Merge branch 'decset-1047-and-1048' 2021-01-16 15:27:20 +01:00
Daniel Eklöf
e41654d4ea
csi: implement DECSET 47 - use alternate screen buffer 2021-01-16 13:34:40 +01:00
Daniel Eklöf
67ac09ab2e
input: don’t enable keyboard repeat timer when repeat rate is zero
wayland-client-protocol.h:

  Negative values for either rate or delay are illegal. A rate of
  zero will disable any repeating (regardless of the value of
  delay).

This fixes a division-by-zero crash.
2021-01-16 12:33:59 +01:00
Daniel Eklöf
50b309da06
changelog: DECSET 1047+1048: remove ‘Implemented’ 2021-01-15 19:08:51 +01:00
Daniel Eklöf
27fe3faa4c
changelog: DECSET 1047+1048 2021-01-15 19:08:16 +01:00
Daniel Eklöf
767bd4f1db
config: add ‘select-extend-character-wise’ bind action
This forces the (new) selection mode to be character-wise when
extending a word- or line-wise selection.

Default key binding is ctrl+RMB.
2021-01-14 16:29:29 +01:00
Daniel Eklöf
5efd34c3c4
sixel: current geometry: don’t exceed current window dimensions
This is similar to what XTerm does, and fixes an issue with lsix,
where the output did not wrap.
2021-01-14 14:41:34 +01:00
Daniel Eklöf
0de0411300
changelog: superceded -> superseded 2021-01-14 10:57:56 +01:00
Daniel Eklöf
5acdc89952
Merge branch 'box-drawing-line-thickness'
Closes #281
2021-01-14 10:49:39 +01:00
Craig Barnes
0791fba9c7 main: remove deprecated "--geometry" option
Closes #287
2021-01-13 20:01:05 +00:00
Daniel Eklöf
f54e9dd841
changelog: box drawing line thickness depend on the font size 2021-01-12 17:38:12 +01:00
Daniel Eklöf
497b8e6c0a
changelog: add hyphen between ‘newline’ and ‘terminated’ 2021-01-12 14:55:21 +01:00
Daniel Eklöf
d968bcd506
changelog: pasting non-newline terminated text/uri-list offers 2021-01-12 14:48:20 +01:00
Daniel Eklöf
fa306d109b
changelog: glyhps -> glyphs 2021-01-11 09:35:01 +01:00
Daniel Eklöf
44db2e2d0a
changelog: move line-height entry from ‘changed’ to ‘added’ 2021-01-11 09:31:22 +01:00
Daniel Eklöf
a455797bf2
changelog: line-height, letter-spacing and {horizontal,vertical}-letter-offset 2021-01-11 09:31:07 +01:00
FollieHiyuki
bb1b8bc7ca Add fish completion 2021-01-08 20:37:33 +03:00
Daniel Eklöf
e14c592f39
config: add optional ‘center’ argument to ‘pad’
When set, the grid contents is centered in the window. I.e. the
left/right and top/bottom margins are equal (+- 1px).

This causes the content to “jump” while doing an interactive resize,
but may still be preferred in e.g. a tiling WM.

Closes #273
2021-01-06 11:17:29 +01:00
Daniel Eklöf
a1b52ee4a0
changelog: double- or triple clicking then dragging extends word- or line-wise 2021-01-04 19:48:40 +01:00
Daniel Eklöf
482690e5fb
render: draw combining characters on top of colored bitmap glyphs (emoji) 2021-01-04 18:32:55 +01:00
Peter Colberg
49ec4c79a7 Add myself to Contributors 2021-01-03 15:49:24 -05:00
Peter Colberg
afc343d528 Require trailing comment to be preceded by a space or tab
Fixes `word-delimiters` option to not ignore `#` and subsequent characters.

Closes #270
2021-01-03 14:08:25 -05:00
Daniel Eklöf
5cc2f94668
Merge branch 'box-drawing'
Closes #198
2021-01-03 00:08:08 +01:00
Daniel Eklöf
ae6d8e0c7f
render: mark cell overflowed into as dirty
When tweak.allow-overflowing-double-width-glyphs=yes, then certain
glyphs are allowed to overflow into the neighbouring cell.

However, if the cell “owning” the double-width glyph is erased (_only_
that cell), then the cell overflowed into is not redrawn, causing
part of the double-width glyph to remain on screen.

To avoid checking for these glyphs when printing to the terminal (i.e
at parse time), simply mark both cells as dirty when we render the
overflowing glyph.

Yes, this means that the cells will always be re-rendered. We count on
them only making up a small portion of the screen.
2021-01-02 22:31:07 +01:00
Daniel Eklöf
71d187119f
changelog: box drawing characters are rendered by foot 2021-01-01 21:09:39 +01:00
Daniel Eklöf
cda647f2ca
changelog: update ‘contributors’ 2020-12-26 12:14:07 +01:00
Daniel Eklöf
2227e36c66
ime: don’t call text-input functions when it isn’t available
Closes #259
2020-12-26 12:09:48 +01:00
Daniel Eklöf
8b0ef6aa85
terminal: shutdown (or --hold) when the client process terminates
Shutdown the terminal when the client process terminates, not when the
ptmx file descriptor is closed.

This fixes an issue where the terminal remains running after the
client process has terminated, if it spawned child processes that
inherited the ptmx file descriptor.
2020-12-26 01:29:40 +01:00
Daniel Eklöf
78da147e80
Merge branch 'releases/1.6' 2020-12-21 16:00:00 +01:00
Daniel Eklöf
c6a53d5e33
meson/pkgbuild: bump version to 1.6.2 2020-12-21 15:58:25 +01:00
Daniel Eklöf
71d1515a05
Merge branch 'releases/1.6' 2020-12-21 13:55:19 +01:00
Daniel Eklöf
7c3cb008ec
changelog: prepare for 1.6.1 2020-12-21 13:50:27 +01:00
Daniel Eklöf
b6b565cc9a
changelog: mention -Wno-profile-instr-unprofiled 2020-12-21 13:50:06 +01:00
Daniel Eklöf
1ad63a5c58
changelog: mention --seed in in generate-alt-random.pu 2020-12-21 13:47:45 +01:00
Daniel Eklöf
68dd9c17d5
generate-alt-random: ioctl(TIOCGWINSZ) may fail in run inside a container
This _should_ only happen when we’re doing a partial PGO build, since
then the script is run in the parent terminal. In this case, the user
is expected to use --rows/--cols anyway.
2020-12-21 13:42:59 +01:00
Daniel Eklöf
e4ae5a7586
generate-alt-random: ioctl(TIOCGWINSZ) may fail in run inside a container
This _should_ only happen when we’re doing a partial PGO build, since
then the script is run in the parent terminal. In this case, the user
is expected to use --rows/--cols anyway.
2020-12-21 13:40:53 +01:00
Daniel Eklöf
505680087c
changelog: use -std=c11 instead of -std=c18 2020-12-21 12:28:29 +01:00
Daniel Eklöf
e95798e608
changelog: use -std=c11 instead of -std=c18 2020-12-21 12:20:08 +01:00
Daniel Eklöf
e4620071b0
Merge branch 'releases/1.6' 2020-12-20 15:51:04 +01:00
Daniel Eklöf
fbe9f54db0
changelog: update ‘contributors’ 2020-12-20 15:49:24 +01:00
Daniel Eklöf
533db90a94
changelog: remove trailing ‘5’ 2020-12-20 15:48:25 +01:00
Daniel Eklöf
a2ce0622c5
render: fix rounding error when calculating background color with alpha
We use pre-multiplied alpha color channels, but were having bad
rounding errors due to the alpha divider being truncated to an
integer.

The algorithm for pre-multiplying a color channel is:

  alpha_divider = 0xffff / alpha
  pre_mult_color = color / alpha_divider

In order to fix the rounding errors, we could turn ‘alpha_divider’
into a double.

That however would introduce a performance penalty since now we’d need
to do floating point math for each cell.

The algorithm can be trivially converted to:

  pre_mult_color = color * alpha / 0xffff

Since both color and alpa values are < 65536, the multiplication is
“safe”; it will not overflow an uint32_t.

Closes #249
2020-12-20 15:46:32 +01:00