Commit Graph

533 Commits (transient-seats+websocket)

Author SHA1 Message Date
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 e5ab6a3134 CI: Run apt-get update before install
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-12 16:20:43 -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
Jim Ramsay e0a4a26c42 Cleanup CI reporting and step names
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 11:27:22 -05:00
Jim Ramsay 14615ae3b0 Enable unit tests by default
Also documents how to run the tests.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 07:47:47 -05:00
Jim Ramsay 7c8c52dfb2 Run github CI on a ci-test branch too
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 07:09:54 -05:00
Jim Ramsay 4b126da54c Add unit tests to github CI
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2023-01-02 07:05:52 -05:00
Andri Yngvason 65ed029e22 Add meson.build for unit tests 2023-01-02 09:32:15 +00: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 72cc04098d Add single-output-sway helper script
For sway 1.7, this disables all but one output on connect, then restores
everything on disconnect.

For sway 1.8 and later, creates a virtual HEADLESS output, disables all
others, then restores everything on disconnect.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-25 21:43:55 -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
Jim Ramsay 5d443bfa60 Improve error message for client receive buffer overflow
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-21 09:18:46 -05:00
Jim Ramsay 3e5d6ea8eb Fix segfault after hot-plugging outputs
When new outputs appear, either because they were just created or
because they have been disabled/reenabled, ensure we always set up the
right xdg_output and wlr_output_power listeners.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-19 16:20:56 -05:00
Jim Ramsay 2a9e3dac58 Fix trace logging assert crash
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-09 02:43:03 -05:00
Jim Ramsay 43e3015af6 Refresh and cleanup README.md
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-07 21:27:04 -05:00
Jim Ramsay 00539935ba Add output power state to get_outputs ipc command
I forgot to plumb this through when I did the initial state on the
output power state.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-07 19:56:37 -05:00
Jim Ramsay cb116cc980 Handle all wayvncctl help commands locally
This means that wayvncctl can now provide full descriptions of all
commands and events without wayvnc running.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-07 19:56:06 -05:00
Jim Ramsay d75ca4bf51 Refactor comand and event name parsing
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-07 19:56:06 -05:00
Jim Ramsay 4def8f3cb8 Switch wayvncctl to use option_parser
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-07 19:56:06 -05:00
Andri Yngvason e3238cf71d output: The name the "unknown" power state is "UNKNOWN" 2022-12-01 21:30:06 +00:00
Andri Yngvason 03d7f1dc6d output: Abort on invalid power state 2022-12-01 21:27:55 +00:00
Jim Ramsay 5bb8cbfa92 Blank the capture screen when output power turns off
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-01 19:11:32 +00:00
Jim Ramsay 6b44a6648e Turn output power on when starting capture
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-01 19:11:32 +00:00
Jim Ramsay 3cba374172 Don't attempt capture if an output is powered off
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-01 19:11:32 +00:00
Jim Ramsay 308308b63a Add power management state to the output object
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-12-01 19:11:32 +00:00
Jim Ramsay 9639740bc8 Add more libraries to the build CI environment
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-28 20:44:44 +00:00
Andri Yngvason 312ddd8960 Move control command schemas into own files
This allows them to be used by ctl-client as well.
2022-11-27 10:48:03 +00:00
Andri Yngvason 052160cbd4 ctl: Fix sign compare warnings 2022-11-27 10:33:09 +00:00
Andri Yngvason c3c3e97794 main: Use stronger error checking for client ids 2022-11-27 10:33:09 +00:00
Jim Ramsay 89bd6da3bb Add a brief timeout between a capture failure and the retry
Ensures we don't spin eating CPU if capture is continually failing due
to DPMS (for example) by only trying to restart screen capture every
100ms.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-27 10:29:24 +00:00
Jim Ramsay e958b06e44 Add wayvncctl wayvnc-exit command
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-26 19:57:53 +00:00
Jim Ramsay 467cfa1889 Add wayvncctl capture-changed event
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-26 19:57:53 +00:00
Jim Ramsay 19862aace8 Cleanup magic strings in event sending code
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-26 19:57:53 +00:00
Jim Ramsay 5c8014d19b Add wayvncctl disconnect-client command
Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-26 19:57:53 +00:00
Jim Ramsay 3e9aa0e3ae Ensure cmd parsing never mis-sets the type
Why leave the cmd.type to chance? Force it to the right value.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-11-26 19:57:53 +00:00