Commit graph

1143 commits

Author SHA1 Message Date
Daniel Eklöf
d325ae10ee
vt: convert CSI param from table lookup to switch 2019-12-20 21:04:47 +01:00
Daniel Eklöf
23a6c6b711
vt: add missing 'entry' actions to 'anywhere' sections 2019-12-20 20:58:02 +01:00
Daniel Eklöf
b1fd960b4b
vt: convert CSI entry from table lookup to switch 2019-12-20 20:57:38 +01:00
Daniel Eklöf
a5f238b388
vt: re-align switches 2019-12-20 20:43:31 +01:00
Daniel Eklöf
b2f091d243
vt: replace GROUND, ESCAPE and ESCAPE_INTERMEDIATE tables with switches 2019-12-20 19:16:52 +01:00
Daniel Eklöf
56faca4266
vt: use a switch instead of a top-level state lookup table
Remove the top-level state lookup table, which mapped from a state
enum to a state transition table, and replace it with a switch.
2019-12-20 18:24:32 +01:00
Daniel Eklöf
5001dd844e
script: generate-alt-random: reduce output size 2019-12-19 20:01:52 +01:00
Daniel Eklöf
3f86a45f68
PKGBUILD: run foot with the default configuration 2019-12-19 20:00:54 +01:00
Daniel Eklöf
d6065ef659
osc: spell "#if 0" correctly 2019-12-19 19:55:52 +01:00
Daniel Eklöf
88a1ebafbd
render: fix bug when erasing old cursor; send correct compositor damage 2019-12-19 07:29:05 +01:00
Daniel Eklöf
52af40a3cd
render: render_cell: break out cursor rendering 2019-12-19 07:28:49 +01:00
Daniel Eklöf
aabb7a7e8f
render: attrs_to_font: const:ify 2019-12-19 07:28:33 +01:00
Daniel Eklöf
e7abd6ce97
osc: commented out beginning of OSC 777
I haven't decided if I want to support this
2019-12-19 07:28:10 +01:00
Daniel Eklöf
f8009b549a
term: cursor blink reset doesn't force-refresh the cursor 2019-12-19 07:27:41 +01:00
Daniel Eklöf
0efcb66f3a
term/render: check for is_shutting_down in grid_render() 2019-12-19 07:27:14 +01:00
Daniel Eklöf
4c924ab14a
main: verify locale is UTF-8 2019-12-19 07:25:05 +01:00
Daniel Eklöf
a366bc9ace
term: remove TODO 2019-12-19 07:24:46 +01:00
Daniel Eklöf
81840b4e8e
cursor blink: move reset to pty input 2019-12-19 07:23:58 +01:00
Daniel Eklöf
c22ae98729
render: get rid of 'all-clean' detection
Instead of trying to figure out if we had to render
something (i.e. something in the grid was dirty), and using that to
determine whether to post a callback or not, we now let
render_refresh() set a flag indication we need to render another
frame.

This simplifies render_grid(), which now _always_ renders, and pushes
it to the compositor.

The callback handler checks the pending flag and simply doesn't call
render_grid() when there's no more pending state to render.

This ends up reducing the number of wakeups when e.g. having a
blinking cursor.
2019-12-17 19:14:56 +01:00
Daniel Eklöf
418ff5bcd9
render: move blink timer handling to term.c 2019-12-17 19:14:55 +01:00
Daniel Eklöf
5f2592bd4b
completions: zsh: footclient: auto-complete files for -s,--server-socket 2019-12-17 19:10:19 +01:00
Daniel Eklöf
f408a070e2
completions: zsh: add -c,--config 2019-12-17 19:10:07 +01:00
Daniel Eklöf
6c52cc35c3
doc: foot.5: mention that setting workers=0 disables multithreading 2019-12-17 19:09:19 +01:00
Daniel Eklöf
9d09a09edd
doc: foot.1: add -c,--config 2019-12-17 19:09:09 +01:00
Daniel Eklöf
caa76bcdea
config: enable user to specify path to configuration file 2019-12-17 19:08:43 +01:00
Daniel Eklöf
d15631e3de
main: remove unused macros 2019-12-17 19:08:04 +01:00
Daniel Eklöf
a0fcec3a3d
log: caller can control syslog level 2019-12-17 19:07:28 +01:00
Daniel Eklöf
7a3fb9284e
render: render block cursor as a hollow rectangle when unfocused 2019-12-16 21:34:38 +01:00
Daniel Eklöf
66b948750e
input: restart cursor blink on keyboard input
This makes the cursor stay unblinking while typing.
2019-12-16 21:33:44 +01:00
Daniel Eklöf
f4e5baa123
term: disable cursor blink on unfocus, and re-enable on focus 2019-12-16 21:33:22 +01:00
Daniel Eklöf
dac31dd9c0
term: disable cursor blink before shutting down terminal, and remove from FDM 2019-12-16 21:32:57 +01:00
Daniel Eklöf
d490cc84c0
term: cursor blink: cursor refresh now dirties the cursor cell
Normally we don't dirty the cell on cursor movement. But, since a
blinking cursor isn't a cursor that has moved, our normal cursor
rendering wont work.

