Commit graph

2703 commits

Author SHA1 Message Date
Daniel Eklöf
1110108c84
changelog: trackpad scrolling: ‘multiplier’ is in the ‘scrollback’ section 2020-09-29 19:47:29 +02:00
Daniel Eklöf
5171abb188
Merge branch 'trackpad-scroll-speed' into master
Closes #144
2020-09-29 19:44:32 +02:00
Daniel Eklöf
9c84b08ae4
changelog: multiplier: the option belongs to the ‘scrollback’ section 2020-09-29 19:43:39 +02:00
Daniel Eklöf
2cee11d74d
changelog: multiplier default value changed from 1.0 -> 3.0 2020-09-29 19:42:50 +02:00
Daniel Eklöf
ebd1476baf
config: change default multiplier from 1.0 -> 3.0 2020-09-29 19:42:50 +02:00
Daniel Eklöf
08c1b35614
changelog: reword trackpad scrolling speed entry 2020-09-29 19:42:47 +02:00
Daniel Eklöf
a0ce7e40af
input: trackpad scroll: correctly convert pixel movements to line movements
Trackpad scroll movements are in pixels. Foot previously “translated”
these directly to line movements (i.e. a one pixel scroll event was
translated into a one line scroll).

Now we use the line height of the terminal and correctly convert
pixels to lines.

This makes the trackpad scroll speed in foot consistent with the
scroll speed in e.g. Alacritty and Kitty.
2020-09-29 19:42:31 +02:00
Daniel Eklöf
9015f37198
Merge branch 'reflow-retain-scrollback-position' into master
Closes #142
2020-09-29 19:40:38 +02:00
Daniel Eklöf
1718449ca6
grid: reflow: fix release build; ‘idx’ is only used in an assert() 2020-09-29 19:40:17 +02:00
Daniel Eklöf
8c18304287
grid: reflow: handle viewport being too far down when enlarging the window
If the viewport is close to the bottom, but not *at* the bottom, and
we’re enlarging the window, the translated viewport will be too far
down.
2020-09-29 19:40:17 +02:00
Daniel Eklöf
a0d1d2f1c8
grid: reflow: retain scrollback position
Closes #142
2020-09-29 19:40:14 +02:00
Daniel Eklöf
70f1274171
Merge branch 'osc4-refresh-scheduling' into master
Closes #141
2020-09-29 19:38:56 +02:00
Daniel Eklöf
002648d2a9
changelog: fixed color flashes with OSC 4,10,11 2020-09-29 10:11:03 +02:00
Daniel Eklöf
7ffd31e13a
render: remove render_refresh_margins() 2020-09-29 10:08:59 +02:00
Daniel Eklöf
edb904a187
osc: don’t explicitly call render_refresh() when changing the color palette
Doing so will schedule the renderer “as soon as possible”. I.e we’re
by-passing the regular scheduler, and thus we’re by-passing the user’s
setting of the delayed-render-* timers.

The fact that we’re scheduling “as soon as possible” also means we’re
much more likely to trigger flickering, or color flashes, if the
application is changing colors which are on the screen.

To handle changes to the cursor color(s), use the new
term_damage_cursor() instead of render_refresh().

To handle background color changes, which affect the margins, use the
new term_damage_margins() instead of render_refresh_margins(),

Closes #141
2020-09-29 10:05:52 +02:00
Daniel Eklöf
b19e07ad1c
render: term->render.margins is used to explicitly tell us to re-render margins 2020-09-29 10:04:41 +02:00
Daniel Eklöf
5116e40581
term: add term_damage_cursor() and term_damage_margins()
term_damage_cursor() damages the cell where the cursor is currently
at. This can be used to ensure the cursor is re-drawn, if there aren’t
any other pending updates.

term_damage_margins() requests the margins be redrawn the next time we
render the grid.
2020-09-29 10:04:18 +02:00
Daniel Eklöf
be9736dea3
Merge branch 'allow-mouse-binding-click-count-less-than' into master 2020-09-27 14:43:49 +02:00
Daniel Eklöf
6a089c92ca
input: mouse: match binding if binding’s click count is *less*
Allow a mouse binding to match even if its click count is less than
the actual click count.

If there are multiple bindings that match, use the one with the
highest click count (that less than, or equal to the actual click
count).

Closes #146
2020-09-27 14:31:39 +02:00
Daniel Eklöf
d263cb9723
install: say _why_ ncurses and scdoc is needed 2020-09-24 17:33:44 +02:00
Daniel Eklöf
a683a13120
Revert "meson: add -Dwith-docs=disabled|enabled|auto"
This reverts commit 9d6b2c9342.
2020-09-24 16:44:26 +02:00
Daniel Eklöf
e3eb58d483
Merge branch 'make-doc-generation-optional' into master 2020-09-24 16:40:44 +02:00
Daniel Eklöf
9d6b2c9342
meson: add -Dwith-docs=disabled|enabled|auto
When enabled, man pages are generated and installed, along with
README.md, CHANGELOG.md and LICENSE. This requires ‘scdoc’ as a make
dependency.

