• [^] # Re: Nouvelles Fonctionnalités... Mouais

    Posté par (site web personnel) . En réponse à la dépêche Les prochaines fonctionnalités de Firefox dévoilées. Évalué à 3. Dernière modification le 03 juin 2024 à 20:56.

    Boarf, comment et pourquoi ? Tu as des idées spécifiques en tête ?

    Les besoins sont : on doit arriver à avoir, facilement et sans se casser la tête, une vidéo lue par le navigateur en petit dans un coin de l'écran qu'on peut déplacer et redimensionner facilement, mettre temporairement en plein écran, sans bordure, toujours au dessus des autres fenêtres.

    J'imagine que tu as en tête qu'on devrait y arriver :

    • avec une coopération minimale voire inexistante du navigateur
    • en améliorant des éléments ergonomiques génériques du gestionnaire de fenêtres

    Pour moi, le premier point veut dire que le navigateur doit déléguer la lecture de la vidéo à un composant système, et que ce composant système coopère avec le gestionnaire de fenêtres pour implémenter PiP. En vrai pourquoi pas, ça serait cool de pouvoir manipuler tous les flux vidéos comme on manipule les flux audio. Sous Linux, ce composant pourrait être Pipewire, et le navigateur serait à la fois fournisseur et consommateur de la vidéo (consommateur, pour le cas normal où la vidéo est dans le site, et pas sortie en mode PiP). Mais à aucun moment cela ne requiert une amélioration de l'ergonomie du gestionnaire de fenêtre.

    En principe, le gestionnaire de fenêtre ne peut pas comprendre le contenu d'une fenêtre. Sans une telle coopération entre le navigateur et ce composant système, il ne peut, à fortiori, pas isoler la vidéo du reste du site. Donc le navigateur va faire ce travail d'isolation de la vidéo. En créant une fenêtre dédiée.

    Et quand tu as créé une fenêtre, ce n'est que quelques commandes à passer au gestionnaire de fenêtres pour demander pas de bordure, toujours en avant plan, positionnement, redimensionnement, etc. Le gestionnaire de fichier sait déjà faire tout ça et quand il est bon, il donne accès à ces fonctionnalités aux utilisateurs sous forme d'élément d'interface / d'interactions graphiques, de raccourcis clavier, de scripting et de configuration en fonction de la classe ou du titre de la fenêtre. Avec KWin, il serait possible de faire un script "PiP" et l'associer à un raccourci clavier, et pouf, on aurait PiP pour n'importe quel type de fenêtre. Mais en vrai, ce ne serait utile plus ou moins que pour les lecteurs vidéo qui n'ont pas beaucoup d'UI (par exemple mpv, en fait je ne vois que cet exemple, et peut-être un vlc configuré pour l'occasion). En particulier, ça ne serait pas utile avec un navigateur qui n'implémente pas PiP.

    Et une fois qu'il implémente l'isolation de la vidéo dans une fenêtre dédiée, le gros du travail est fait et je ne vois pas de mal à ce que le navigateur demande lui-même au gestionnaire de fenêtres ce que je veux qu'il se passe pour finir l'implémentation de PiP, au lieu d'obliger chaque gestionnaire de fenêtre à implémenter une classe de fenêtre dédié à PiP ou laisser chaque utilisateur à implémenter ses petits scripts. Et en vrai, c'est ce qu'il se passe sous Wayland avec xdg-pip, Wayland ne permettant pas au navigateur de faire ce qu'il veut avec la fenêtre, donc pour l'instant ça ne marche pas tip top, en particulier on n'a pas la fenêtre qui reste au dessus des autres sans configuration de la part de l'utilisateur. Au moins ça sera plutôt propre, le navigateur ouvre une fenêtre, la marque comme étant une fenêtre PiP, et le gestionnaire gère ça. Mais pas d'amélioration d'ergonomie générale des gestionnaires de fenêtres prévue, ils vont juste chacun implémenter la fonctionnalité spécifique PiP.