Commit graph

4842 commits

Author SHA1 Message Date
Daniel Eklöf
de6ab6dca0
Merge branch 'update-input-serial-on-each-keypress'
Closes #753
2021-10-21 16:18:51 +02:00
Daniel Eklöf
d60e303c33
config: error out on invalid grapheme-width-method values 2021-10-21 16:17:41 +02:00
Daniel Eklöf
5b66592a57
render: tab -> spaces 2021-10-20 20:03:15 +02:00
Daniel Eklöf
8691ad8b2e
input: update serial on each key press/release and mouse button
The serial is used when copying/pasting data from the clipboard. Up
until now, we’ve used the serial from the keyboard/mouse enter
events.

This works in most cases, but breaks in the following example:

  $ wl-copy  WLCOPY
  /* Ctrl+Shift+v works fine (pastes "WLCOPY") */

  $ printf "\033]52;c;eHl6\a"
  /* Ctrl+Shift+v pastes "WLCOPY" instead of "xyz" */

Shifting focus away and then back to the foot window, and re-executing
the printf works, suggesting the “enter” serial is no longer valid
after another process(?) has copied something to the clipboard.

Updating the serial on key press/release (and the corresponding mouse
serial on mouse button events) seems to fix this.

I’ve also tested that “normal” copy/paste operations, within the same
foot instance, and between foot and other applications, are still
working. In at least river (wlroots based), and GNOME/mutter.

Closes #753
2021-10-20 19:59:57 +02:00
Daniel Eklöf
174f8870c7
Merge branch 'parse-rgb-strlen' 2021-10-20 19:59:05 +02:00
Daniel Eklöf
266b03be9a
Merge branch 'warn-not-to-use-single-letter-key-bindings-in-url-mode' 2021-10-20 19:56:12 +02:00
Daniel Eklöf
60edefc311
doc: foot.5: warn user to be careful with single letter key bindings in url mode 2021-10-20 19:55:08 +02:00
Daniel Eklöf
ecd8776dfd
Merge branch 'osc-bel' 2021-10-20 19:06:09 +02:00
Daniel Eklöf
fbc0155c55
Merge branch 'clipboard-convert-carriage-ret-to-new-line'
Closes #752
2021-10-20 18:57:25 +02:00
Craig Barnes
2e87889279 osc: use STRLEN() macro to make parse_rgb() more self-documenting
The empty literals in the macro are to ensure the argument itself
is a string literal, so it can't be used on anything else.
2021-10-20 17:05:36 +01:00
Craig Barnes
52dcf72d0b osc: use BEL terminator in OSC replies to BEL-terminated OSC queries
This matches the documented (and observed) behavior in xterm:

> XTerm accepts either BEL or ST for terminating OSC sequences, and
> when returning information, uses the same terminator used in a query

-- https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands
2021-10-20 12:48:37 +01:00
Daniel Eklöf
5ab49de7f2
selection: convert \r -> \n when reading clipboard data
This fixes an issue where pasting (using e.g. OSC-52) in client
applications that doesn’t do this conversion themselves, like tmux,
doesn’t work.

Closes #752
2021-10-19 21:34:04 +02:00
Daniel Eklöf
6dfacb9c08
Merge branch 'nordiq' 2021-10-18 21:44:10 +02:00
armin
e8753a20ce add Nordiq theme 2021-10-18 16:44:44 +02:00
Daniel Eklöf
d4b365b55c
pgo: full-inner: add --override tweak.grapheme-shaping=no
Grapheme shaping is now enabled by default in foot. However, when
generating the profiling data in PGO builds, this results in skewed
optimizations.

The end result is worse benchmark results regardless of whether
grapheme-shaping is enabled or not (when running the benchmarks).
2021-10-16 16:58:59 +02:00
Daniel Eklöf
f9782848e5
doc: foot.1: reporting bugs: move “search existing issues” 2021-10-16 15:30:21 +02:00
Daniel Eklöf
4ffa37e619
readme: reporting bugs: move “search existing issues” 2021-10-16 15:29:57 +02:00
Daniel Eklöf
a75f1f7ab4
doc: foot.1: reporting bugs: re-order and tweak
* Tell people to search existing bugs first (open + closed)
* Re-order instructions: most important ones first
2021-10-16 15:25:11 +02:00
Daniel Eklöf
2a9c667650
readme: reporting bugs: re-order and tweak
* Tell people to search existing bugs first (open + closed)
* Re-order instructions: most important ones first
2021-10-16 15:22:40 +02:00
Daniel Eklöf
f22bc60bfc
Merge branch 'enable-grapheme-shaping-by-default' 2021-10-16 13:56:31 +02:00
Daniel Eklöf
37f9f54840
config: enable grapheme shaping by default
This changes the default value of tweak.grapheme-shaping to “yes”,
thus enabling grapheme shaping by default.

