Commit graph

182 commits

Author SHA1 Message Date
Daniel Eklöf
d929862245
config: move cursor.hide-when-typing to mouse.hide-when-typing 2020-08-04 07:33:15 +02:00
Daniel Eklöf
36468b0406
config: add scrollback.multiplier option
This option is used to multiply the mouse scroll amount for mouse and
trackpad based scrollback scrolling.

Closes #54.
2020-08-03 20:08:39 +02:00
Daniel Eklöf
2ee9830e2a
changelog: add craigbarnes to 'contributors' for the upcoming release 2020-08-03 08:17:26 +02:00
Daniel Eklöf
5e26d3ef47
server/client: use $WAYLAND_DISPLAY instead of $XDG_SESSION_ID in default socket path
Foot is a Wayland client and cannot be run outside of a Wayland
session. As such, it makes more sense to use $WAYLAND_SESSION instead
of $XDG_SESSION_ID in the default socket path since this makes it
clearer which Wayland session we belong to.

Closes #55.
2020-08-02 13:10:31 +02:00
Daniel Eklöf
d4ee9be4d7
config: add 'hide-when-typing'
When enabled, the mouse cursor is hidden when the user types in the
terminal. It is un-hidden when the user moves the mouse, or when the
window loses keyboard focus.
2020-07-31 17:09:06 +02:00
Daniel Eklöf
b00dfcf7b6
config: configuration errors are no longer fatal
Instead of refusing to start foot on configuration errors, we start
and print a user-notification.
2020-07-31 17:07:14 +02:00
Daniel Eklöf
639a61abd8
config: add 'pipe-selected' key binding
This works just like pipe-visible and pipe-scrollback, but pipes the
user-selected text, if any, to the external tool.

Closes #51
2020-07-31 17:04:30 +02:00
Daniel Eklöf
7767041c2c
config: tokenize key bindings' pipe command when loading the configuration
This allows us to detect syntax errors early on, and is also more
efficient since we don't have to re-tokenize the command line every
time the binding is executed.
2020-07-30 18:53:51 +02:00
Daniel Eklöf
6a186cb356
changelog: use <section>.<option> syntax 2020-07-30 18:50:01 +02:00
Daniel Eklöf
906c8f4d16
changelog: update scrollback indicator entry to reflect moved options 2020-07-29 17:50:19 +02:00
Daniel Eklöf
86e7cb04c4
main: add --check-config command line option 2020-07-29 17:48:22 +02:00
Daniel Eklöf
d11d374252
config: add scrollback section
* Move 'scrollback' to 'scrollback.lines'
* Move (the new) 'scrollback-indicator-*' options to
  'scrollback.indicator-*'

Log a deprecation warning when the old 'scrollback' option is used,
but don't remove it, yet.
2020-07-29 17:41:24 +02:00
Daniel Eklöf
919f31ffcb
search/config: configurable key bindings for (scrollback) search mode 2020-07-29 17:27:01 +02:00
Daniel Eklöf
d361951dd5
changelog: scrollback indicator is a *new* feataure 2020-07-29 07:08:14 +02:00
Daniel Eklöf
63a5343dd4
Merge branch 'releases/1.4' into master 2020-07-29 07:07:46 +02:00
Daniel Eklöf
a4d2a2bf28
changelog: add extra newline between index and first release 2020-07-29 07:01:44 +02:00
Daniel Eklöf
f8d9bf18e5
config: handle trailing comments and empty values 2020-07-29 07:01:10 +02:00
Daniel Eklöf
7eee2d715d
changelog: improved font size consistency across monitors with different DPI 2020-07-29 06:59:06 +02:00
Daniel Eklöf
d675cf8720
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-29 06:57:22 +02:00
Daniel Eklöf
363a0de8b9
changelog: add 1.4.4 section 2020-07-29 06:55:23 +02:00
Daniel Eklöf
403b6bd323
changelog: move #47 to the correct release 2020-07-28 20:07:53 +02:00
Daniel Eklöf
295083059c
Merge branch 'master' into diagonal-dpi 2020-07-28 20:01:56 +02:00
Daniel Eklöf
df75880672
changelog: improved font size consistency across monitors with different DPI 2020-07-28 20:00:32 +02:00
Daniel Eklöf
eadb5a4a88
config: handle trailing comments and empty values 2020-07-28 19:55:09 +02:00
Daniel Eklöf
62c4f1e5b4
doc: rename foot.5 -> footrc.5 2020-07-27 20:09:40 +02:00
Daniel Eklöf
718e5b4a77
config: rename scrollback-indicator-style to scrollback-indicator-position 2020-07-27 20:09:36 +02:00
Daniel Eklöf
9d85913136
changelog: move scrollback indicator entries from 1.4.3 to 'unreleased' 2020-07-27 19:08:28 +02:00
Daniel Eklöf
0c8b44ab67
changelog: add link to issue 2020-07-27 19:07:00 +02:00
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
4143f331ff
changelog: prepare for 1.4.3 2020-07-27 18:55:12 +02:00
Daniel Eklöf
5c20069588
Merge branch 'master' into scrollback-position-indicator 2020-07-27 16:51:39 +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
faad093627
changelog: mention fix for crash on unclosed quote in tokenizer 2020-07-27 16:41:35 +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
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
4153d77feb
changelog: add 'contributors' section 2020-07-25 13:55:05 +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
373745c597
meson: install LICENSE, README.md and CHANGELOG.md 2020-07-25 09:05:11 +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
0e0d6aea86
changelog: prepare for 1.4.2 2020-07-23 18:51:33 +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