Commit graph

2357 commits

Author SHA1 Message Date
Daniel Eklöf
02fef60160
Merge branch 'master' into scrollback-position-indicator 2020-07-27 19:06:02 +02:00
Daniel Eklöf
ddbca7ca55
changelog: add new 'unreleased' section 2020-07-27 19:00:25 +02:00
Daniel Eklöf
198c79439c
Merge branch 'releases/1.4' 2020-07-27 18:59:10 +02:00
Daniel Eklöf
e71108d7c3
meson/pkgbuild: bump version to 1.4.3 2020-07-27 18:55:28 +02:00
Daniel Eklöf
4143f331ff
changelog: prepare for 1.4.3 2020-07-27 18:55:12 +02:00
Daniel Eklöf
a3db31d5cb
Merge branch 'master' into releases/1.4 2020-07-27 18:54:25 +02:00
Daniel Eklöf
5c20069588
Merge branch 'master' into scrollback-position-indicator 2020-07-27 16:51:39 +02:00
Daniel Eklöf
77afd61525
doc: foot.5: modifiers+keys are plural 2020-07-27 16:45:34 +02:00
Daniel Eklöf
7127a0a6c3
selection: extending a selection is now interactive
That is, a selection extension can be resized just like an ordinary
extension.
2020-07-27 16:44:41 +02:00
Daniel Eklöf
50bd51c4d4
tokenize: handle escaped quotes
We only support escaping quotes inside a quote, and only of the same
type as the enclosing quote.

I.e.

  "double quote \"escaped double quote\""

But not

  "double quote \'invalid escaped single quote\'"
2020-07-27 16:43:41 +02:00
Daniel Eklöf
3b2492029e
Merge branch 'tokenizer-reset-argv-on-error'
Closes #49.
2020-07-27 16:42:02 +02:00
Daniel Eklöf
faad093627
changelog: mention fix for crash on unclosed quote in tokenizer 2020-07-27 16:41:35 +02:00
Daniel Eklöf
9bc10cdb01
render: scrollback indicator: render relative indicator "smoothly"
That is, don't require it to be placed on a grid row.
2020-07-27 16:39:08 +02:00
Daniel Eklöf
a9eeeedc90
tokenize: remove newline from log message (LOG_ERR appends one for us) 2020-07-27 06:04:29 +02:00
Daniel Eklöf
22cd25d360
tokenize: reset *argv = NULL on error
This allows the caller to call free() without having to worry about
whether it has already been free:d or not.

Closes #49.
2020-07-27 06:03:30 +02:00
Daniel Eklöf
ee5c9d714a
changelog: scrollback position indicator 2020-07-26 12:41:32 +02:00
Daniel Eklöf
82d7cfdfe4
Merge branch 'master' into scrollback-position-indicator 2020-07-26 12:40:00 +02:00
Daniel Eklöf
a98484c6eb
render: scrollback indicator: add top margin 2020-07-26 12:37:57 +02:00
Daniel Eklöf
1a65b161dc
input: handle the scrollback indicator surface in pointer events 2020-07-26 12:37:35 +02:00
Daniel Eklöf
76350c568e
term: term_surface_kind(): recognize the scrollback indicator sub-surface 2020-07-26 12:37:12 +02:00
Daniel Eklöf
c1f35731e0
input: margins are not selectable
* Fix col/row calculation in pointer-enter event; we did not take the
  margins into account.
* seat->mouse.col,row are now set to -1 if the cursor is inside the
  margins. That is, col/row are only ever valid when the mouse is
  actually over the grid, and not in the margins.
* Use regular 'left-ptr' mouse cursor when mouse is inside the
  margins, to not make the user think he/she can start a selection.

Besides making things clearer, this also fixes a crash that occurred
if you started a selection in e.g. the right margin.
2020-07-26 12:37:02 +02:00
Daniel Eklöf
50d116dcb9
config: scrollback-indicator-format: percent -> percentage 2020-07-26 11:39:02 +02:00
Daniel Eklöf
9a9e876d6e
render: scrollback indicator: use black on bright blue 2020-07-26 10:42:38 +02:00
Daniel Eklöf
2e519ed5b6
render: scrollback indicator: implement 'relative' and 'line' variants
We now implement all combinations of 'scrollback-indicator-style' and
'scrollback-indicator-format'.
2020-07-26 10:18:05 +02:00
Daniel Eklöf
67758a7cb7
render: scrollback indicator: wip: implement 'fixed:percent' indicator
When scrollback indicator has been enabled, and the viewport isn't at
the bottom, we now render a *static* indicator with the position in
percent.

