changeset 4208:fd9e78b7a0cd

doc (cli/call): add outputs documentation: outputs are now documentated, and notably the new `gui` one. fix 427
author Goffi <goffi@goffi.org>
date Sun, 11 Feb 2024 23:22:18 +0100
parents 2865e70b0b2c
children fe29fbdabce6
files doc/libervia-cli/call.rst
diffstat 1 files changed, 69 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/doc/libervia-cli/call.rst	Sun Feb 11 23:21:07 2024 +0100
+++ b/doc/libervia-cli/call.rst	Sun Feb 11 23:22:18 2024 +0100
@@ -6,8 +6,29 @@
 
 ``call`` lets you initiate or receive calls from the terminal.
 
-During a call, a graphical window will be created, displaying your correspondent's video,
-with your own video feed in the bottom right corner.
+
+Common UI
+=========
+
+There are various UI available to display a call. By default, one will be automatically
+selected according to platform. To select an UI, use the ``--output, -O`` option, with one
+of the following value:
+
+default
+-------
+
+The default value make a guess on the best output to use on the current platform.
+
+.. note::
+
+   For the moment, ``default`` always select ``simple`` output.
+
+
+simple
+------
+
+During a call, a simple graphical window will be created, displaying your correspondent's
+video, with your own video feed in the bottom right corner.
 
 With the UI present (by default), there are 3 buttons:
 
@@ -15,6 +36,52 @@
 - one to (un)mute audio with the ``m`` key shortcut
 - one to hang up with the ``h`` key shortcut. ``Ctrl+c`` will have the same effect.
 
+gui
+---
+
+The ``gui`` option enables a full graphical user interface for handling calls, akin to
+other frontends (web, desktop). This GUI provides a comprehensive and interactive
+experience for call management directly from your CLI environment, ensuring quick access
+to the call feature from the CLI frontend.
+
+This interface is accessible if your system supports X11 or Wayland and requires ``PyQt``
+v6 or higher. Here's how to navigate and use the GUI:
+
+Call Interface
+^^^^^^^^^^^^^^
+
+The call interface is made with:
+
+- **Video Feeds**: The main window displays the other party's video, with your video in
+  the bottom right.
+- **Fullscreen Mode**: A fullscreen toggle button is located at the top right of the
+  window.
+- **Controls**: The following buttons are available at the bottom of your screen:
+
+  - Mute/Unmute video or audio with respective buttons.
+  - Desktop Sharing.
+  - Hang up.
+
+Desktop Sharing
+^^^^^^^^^^^^^^^
+To share your desktop, you need to be in a supported environment (X11 or Wayland).
+
+For Wayland, you'll need to have the ``xdg-desktop-portal`` package installed, along with
+its sibling desktop environment-specific package (e.g., ``xdg-desktop-portal-gtk`` or
+``xdg-desktop-portal-kde``).
+
+Once you've clicked on the desktop sharing button, you'll have to select what you want to
+share. It can be your entire screen or a specific application window. On X11, a simple
+dialog will appear, while for Wayland, a dialog provided by your environment will ask you
+to select what you want to share.
+
+example
+-------
+
+Pierre wants to call Louise with a GUI::
+
+  $ li call make louise@example.org -O gui
+
 make
 ====