Dirty the cursor cell to force a redraw of it.
2019-12-16 21:31:40 +01:00
Daniel Eklöf
7d29435d86
term: implement cursor blinking
Blinking can be enabled either by setting the cursor style with

 CSI Ps SP q

and selecting a blinking style.

Or, with 'CSI ? 12 h'

Note that both affect the same internal state. I.e. you can disable
blinking with CSI ? 12l after having selected a blinking cursor
style. This is consistent with XTerm behavior.
2019-12-15 15:07:56 +01:00
Daniel Eklöf
5106937c7b
fdm: close fd even if we didn't find it in our list
This behavior is debatable, but helps in error handling where we're
removing a bunch of descriptors where not all of them have been added
to the FDM yet.
2019-12-15 15:06:09 +01:00
Daniel Eklöf
0e2219daa9
PKGBUILD/meson: bump version to 1.0.0 2019-12-15 12:43:46 +01:00
Daniel Eklöf
2f475d7b44
selection: optimize \r\n -> \n when receiving clipboard data
Instead of first memmoving, possibly lots of data lots of times, the
received buffer, and _then_ calling the callback, simply call the
callback multiple times, and just skip the \r character(s).
2019-12-15 12:11:12 +01:00
Daniel Eklöf
2c4af8728d
vt: add commented out cases for 8-bit C1 control characters
XTerm seems to ignore these when in UTF-8 mode. Since we _only_
support UTF-8, we don't need to recognize these control characters at
all.

However, it may be good to have them here for reference. So add them,
but commented out, along with their corresponding 7-bit
versions (which we _do_ recognize and implement).
2019-12-14 20:28:05 +01:00
Daniel Eklöf
afc8ed97a6
csi: describe format of reply to tertiary DA 2019-12-14 19:10:59 +01:00
Daniel Eklöf
7d8327369b
csi: Send Device Attributes, Tertiary DA: require Ps == 0 2019-12-14 14:38:03 +01:00
Daniel Eklöf
c186f3dc0e
client: strncpy() size limit must be less than destination size 2019-12-14 13:14:24 +01:00
Daniel Eklöf
b2f72d470a
client: add missing break after handling -t,--term 2019-12-14 13:07:33 +01:00
Daniel Eklöf
4102f9d478
client: add 's:' to the list of recognized short options 2019-12-14 13:07:19 +01:00
Daniel Eklöf
9862d2c3a9
Merge branch 'server-socket-path' 2019-12-14 13:03:22 +01:00
Daniel Eklöf
cc0903cabe
completions: zsh: footclient: add -s,--server-socket 2019-12-14 13:02:33 +01:00
Daniel Eklöf
1808c8a5fc
completions: zsh: foot: complete optional -s,--server PATH argument 2019-12-14 13:02:08 +01:00
Daniel Eklöf
a71147a64d
doc: footclient.1: add -s,--server-socket 2019-12-14 13:01:54 +01:00
Daniel Eklöf
ccb3ce5df7
doc: foot.1: update with optional PATH argument to -s,--server 2019-12-14 13:01:37 +01:00
Daniel Eklöf
c0a9cf7767
client: initialize/deinitialize the logging system 2019-12-14 13:01:21 +01:00
Daniel Eklöf
c5875bf97c
client: add -s,--server-socket command line option
This allows the user to override the default
path (XDG_RUNTIME_DIR/foot.sock) we try to connect to.
2019-12-14 13:00:48 +01:00
Daniel Eklöf
44f24b01bc
main: allow server socket path to be set on the command line
This adds an optional argument to -s,--server that allows the user to
override the default socket path (XDG_RUNTIME_DIR/foot.sock).
2019-12-14 12:59:54 +01:00