{{tag>Xenial gestionnaire_de_fenêtres Wayland}}
====== Weston ======
**Weston** est l'implémentation de référence d'un [[:gestionnaire de fenêtres]] avec compositeur graphique pour le protocole d'affichage [[:Wayland]].
Son existence se justifie par la nécessité de développer [[:Wayland]] sans dépendre des péripéties du développement des librairies et des environnements, par le besoin de pouvoir tester rigoureusement Wayland sans subir de bugs indépendants de Wayland.
{{ https://i.imgur.com/jnIUrD1.png?400|Weston, le compositeur Wayland de référence (non configuré)}}
Weston existe aussi à cause de l'envie de montrer au plus tôt ce dont Wayland est capable en terme de performances graphiques et en termes de ressources.
Bien que ce soit parfaitement incohérent avec les raisons initiales de sa conception, **Weston peut être utilisé comme [[gestionnaire de fenêtres]] de manière autonome** (par exemple, comme environnement graphique de secours pouvant être lancé sur tty2 au cas où votre environnement principal crashe ;-) ).
===== Installation =====
Avec les droits d'administration et une connexion internet fonctionnelle, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>weston]]**.
[[:Wayland]] sera normalement installé comme dépendance si il n'est pas déjà présent.
===== Utilisation =====
Lancez la commande ''weston'' dans une [[:console]].
Vous pouvez aussi lancer la commande ''weston'' depuis un émulateur de terminal dans une session graphique existante, cela lancera Weston de manière fenêtrée dans votre environnement déjà en cours !
==== Interface ====
L'interface par défaut est assez spartiate : un fond d'écran particulièrement laid, et seuls un lanceur et une horloge sont proposés dans une barre supérieure.
Le lanceur dans la barre supérieure correspond à ''weston-terminal'', un émulateur de terminal simple, fonctionnant uniquement sous Wayland et offrant ainsi une démonstration de gestion des fenêtres.
==== Raccourcis claviers ====
En l'absence de barre des tâches, une bonne connaissance des raccourcis claviers vous sera nécessaire :
^ Raccourci ^ Action ^
| **Ctrl+Alt+Retour** | **Quitter Weston** |
| Super+molette | (dé)zoomer |
| **Super+Tab** | **Changer de fenêtre** |
| Super+Clic gauche | Déplacer la fenêtre |
| Super+Clic du milieu | Faire pivoter la fenêtre |
| Super+Clic droit | Redimensionner la fenêtre |
| Super+Alt+molette | Changer l'opacité d'une fenêtre |
| Super+K | Tuer la fenêtre active |
| **Super+Haut/Bas** | **Passer à l'espace de travail supérieur/inférieur** |
| Super+Maj+Haut/Bas | Passer à l'espace de travail supérieur/inférieur \\ en emmenant la fenêtre active |
| Super+F//x// | Passer à l'espace de travail n°//x// |
| **Super+S** | **Prendre une capture d'écran (photo)** |
| Super+R | Prendre une capture d'écran (vidéo) |
La capture d'écran photo s'enregistre toujours à ''~/wayland-screenshot.png'', si vous souhaitez en prendre plusieurs d'affilée il faut les renommer ou les déplacer au fur et à mesure.
Pour les captures vidéo, voir les détails plus bas.
===== Configuration =====
La configuration se fait en modifiant le fichier ''~/.config/weston.ini''.
Les détails de tout ce qui y est configurable sont disponibles avec la commande ''man weston.ini'' (5).
Voici ci-dessous un exemple de configuration (avec Debian 9 ; le thème d'icônes utilisé étant Faenza) :
{{ https://i.imgur.com/ru44akZ.png?600 |Weston après une légère configuration}}
Concernant la capture d'écran ci-dessus : la mémoire utilisée est énorme car Gnome Shell, avec entre autres un navigateur internet, était lancé sur [[:Xorg]] de manière parallèle.
Weston est quant à lui **léger**, à défaut d’être adapté à une utilisation normale.
Voici un exemple de fichier de configuration (''~/.config/weston.ini''), qui ne correspond pas exactement à la capture d'écran. Prêtez attention aux commentaires qui suivent.
[core]
shell=desktop-shell.so
modules=xwayland.so
idle-time=300
[keyboard]
keymap_layout=fr
numlock-on=true
[output]
mode=1366x768
[shell]
panel-location=top
focus-animation=dim-layer
animation=zoom
close-animation=none
background-image=/home/roschan/Images/Wallpapers/nge_1.jpg
background-type=scale-crop
background-color=0xff00aa99
panel-color=0x77000000
locking=true
num-workspaces=6
cursor-size=20
[launcher]
icon=/usr/share/icons/Faenza/places/24/distributor-logo-debian.png
path=/usr/bin/nautilus /usr/share/applications
[launcher]
icon=/usr/share/icons/Faenza/apps/24/xterm.png
path=/usr/bin/tilix
[launcher]
icon=/usr/share/icons/Faenza/apps/24/web-browser.png
path=/usr/bin/epiphany
[launcher]
icon=/usr/share/icons/Faenza/apps/24/quadrapassel.png
path=/usr/games/quadrapassel
[launcher]
icon=/usr/share/icons/Faenza/apps/24/libreoffice3-writer.png
path=/usr/bin/libreoffice --writer
[launcher]
icon=/usr/share/icons/Faenza/apps/24/text-editor.png
path=/usr/bin/gedit
[launcher]
icon=/usr/share/icons/Faenza/apps/24/google-chrome.png
path=/opt/google/chrome/google-chrome
[launcher]
icon=/usr/share/icons/Faenza/places/24/user-home.png
path=/usr/bin/nautilus
[launcher]
icon=/usr/share/icons/Faenza/places/24/folder-download.png
path=/usr/bin/nautilus Téléchargements
[launcher]
icon=/usr/share/icons/Faenza/places/24/folder-pictures.png
path=/usr/bin/nautilus Images
[launcher]
icon=/usr/share/icons/Faenza/places/24/folder-music.png
path=/usr/bin/nautilus Musique
[launcher]
icon=/usr/share/icons/Faenza/places/24/user-desktop.png
path=/usr/bin/nautilus Bureau
[launcher]
icon=/usr/share/icons/Faenza/devices/24/drive-harddisk-system.png
path=/usr/bin/nautilus other-locations:///
[launcher]
icon=/usr/share/icons/Faenza/apps/24/terminal.png
path=/usr/bin/weston-terminal
[launcher]
icon=/usr/share/icons/Faenza/apps/24/gnome-monitor.png
path=/usr/bin/gnome-system-monitor
[launcher]
icon=/usr/share/icons/Faenza/apps/24/redhat-server_settings.png
path=/usr/bin/gedit .config/weston.ini
On peut remarquer plusieurs choses :
* ''shell=desktop-shell.so'' précise le shell à utiliser en tant que plugin de Weston ; il existe d'autres possibilités que "desktop-shell", par exemple un shell spécialisé dans les systèmes embarqués pour les véhicules (''weston-ivi-shell''). Des initiatives comme [[https://github.com/raspberrypi/maynard|Maynard]] (un bureau expérimental pour Raspberry Pi) existent également.
* ''modules=xwayland.so'' permet d'**utiliser des applications conçues pour [[Xorg]]** ;
* ''keymap_layout=fr'' **permet d'utiliser un clavier AZERTY** ;
* ''mode=1366x768'' dépend bien sûr de votre écran ;
* Il n'y a rien dans l'interface graphique pour quitter, il faut donc faire **Ctrl+Alt+Retour**.
Quelques détails secondaires :
* Les lanceurs doivent être renseignés un par un, dans l'ordre.
* Les lanceurs doivent avoir le chemin d'une icône valide et le chemin du programme à exécuter :
* Il ne s'agit pas de commandes bash, mais bien de **chemins complets** vers des programmes.
* Des arguments peuvent ensuite être donnés à ces programmes.
* À vous d'explorer **__votre__ thème d'icône** pour y trouver ceux qu'il vous faut et les ajouter manuellement.
* Les fichiers de configuration ne peuvent pas être copiés-collés tels quels, puisque les informations qui y sont précisées sont spécifiques aux logiciels installés, à l'utilisateur, à ses fichiers, ...
* En l'absence de menu de démarrage, j'ai renseigné le chemin ''/usr/share/applications'' afin d'avoir un accès graphique à la majorité des applications, mais à l'usage, il est plus simple d'utiliser un terminal !
Pour des explications et possibilités de configuration exhaustives, voir la commande ''man weston.ini'' (5).
==== Capture d'écran vidéo ====
La capture d'écran vidéo intégrée (démarrée et stoppée par Super+r) produit un fichier ''capture.wcap'' dans le dossier d'où a été lancé Weston (généralement, ''~/'').
Si vous voulez faire plusieurs captures d'écran, il faudra les renommer au fur et à mesure qu'elles se créent !
Le format WCAP est un format vidéo sans perte, spécifique à Weston. Pour pouvoir être lu, le fichier WCAP doit être converti :
wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
ffmpeg -i capture.y4m -target ntsc-dvd output.mpg
Vous devriez récupérer un fichier ''.mpg'' lisible.
===== Ce que nous apprend Weston =====
En terme de performances, on voit que les fenêtres peuvent être pivotées, animées, zoomées, leurs transparences modifiées, etc. bref, des effets de composition plutôt complexes. Pourtant, Weston reste très rapide, fluide et léger en mémoire. En comparaison, les temps de réactions des applications utilisant XWayland se ressentent d'ailleurs parfois.
Avec [[:Wayland]], l'enregistrement de l'écran (capture photo ou vidéo) **doit** être géré par l'environnement, alors qu'il était jusqu'à présent indépendant de l'environnement utilisé. Vos anciens logiciels de capture d'écran pour Xorg risquent de ne plus fonctionner !
Il s'agit là d'une question de sécurité : les applications n'ayant pas la possibilité de "connaître" la position et le contenu des fenêtres de leurs voisines avec Wayland, ces informations doivent être "demandées" à l'environnement (et notamment au compositeur en ce qui concerne les fenêtres).
===== Voir aussi =====
* [[:Wayland]]
* [[:Gestionnaire de fenêtres]]
----
//Contributeurs : [[utilisateurs/roschan]]
, ...//