Daniel Eklöf
9049488acc
client: log path we actually tried to connect to (and failed)
2020-03-10 18:06:10 +01:00
Daniel Eklöf
1c42fadcf7
client: update --server-socket usage to mention XDG_SESSION_ID
2020-03-10 18:06:10 +01:00
Daniel Eklöf
25792a7e8c
server/client: add XDG_SESSION_ID to the default socket path
...
This allows multiple foot servers to run in multiple sessions.
2020-03-09 18:47:10 +01:00
Daniel Eklöf
54fbfb6405
client: make sure 'cwd' is in scope of all goto's
2020-02-20 20:21:34 +01:00
Daniel Eklöf
e751227dc6
client: allocate current working directory buffer dynamically
2020-02-20 18:45:42 +01:00
Daniel Eklöf
b5efe984bb
slave: prefix argv[0] with a '-' when spawning a login-shell
2020-02-20 18:36:09 +01:00
Daniel Eklöf
8dee9bf942
client: add --login-shell command line option
2020-02-20 18:34:51 +01:00
Daniel Eklöf
82b8853f17
main: add --print-pid=FILE|FD
...
When specified, our PID is written to the specified file (or FD),
after we've successfully started up.
2020-02-05 19:54:16 +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
a0fcec3a3d
log: caller can control syslog level
2019-12-17 19:07:28 +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
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
9abc5ca971
server/client: harden reading of initialization data, and make async
...
* Client terminal initialization data is now received
asynchronously. To facilitate this, a couple of minor changes to the
protocol was made:
- The client now starts with sending a 4-byte unsigned integer
with the *total* size of the initialization data (*not*
including the size field itself.
- Strings (TERM variable + argv) are now sent NULL-terminated
* The server allocates a single buffer, and fills it
asynchronously. When full (as indicated by the initial 'total size'
integer), we parse it (taking care not to read outside boundaries
etc, and verifies the lengths (of the TERM variable and argv array)
indicated by the client matches the actual lengths of the strings
received.
* The server now ignores 'unexpected' data received from the client,
after the terminal has been instantiated.
2019-11-05 10:08:30 +01:00
Daniel Eklöf
17024b4431
client: bug: verify argv was sent correctly
...
We checked we had written 2 bytes (sizeof(len)), not <len> bytes.
2019-11-02 00:01:16 +01:00
Daniel Eklöf
570b3ac25a
client: add debug logging of argc/argv
2019-11-02 00:01:08 +01:00
Daniel Eklöf
2544e93c0e
client: register signal handler for SIGTERM too
2019-11-01 21:13:37 +01:00
Daniel Eklöf
438d6eaff0
client/server: add -t,--term to footclient
2019-11-01 21:10:47 +01:00
Daniel Eklöf
77ea7fc61c
client: add long options for --verbose and --help
2019-11-01 20:50:00 +01:00
Daniel Eklöf
6637c8aeda
client: a standalone binary that connects to a foot --server
2019-11-01 20:39:34 +01:00