Commit Graph

390 Commits (b9273944908daecf9adfd337e993420f4019fad2)

Author SHA1 Message Date
Andri Yngvason b927394490 Add seat name to client-connected event 2023-03-27 21:19:23 +00:00
Andri Yngvason c302c20939 Remove unnecessary copying when listing clients 2023-03-25 13:08:15 +00:00
Andri Yngvason 842da93de4 Iterate over clients instead of listing
This model avoids memory allocations and allows for re-use of
the info function for client events.
2023-03-25 12:57:24 +00:00
Andri Yngvason 0414e1fd87 Show seat in client list 2023-03-25 10:33:16 +00:00
Andri Yngvason 75173ea838 main: Increase access to per-client seats 2023-03-25 10:30:31 +00:00
Andri Yngvason 1ef290d2d4 Implement ext-transient-seat-v1 2023-03-23 22:04:05 +00:00
Jim Ramsay 00d7a7bde3 Fix 'wayvncctl wayvnc-exit' return code
When shutting down wayvnc, it is likely the IPC connection will drop
before the IPC response ia received, so count dicsonnection as success.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-02-27 06:33:43 -05:00
Jim Ramsay 88f0571dc3 Harden wayvncctl --reconnect
Required so wayvncctl doesn't exit unexpectedly especially on freebsd.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-02-27 06:01:27 -05:00
Jim Ramsay e3ea6652f0 Harden wayvncctl client json message parsing
This allows proper parsing of back-to-back incoming json
events/responses.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-02-27 06:01:27 -05:00
Benjamin Richter 78e7e448c6 main: Fix unix-socket option parsing
option_parser_get_value was looking for "unix" instead of "unix-socket" before, so it was impossible to switch to unix socket mode
2023-02-14 19:37:57 +01:00
Michael Vetter 2f6a1c4c23 Dont include ctrl-server.h in client file
Seems to be a copy/paste mistake.
I don't see that any of the definitions of that header are used in
`ctl-client.c`.

Fix https://github.com/any1/wayvnc/issues/232
2023-01-27 21:49:57 +00:00
Jim Ramsay fd652e7a23 Fix all non-parameterized IPCs
Reverts part of 0b970ba3 which disabled all IPCs that don't take
parameters.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-26 22:53:08 -05:00
Andri Yngvason e710d47f2e ctl-client: Use EAGAIN instead of ENODATA
The latter is obsolete in POSIX.1-2008.
2023-01-23 22:26:38 +00:00
Andri Yngvason 267a4e55e3 ctl-commands: Use slightly more helpful schemas 2023-01-17 20:05:17 +00:00
Andri Yngvason 5bf6f23eed ctl-client: Replace = with : in event description
Let's not abuse the equality sign more than necessary. ;)
2023-01-17 20:05:17 +00:00
Andri Yngvason b54b0a31f7 ctl-commands: Fix typo 2023-01-17 20:05:17 +00:00
Andri Yngvason 6fccedcf41 ctl-commands: Capitalise "VNC" 2023-01-17 20:05:17 +00:00
Andri Yngvason f49aea40a4 ctl-server: Improve error messages for missing arguments 2023-01-17 20:05:17 +00:00
Andri Yngvason 0b970ba355 ctl-server: Fix segfault in error path
This would segfault e.g. if issuing:
$ waynvcctl client-disconnect # without argument
2023-01-17 20:05:17 +00:00
Andri Yngvason 6e326af2ff ctl-client: Print trailing newline for events
If someone wants to parse this instead of using jq, a trailing
newline delimits the end of the event.
2023-01-17 20:05:17 +00:00
Andri Yngvason aa96103ae8 ctl-client: Don't print "<<null>" for events with no params
It's inconsistent and doesn't seem helpful either.
2023-01-17 20:05:17 +00:00
Andri Yngvason 5d1421a063 ctl-client: Remove decorations in client/output lists
Those decorations do not appear to improve readability or
parsability.
2023-01-17 20:05:17 +00:00
Andri Yngvason d8bc5cd328 ctl-client: Remove messages about how many clients/outputs there are
When you type "ls", it doesn't tell you how many files there are.
If the user wants to know that, they can use "wc -l" or count them.
2023-01-17 20:05:17 +00:00
Andri Yngvason bbea931f8c ctl-client: Rename print_as_yaml -> print_for_human
The goal is to have this human friendly, not yaml.
2023-01-17 20:05:17 +00:00
Andri Yngvason 0fc43ef757 ctl-client: Use more descriptive response error message 2023-01-17 20:05:17 +00:00
Andri Yngvason baea2e8f4c ctl-client: Add a few vertical spaces + style changes
This change is intended to make things easier to read for myself.
2023-01-17 20:05:17 +00:00
Andri Yngvason 889f5900cc ctl-client: Rename WARNING log level to ERROR
All of these are basically errors.

A warning is often a recoverable event, an error isn't.
2023-01-17 20:05:17 +00:00
Andri Yngvason 98db05434a ctl-client: Align log messages with other log messages 2023-01-17 20:05:17 +00:00
Andri Yngvason cec46490a9 main: Don't init render node with gpu disabled
Otherwise, a warning will be generated when there is no render node.
2023-01-15 23:02:53 +00:00
Jim Ramsay 749b64666a Clean up command summary printing
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay cc27b127d1 Autoprint option default values
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay 177ea507e3 Allow reflow of multiline text
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay 104040291b Add option_parser_print_usage
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay dcb23ebfe1 Add 'schema' to wayvncctl command parameters
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay a52b7a1985 Add description and argument help to wayvnc --help
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay 405e9a13df Add help output for wayvncctl positional arguments
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay 23527a095a Allow positional args for single-param commands
Less typing = more happy

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 17:47:50 -05:00
Jim Ramsay a28ce15521 Split wayvnctl output-set into output-set and output-cycle
Rather than optional params, unique commands are easier to use.

This also removes the ability to cycle through in reverse since the list
order is already arbitrary.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 18:23:45 -05:00
Jim Ramsay 8df085a65a Rename and reorder all wayvncctl commands
This introduces a better hierarchical naming convention for IPC
commands.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 13:51:10 -05:00
Jim Ramsay dd19da6143 Add command and event details to help output
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 12:42:38 -05:00
Jim Ramsay d1e1f62d1e Refactor option-parser table printing code for reuse
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 12:42:38 -05:00
Jim Ramsay aec9304885 Add help text for wayvncctl-only events
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 12:42:38 -05:00
Jim Ramsay fbd373143c Remove 'help' command and clean up help output
The redundant "help" command is now hidden from the wayvncctl UI.

This also moves event description help text to:
  wayvncctl event-receive --show=<event-name>

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-08 12:42:38 -05:00
Jim Ramsay d475e0e52f Fix segfault for wayvncctl help --command=bad-name
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 20:18:14 -05:00
Jim Ramsay 522b1deb28 Convert wayvncctl subcommands to use option-parser
Also cleans up access to unparsed options.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 16:38:46 -05:00
Andri Yngvason 474ce23d42 Implement custom option parser 2023-01-01 09:12:29 +00:00
Jim Ramsay 86652c8a42 Fixup buffer.c compiler warning
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-29 05:50:44 -05:00
Jim Ramsay 92e79bb971 Add more error logs for wayland init failures
This should help with troubleshooting issues like #206 more quickly.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-29 01:25:00 -05:00
Jim Ramsay 2f2f6f410b Force a wayland round-trip after an output appears
This way outputs are always fully initialized.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-25 21:31:49 -05:00
Jim Ramsay 5cf9ad6eab Increase client receive buffer size
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-21 09:18:46 -05:00