When disabled, ‘scdoc’ is no longer required, no man pages will be
built, and no documentation at all is installed.

Defaults to ‘enabled’.
2020-09-24 16:39:19 +02:00
Daniel Eklöf
f8174ebb93
changelog: add new ‘unreleased’ section 2020-09-18 21:29:39 +02:00
Daniel Eklöf
43fc1af36c
Merge branch 'releases/1.5' into master 2020-09-18 21:29:10 +02:00
Daniel Eklöf
bfe3dfaf5c
meson/pkgbuild: bump version to 1.5.0 2020-09-18 21:23:27 +02:00
Daniel Eklöf
377a721b08
changelog: prepare for 1.5.0 2020-09-18 21:22:59 +02:00
Daniel Eklöf
70cf0966a5
changelog: add cherti to contributors 2020-09-18 21:22:27 +02:00
Daniel Eklöf
c244ff522e
Revert "changelog: add cherti to contributors"
This reverts commit 8f3692f9a6.
2020-09-18 21:22:10 +02:00
Daniel Eklöf
8f3692f9a6
changelog: add cherti to contributors 2020-09-18 21:20:12 +02:00
Daniel Eklöf
8dd358a8f4
meson/pkgbuild: bump fcft requirement to 2.3.0 2020-09-18 21:03:40 +02:00
Daniel Eklöf
fcb2beebda
selection: reset clipboard/primary->text after free:ing it 2020-09-17 20:05:22 +02:00
Daniel Eklöf
dd18710bb7
selection: primary unset: don’t free text twice 2020-09-17 20:02:38 +02:00
Daniel Eklöf
2e7102c956
render: fix rounding errors when setting initial window size and scale != 1
An odd cell width/height sometimes resulted in an odd grid
size. Combined with a scaling factor of e.g. 2, that led to a rounding
error when converting pixel sizes to logical window sizes.

As a result, the _next_ configure event would cause us to loose a
pixel, which led to us dropping a row from the grid.
2020-09-17 17:37:58 +02:00
Daniel Eklöf
185a6048a7
ci: fix path to junit report on release builds 2020-09-16 19:41:53 +02:00
Daniel Eklöf
0f0fec093e
ci: install fonts, needed for fcft tests 2020-09-16 19:38:50 +02:00
Daniel Eklöf
bcbf9872ec
ci: need the ‘dev’ version of ‘check’ on alpine 2020-09-16 19:29:46 +02:00
Daniel Eklöf
187b913050
ci: install ‘check’ - this enables fcft tests 2020-09-16 19:27:20 +02:00
Daniel Eklöf
0f7e9bc78a
ci: repair ninja test target 2020-09-16 19:19:51 +02:00
Daniel Eklöf
cf04e93e4b
ci: upload junit XML reports 2020-09-16 19:18:07 +02:00
Daniel Eklöf
6b20533b62
ci: explicitly enable harfbuzz in fcft 2020-09-16 19:13:22 +02:00
Daniel Eklöf
1347609c7c
ci: enable fcft’s text-shaping tests 2020-09-16 19:09:07 +02:00
Daniel Eklöf
2593459b55
Merge branch 'configurable-alternate-scroll-mode' into master
Closes #135
2020-09-16 08:05:56 +02:00
Daniel Eklöf
f30d7cce27
doc: foot.ini: alternate-scroll-mode: fix highlighting of CSI escape 2020-09-16 08:05:38 +02:00
Daniel Eklöf
3e9186a042
changelog: mouse events -> mouse scroll events 2020-09-15 19:29:38 +02:00
Daniel Eklöf
f2497320c6
config: add mouse.alternate-scroll-mode option
This option controls the initial state of the Alternate Scroll Mode,
and defaults to ‘enabled’.
2020-09-15 19:12:29 +02:00
Daniel Eklöf
04c1bab7b0
input: mouse_scroll(): refactor 2020-09-15 18:57:00 +02:00
Daniel Eklöf
cb41db8596
input: don’t use stale keycodes for arrow-up/down
The keycodes will change if the seat’s keymap changes. Make sure we
only do alternate scrolling if the seat has a keyboard, and use
the *current* layout’s keycodes for arrow up/down (instead of
the *first* layout’s).
2020-09-15 18:44:54 +02:00
Daniel Eklöf
028bbd03a3
input: don’t do alternate mode scrolling if application is grabbing mouse 2020-09-15 18:40:51 +02:00
Daniel Eklöf
6ad90e6323
input: don’t do grid scrollback if mouse events are being captured 2020-09-15 18:33:58 +02:00