Commit graph

2305 commits

Author SHA1 Message Date
Daniel Eklöf
3d15913d38
license: fix bad copy-paste: first commit was in 2019 2020-07-25 08:50:57 +02:00
Daniel Eklöf
c50a442810
readme: add section describing how to identify foot 2020-07-24 17:50:48 +02:00
Daniel Eklöf
8d81dde5b8
search: improve viewport movements
* Don't move the viewport if the new match is already fully visible
* When we do have to move the viewport, position it such that the new
  match ends up roughly in the middle.
2020-07-24 17:49:50 +02:00
Daniel Eklöf
60984e7a24
csi: secondary DA: do not pretend we're xterm
Previously, our secondary DA response indicated a) VT420, b) an XTerm
version number.

Now, we indicate VT220 (which corresponds to the primary DA response),
and we report foot's version number as MMmmpp. I.e major, minor and
patch versions, using two digits.

E.g. 1.4.2 is encoded as 010402
2020-07-24 17:47:47 +02:00
Daniel Eklöf
cc60d3a670
csi: primary DA: remove features we do not support
We do not implement

* Selective Erase
* Technical Character Set
* Terminal state interrogation
2020-07-24 17:46:18 +02:00
Daniel Eklöf
0c11542eca
changelog: add new 'unreleased' section 2020-07-23 18:56:47 +02:00
Daniel Eklöf
e838c0ce24
Merge branch 'releases/1.4' 2020-07-23 18:55:14 +02:00
Daniel Eklöf
c2a58451e0
meson/pkgbuild: bump to 1.4.2 2020-07-23 18:51:48 +02:00
Daniel Eklöf
0e0d6aea86
changelog: prepare for 1.4.2 2020-07-23 18:51:33 +02:00
Daniel Eklöf
1c8e103c92
Merge branch 'master' into releases/1.4 2020-07-23 18:50:50 +02:00
Daniel Eklöf
f6473756d9
sixel: remove sixel-to-be-splitted *before* splitting it
This fixes an assertion in debug builds, due to the pre-splitted and
splitted sixels overlapping.
2020-07-23 18:15:29 +02:00
Daniel Eklöf
fda6e9c2c9
sixel: overwrite: use target sixel's height, not cell height
When copying the image data for the left and right parts of the
splitted images, use the sixel's height, not the cell height.

This fixes a crash when the sixel didn't cover the entire cell height.
2020-07-23 18:13:54 +02:00
Daniel Eklöf
3869c7299f
render: bump maximum window title length from 100 to 2048 (bytes)
Apparently, the max is ~8K, but lets stay on the safe side.
2020-07-22 21:07:57 +02:00
Daniel Eklöf
d58f88661f
changelog: add new 'unreleased' section 2020-07-22 20:06:07 +02:00
Daniel Eklöf
90f0b6be0a
Merge branch 'releases/1.4' 2020-07-22 20:05:17 +02:00
Daniel Eklöf
b238443a71
meson/pkgbuild: bump version to 1.4.1 2020-07-22 20:03:48 +02:00
Daniel Eklöf
d1f02af308
changelog: prepare or 1.4.1 2020-07-22 20:03:28 +02:00
Daniel Eklöf
6b6db610cc
Merge branch 'master' into releases/1.4 2020-07-22 20:01:59 +02:00
Daniel Eklöf
10f53325e1
input: pipe: avoid goto's where variables may be uninitialized 2020-07-22 19:34:07 +02:00
Daniel Eklöf
63d73f8685
changelog: add a new 'unreleased' section 2020-07-22 19:11:57 +02:00
Daniel Eklöf
230555a89d
Merge branch 'releases/1.4' 2020-07-22 19:10:46 +02:00
Daniel Eklöf
591829bf50
meson/pkgbuild: bump version to 1.4.0, require fcft 2.2.2 2020-07-22 18:59:36 +02:00
Daniel Eklöf
8bb1607557
changelog: prepare for 1.4.0 2020-07-22 18:59:19 +02:00
Daniel Eklöf
ac7b229f7c
search: re-enable search-commit action
This was disabled while implementing multi-seat support, and I forgot
to fix and re-enable before that feature was merged.
2020-07-22 17:51:27 +02:00
Daniel Eklöf
2092185d29
readme: 'special thanks' -> 'credits' 2020-07-20 17:35:17 +02:00
Daniel Eklöf
ac42ce4303
Merge branch 'pipe-grid-to-external-tool'
Closes https://codeberg.org/dnkl/foot/issues/29
2020-07-17 09:34:51 +02:00
Daniel Eklöf
47e8c337dc
Merge branch 'master' into pipe-grid-to-external-tool 2020-07-16 17:50:34 +02:00
Daniel Eklöf
067cf6ccb1
wayland: don't assume data-device globals are added before seats
When we're handling the initial set of globals, the data-device and
primary-selection-device objects may, or may not be registered before
the seat(s).

