Daniel Eklöf
39146fac5c
term: term_init: add 'cwd' argument
...
This is used when spawning the slave, to set its current working
directory just before we exec() the client.
In a regular foot instance, we set the cwd from getcwd().
In a foot server instance, each connecting client sends its cwd to the
server, and we use that.
2019-12-21 19:57:28 +01:00
Daniel Eklöf
277735db65
client/server: client sends its CWD to server
2019-12-21 19:56:37 +01:00
Daniel Eklöf
0bb15d3d16
Merge branch 'launch-new-instance'
2019-12-21 19:44:36 +01:00
Daniel Eklöf
c3a23cf5b7
osc: implement OSC 7 - set PWD
...
OSC 7 updates the terminal's view of the current working
directory. The format is OSC 7;URI ST
We decode the URI and updates the term structs 'cwd' member.
This is then used when spawning a new terminal instance.
2019-12-21 19:42:59 +01:00
Daniel Eklöf
016bde1bd4
term: wip: track current working directory
...
This sets the initial current working directory, as it is when the
terminal is instantiated.
We chdir() to it just before spawning a new terminal.
2019-12-21 15:35:54 +01:00
Daniel Eklöf
a484a65fef
term: term_spawn_new: always spawn foot/footclient from PATH
2019-12-21 15:29:42 +01:00
Daniel Eklöf
57de9feaa5
term: term_spawn_new(): new function, spawns a new foot/footclient process
...
Bind ctrl+shift+return to it
2019-12-21 15:27:17 +01:00
Daniel Eklöf
2a95f2949b
term: experimental: tweak delay timeouts
...
Increase the low timeout, to try to give clients/slaves more time to
emit data.
Decrease the upper timeout. On average, we should have ~½ frame left
until the next frame. So a maximum delay of a whole frame *will* delay
the update one extra frame in many cases.
Hopefully, the low timeout is still low enough that we don't miss the
next frame, on average.
2019-12-21 00:12:00 +01:00
Daniel Eklöf
b92cc9a7c7
Merge branch 'switched-based-vt-parser'
2019-12-21 00:05:21 +01:00
Daniel Eklöf
56824e459d
Revert "vt: refactor"
...
This reverts commit a575204bc7 .
2019-12-20 23:59:23 +01:00
Daniel Eklöf
a575204bc7
vt: refactor
2019-12-20 23:45:21 +01:00
Daniel Eklöf
1bc8562026
vt: visually compact the switch tables
2019-12-20 23:38:16 +01:00
Daniel Eklöf
5a0e27fd6c
vt: remove enum action; add separate functions for each action instead
2019-12-20 23:27:15 +01:00
Daniel Eklöf
032f478661
vt: remove debug assert
2019-12-20 23:26:18 +01:00
Daniel Eklöf
9ad9e4ccaf
vt: use a pointer that we increment, instead of indexing
2019-12-20 23:00:07 +01:00
Daniel Eklöf
914b96cc9a
vt: use break, not continue
2019-12-20 22:13:23 +01:00
Daniel Eklöf
ee8a9674c4
vt: no need to assign to term->vt.state for *every* input byte
2019-12-20 22:12:35 +01:00
Daniel Eklöf
f36752f4d0
vt: remove dead code
2019-12-20 22:11:35 +01:00
Daniel Eklöf
d29de6f90a
vt: don't special case UTF-8 collect state
2019-12-20 22:10:27 +01:00
Daniel Eklöf
2d79497093
vt: convert SOS/PM/APC string from table lookup to switch
2019-12-20 21:50:54 +01:00
Daniel Eklöf
ad1773d7bc
vt: convert DCS from table lookup to switch
2019-12-20 21:48:04 +01:00
Daniel Eklöf
dca403e100
vt: convert CSI ignore from table lookup to switch
2019-12-20 21:13:06 +01:00
Daniel Eklöf
0d6555bea9
vt: convert CSI intermediate from table lookup to switch
2019-12-20 21:09:00 +01:00
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