It also changes the default value of tweak.grapheme-width-method to
“wcswidth”, for maximum compatibility with terminal applications.
2021-10-13 17:42:40 +02:00
Daniel Eklöf
75533e01b5
Merge branch 'generate-version-handle-repo-not-having-any-tags' 2021-10-11 20:27:05 +02:00
Daniel Eklöf
1c1b2bd101
ci: run “foot --version” and “footclient --version” after each build 2021-10-11 20:18:26 +02:00
Daniel Eklöf
7d30bccad8
generate-version: handle git repo not having any tags 2021-10-11 20:11:41 +02:00
Craig Barnes
a31d04fa23 doc: ctlseq: improve text formatting in CSI and SGR sections
Using underlining for parameters allows the angle brackets to be
removed while still keeping a visual separation between literals
and parameters. The removes any uncertainty about whether the
angle brackets are part of the sequence or not. It also mirrors
the formatting used further down in the document.
2021-10-11 15:40:36 +01:00
Craig Barnes
fd989f47cf doc: ctlseq: fix SGR table heading
The other tables that contain only params also use the heading
"Parameter" rather than "Sequence".
2021-10-11 15:13:45 +01:00
Daniel Eklöf
dfd9590931
ci: limit builds to the master branch (and pulls targeting it) 2021-10-10 19:07:21 +02:00
Daniel Eklöf
62e67a26f5
ci: codeberg CI 2021-10-10 18:10:09 +02:00
Daniel Eklöf
20e025be39
foot.ini: add commented out default value of colors.scrollback-indicator 2021-10-10 10:43:11 +02:00
Daniel Eklöf
b3bc7ec413
Merge branch 'configurable-indicator-colors' 2021-10-10 10:41:55 +02:00
feeptr@codeberg.org
85cc05ba22 changelog: list scrollback.indicator-color addition 2021-10-09 16:59:52 -04:00
feeptr@codeberg.org
7eea97b659 doc: document indicator-color 2021-10-09 16:59:52 -04:00
feeptr@codeberg.org
650cfa18ef config, render: scrollback indicator: allow configuring scrollback indicator colors 2021-10-09 16:59:52 -04:00
Daniel Eklöf
7704bea876
Merge branch 'use-pixman-renderer' 2021-10-09 12:30:25 +02:00
Daniel Eklöf
227b33ac75
doc: benchmark: 1.9.2 results, laptop 2021-10-09 12:20:11 +02:00
Daniel Eklöf
fbc1770348
doc: benchmark: 1.9.2 results, beefy desktop 2021-10-09 11:33:30 +02:00
Stanislav Ochotnický
85aaff68fb pgo: Use pixman renderer by default for PGO builds
Without pixman renderer override pgo builds in cage/sway require
access to actual render devices. In Gentoo's case the builds are run
as ordinary user and within a "sandbox" which prevents and logs access
outside of predefined places during build.

So let's default to pixman renderer for the PGO builds. Hopefully that
won't matter for the pgo optimizations to do the right thing within foot.
2021-10-08 16:34:36 +02:00
Daniel Eklöf
0be711497d
Merge branch 'fix-0px-csd-crash' 2021-10-08 10:05:52 +02:00
feeptr@codeberg.org
ed42276ee1 changelog: mention csd.size=0 fix 2021-10-08 02:28:01 +00:00
Daniel Eklöf
3d1fa4bcc3
Merge branch 'notify-focus-inhibit' 2021-10-07 19:42:06 +02:00
Daniel Eklöf
459786af0b
Merge branch 'mouse-modifiers-regression'
Closes #736
2021-10-07 19:26:23 +02:00
Mitja Horvat
729f7466ae notify: add the notify-focus-inhibit config option
foot doesn't show desktop notifications (via OSC777) if the current
terminal has keyboard focus.

This is probably a sane default, but there are use cases where showing
a notification regardless of the focus status may be desired. For
example, a completion notification of a long running task inside a
non-focused tmux window.

This PR adds the notify-focus-inhibit option which can be used to
disable inhibition of notifications when the window has focus.

The default value is `yes`, which retains the old behavior.
2021-10-06 23:33:17 +02:00
Daniel Eklöf
dbc01459e7
input: filter out non-significant modifiers when matching mouse bindings
Closes #736
2021-10-06 20:12:17 +02:00
Daniel Eklöf
b1c03861cd
pgo: verify source dir really is a foot source dir before proceeding 2021-10-06 20:10:58 +02:00
feeptr
304aacdb7a fix crashes when resizing after CSD enabled at runtime with csd.size = 0 2021-10-04 18:14:58 -04:00
Daniel Eklöf
8e4d020a41
input: check for ‘effective’ modifiers, not ‘depressed’
When reading XKB modifier state, use XKB_STATE_MODS_EFFECTIVE, not
XKB_STATE_MODS_DEPRESSED.

This fixes handling of ‘sticky’ modifier keys.
2021-10-02 17:33:01 +02:00
Daniel Eklöf
e789628f82
install: improve readability of the PGO LC_CTYPE paragraph 2021-10-02 15:24:48 +02:00
Daniel Eklöf
cb64508968
pkgbuild: mention that “partial” produces a slower binary than “full” 2021-10-02 15:23:11 +02:00
Daniel Eklöf
cc35777c7f
pkgbuild: spelling: procude -> produce 2021-10-02 15:14:11 +02:00
Daniel Eklöf
e49f741383
changelog: add a new ‘unreleased’ section 2021-10-02 14:48:13 +02:00