We need to handle both cases.

When adding a seat, instantiate the data-device and
primary-selection-device **if available**.

When adding the device objects, instantiate them on **all** currently
available seats.
2020-07-16 17:47:47 +02:00
Daniel Eklöf
e5401c845c
extract: finish: allocate buffer before writing the terminator
When all cells were empty, we'll have written 0 bytes to the buffer
and hence it will still be un-allocated (i.e. NULL).
2020-07-16 17:46:02 +02:00
Daniel Eklöf
e1e52c706a
term: remove unused struct definition 'rgb' 2020-07-16 11:52:51 +02:00
Daniel Eklöf
de75a2035e
Merge branch 'master' into pipe-grid-to-external-tool 2020-07-16 08:53:20 +02:00
Daniel Eklöf
7f6ed98a83
term: line-wrap: don't move cursor outside the grid
Remove assertion that row be less than the scrolling region end. The
cursor may in fact be *inside* the margin.

Inside the margin, content never scrolls, but we must make sure we
don't move the cursor outside the grid.
2020-07-16 08:47:37 +02:00
Daniel Eklöf
674f0dd0fc
sixel: verify list order: fix assertion when two sixels are on the same row
Two sixel may in fact exist on the same row, assuming their columns
don't overlap.
2020-07-16 08:13:44 +02:00
Daniel Eklöf
47d6dd0eee
csi: never call term_print() with width <= 0 2020-07-16 08:06:37 +02:00
Daniel Eklöf
6f2cffd8c0
vt: never call term_print() with a width <= 0 2020-07-16 08:04:12 +02:00
Daniel Eklöf
9508804b18
vt: ignore 0x7f (DEL) in ground state
This ensures *all* bytes mapped to action_print() have wcwidth == 1.

DEL has wcwidth == -1, and would thus have been ignored by
term_print() anwyway.
2020-07-16 08:01:37 +02:00
Daniel Eklöf
6183f7f64a
vt: utf8: handle multi-column spacer values correctly when combining 2020-07-16 07:41:51 +02:00
Daniel Eklöf
ad479cae05
changelog: use bemenu instead of fuzzel in pipe-visible example 2020-07-15 18:22:40 +02:00
Daniel Eklöf
22c73eaf4b
input: pipe-{visible,scrollback}: redirect stdout/stderr to /dev/null 2020-07-15 18:17:28 +02:00
Daniel Eklöf
765b714642
footrc: add pipe-visible and pipe-scrollback 2020-07-15 18:02:25 +02:00
Daniel Eklöf
8242ff5958
doc: foot.5: change pipe-visible example to use bemenu instead of fuzzel 2020-07-15 18:02:08 +02:00
Daniel Eklöf
e04b8f672b
changelog: minor 2020-07-15 17:54:25 +02:00
Daniel Eklöf
6ba6858fdc
changelog: document pipe-visible and pipe-scrollback bindings 2020-07-15 17:53:36 +02:00
Daniel Eklöf
48fa484f18
doc: foot.5: document pipe-visible and pipe-scrollback 2020-07-15 17:48:37 +02:00
Daniel Eklöf
94bb313282
config: oopsie, need to use strndup() on the pipe command
Since it isn't NULL-terminated.
2020-07-15 17:48:02 +02:00
Daniel Eklöf
65a46be822
config: change syntax for pipe-command in key binding
The pipe command can contain almost all printable characters. In
particular, we can expect it to contain '='.

Having the pipe command as part of the key breaks the key/value
splitting.

Change it so that it is instead an optional initial part of the value,
enclosed in '[]'.

I.e. instead of

    pipe-visible:cmd=binding

we now need to write

    pipe-visible=[cmd] binding
2020-07-15 17:28:09 +02:00
Daniel Eklöf
be9c566622
input: comments 2020-07-15 16:47:01 +02:00
Daniel Eklöf
1541531765
conf: bindings: allow several mappings for the same action
If the bindings has different pipe command associated with them, treat
them as different actions.
2020-07-15 16:43:11 +02:00
Daniel Eklöf
062b0eb7ab
input: wip: initial support for piping scrollback/view to external tools 2020-07-15 13:34:32 +02:00
Daniel Eklöf
69d9ff3f25
spawn: add optional stdin/stdout/stderr redirection FDs
If not -1, spawn() will redirect the child's stdin/stdout/stderr to
these FDs.
2020-07-15 13:33:56 +02:00