We use the color scheme's blue color as background, and it's white
color as foreground. This is subject to change... Should maybe be
configurable as well.

The Wayland surface + sub-surface are instantiated on-demand, and
automatically destroyed when no longer used.
2020-07-26 10:01:26 +02:00
Daniel Eklöf
c2362c10f1
render: search: fix subpixel argument to fcft_glyph_rasterize() 2020-07-26 10:01:05 +02:00
Daniel Eklöf
2815c1c076
wayland: add scrollback indicator surface + sub-surface to wl_window 2020-07-26 10:00:50 +02:00
Daniel Eklöf
a39c490d9b
shm: add shm_cookie_scrollback_indicator() 2020-07-26 10:00:21 +02:00
Daniel Eklöf
d180de00a9
config: fix error message for 'scrollback-indicator-style' 2020-07-26 09:44:16 +02:00
Daniel Eklöf
be7d0a5615
config: fix key check for 'scrollback-indicator-style' 2020-07-26 09:43:58 +02:00
Daniel Eklöf
9edd71a741
config: rename scrollback-indicator-style value 'static' to 'fixed' 2020-07-25 14:40:46 +02:00
Daniel Eklöf
e3be2cbd6f
config: rename scrollback-indicator-style value 'moving' to 'relative' 2020-07-25 14:38:36 +02:00
Daniel Eklöf
c4679e474e
config: rename scrollback-indicator to scrollback-indicator-style
And turn it from a boolean to an enum. It can be set to:

* `none` - disables the indicator
* `static` - always rendered near the top of the window
* `moving` - position reflects the scrollback position
2020-07-25 14:31:45 +02:00
Daniel Eklöf
80741371c9
doc: benchmark: update 'laptop' results after foot-1.4.0 2020-07-25 14:21:01 +02:00
Daniel Eklöf
4153d77feb
changelog: add 'contributors' section 2020-07-25 13:55:05 +02:00
Daniel Eklöf
58cec40016
doc: benchmarks: update 'desktop' results after foot-1.4.0 release 2020-07-25 13:51:24 +02:00
Daniel Eklöf
6413736052
Merge branch 'manpage' 2020-07-25 13:46:29 +02:00
Daniel Eklöf
ee92840363
Merge branch 'footrc' 2020-07-25 13:44:35 +02:00
Jonas 'cherti' Große Sundrup
ed945611a6
Add inline color-number-mapping as comment 2020-07-25 13:42:13 +02:00
Jonas 'cherti' Große Sundrup
38ba3f5429
Add configuration instructions to the README 2020-07-25 13:38:13 +02:00
Jonas 'cherti' Große Sundrup
b5668a72d3
Correct the location of footrc in manpage 2020-07-25 13:30:43 +02:00
Daniel Eklöf
9f82cbaa49
search: fix crash when searching the scrollback history
search_update_selection() was changed in 1.4.x to *first* update the
selection, *then* move the viewport.

This leads to a crash if the new match (selection) is outside the
current viewport; the selection code assumes the updated selection
endpoint is in the visible viewport.

Changing back to *first* move the viewport, *then* update the
selection solves this.
2020-07-25 11:23:54 +02:00
Daniel Eklöf
057ff3ba21
readme: spelling fixes 2020-07-25 09:52:30 +02:00
Daniel Eklöf
82a33966ed
Merge branch 'birger-patch-1' 2020-07-25 09:50:45 +02:00
birger
3f993d00b7 Fix typo 2020-07-25 09:41:50 +02:00
birger
bc3b464745 Fix typos 2020-07-25 09:39:03 +02:00
Daniel Eklöf
700edff214
pkgbuild: include changelog 2020-07-25 09:06:04 +02:00
Daniel Eklöf
373745c597
meson: install LICENSE, README.md and CHANGELOG.md 2020-07-25 09:05:11 +02:00
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
5b868fd0c9
config: add 'scrollback-indicator-format' option
The value of this option must be either 'percent', or 'line', and
determines _how_ we render the scrollback indicator.
2020-07-24 18:35:34 +02:00