Vue normale

À partir d’avant-hierFlux principal

Hyprland, un compositeur Wayland « tiling »

Hyprland est un compositeur Wayland pavant (tiling) créé par Vaxri et placé sous licence BSD 3-Clause. Si vous n’avez aucune idée de ce que cela signifie, un compositeur inclut des fonctionnalités de gestion de fenêtres. D’autres compositeurs Wayland incluent GNOME, KDE et ceux basés sur wlroots.

Plus de détails dans la suite de la dépêche.

Sommaire

Hall of fame

Avant Hyprland, Vaxri avait créé Hypr, qui fonctionnait sous Xorg et utilisait XCB, tout en adoptant une philosophie similaire en matière de gestion des fenêtres. Revenons à Hyprland : c’est un « compositeur moderne avec du style » pour traduire leur formulation. La dernière version est la v0.47.2 (une mise à jour mineure), la v0.47 datant de janvier 2025. Il existe des paquets officiels pour Arch et NixOS, mais le site fournit des instructions pour l’installer ailleurs. Je l’ai testé sur Arch, j’ai voulu me faire une idée et j’ai trouvé que ça valait le coup de partager l’expérience (NdM: « Je » est l’auteur du journal, saltimbanque).

Notez que Hyprland est principalement un compositeur avec des fonctionnalités de gestion des fenêtres, mais pas un environnement de bureau complet. Plus de détails sur ça plus tard.

D’après le site officiel : « Hyprland fournit les dernières fonctionnalités de Wayland, un tiling dynamique, de nombreux effets visuels, des plugins puissants et bien plus, tout en restant léger et réactif ». Sans surprise, son créateur apprécie tout ce qui touche à l’esthétique graphique.

Ah, l’apparence !… a probablement beaucoup contribué à faire connaître Hyprland. D’après les sondages du créateur, r/unixporn a été l’un des principaux vecteurs de sa popularité. J’aime aussi, dans une certaine mesure, les effets visuels et j’apprécie l’effort fait en ce sens : de beaux espacements, des bordures, des animations. Nous avons tous joué avec Compiz quelques minutes… avant de le jeter à la poubelle car ça ne sert à rien. Heureusement, Hyprland ne se limite pas à l’esthétique et lorsque nous travaillons quotidiennement sur un ordinateur, nous pouvons apprécier son autre atout : la configurabilité. Vous pouvez utiliser plusieurs fichiers de configuration ou un seul, mais tout passe par fichier texte.

Petit détail : modifiez le fichier texte de config, enregistrez-le et votre configuration se recharge automatiquement à chaud. Simple détail, mais agréable. Si vous faites une erreur de syntaxe, un bandeau apparaîtra et affichera les erreurs qui empêchent le rechargement. Il vous suffira alors de corriger et de sauvegarder à nouveau.

Gestion des fenêtres

Pour comprendre la personnalisation, il faut d’abord comprendre les bases. Hyprland est un gestionnaire en mosaïque. Par défaut, il utilise la mise en page (layout) “Dwindle”, qui était déjà utilisé par le gestionnaire de fenêtres BSPWM. La description la plus courte de ce layout serait : « Pensez Fibonacci ! »

Fibonacci

Bon appliqué à des fenêtres… voilà un extrait du README de BSPWM

                     a                          a                          a
                    / \                        / \                        / \
                   1   b         --->         1   c         --->         1   d
                      / \                        / \                        / \
                     2   3                      4   b                      5   c
                     ^                          ^  / \                     ^  / \
                                                  3   2                      b   4
                                                                            / \
                                                                           3   2

         +-----------------------+  +-----------------------+  +-----------------------+
         |           |           |  |           |           |  |           |           |
         |           |     2     |  |           |     4     |  |           |     5     |
         |           |     ^     |  |           |     ^     |  |           |     ^     |
         |     1     |-----------|  |     1     |-----------|  |     1     |-----------|
         |           |           |  |           |     |     |  |           |  3  |     |
         |           |     3     |  |           |  3  |  2  |  |           |-----|  4  |
         |           |           |  |           |     |     |  |           |  2  |     |
         +-----------------------+  +-----------------------+  +-----------------------+

                     X                          Y                          Z

Un autre layout standard est “Master”. Vous pouvez modifier votre fichier de configuration pour l’utiliser à la place ou même assigner une touche pour basculer entre eux. Le layout Master fonctionne avec une fenêtre occupant la moitié de l’écran, tandis que les autres s’empilent sur l’autre moitié. Vous pouvez également changer la fenêtre maîtresse.

Bon cette fois partageons les GIF enragés du wiki de Hyprland :

MasterLayout

Hyprland offre aussi des fonctionnalités de gestion des fenêtres, communes aux différents layouts :

  • plusieurs espaces de travail (avec placement manuel ou automatique des fenêtres),
  • un espace de travail spécial,
  • un système de “groupement”, permettant de regrouper et dégrouper des fenêtres,
  • mode plein écran,
  • fenêtres flottantes.

Hyprland propose aussi un système de plugins. Et devinez quoi, un plugin a été développé pour ajouter le layout de i3 (i3 étant un WM pavant sous Xorg, dont l’équivalent sous Wayland est Sway, qui est dév. par Drew DeVault). Ce plugin s’appelle hy3. Dans i3, il y a des conteneurs, en gros c’est un layout « manuel avec des découpages horizontaux/verticaux, très simple et efficace, et la doc i3 est très bien. Parce que la doc Sway, ce sont juste des man page, ok c’est très bien aussi passons… Bref, voilà, maintenant j’ai un compositeur i3 avec des gaps et de belles animations, vous vous souvenez de i3-gaps – qui a entre-temps été intégré à i3 ? Bref, hy3 c’est ça en mieux.

Configuration, doc, outils

Notez que d’autres plugins existent, pour les animations, pour changer des comportements. La communauté pourrait être un bel axe de développement maintenant que d’après l’auteur le code se calme.

À un moment un gestionnaire de plugins a été ajouté, hyprpm (pm pour package manager je suppose). Alors j’ai essayé d’installer hy3 avec, mais j’ai rencontré des soucis de versions me rappelant le bon vieux temps où les dév. de plugins gnome-shell hurlaient comme des putois quand une nouvelle version sortait. Bon bref j’ai compilé hy3 à la main à la place, mais sortez cpp et une bonne tasse de café, c’est pas juste un script Emacs en Lisp qui prend 3 secondes. Mais au moins ça a bien marché.

Sinon la configuration permet de personnaliser le layout clavier, la résolution d’écran, l’esthétique et les animations. Beaucoup de possibilités, par ex. pour les raccourcis on peut faire des “submap” (oui je sais, i3 aussi). On peut modifier plein de choses sans redémarrer.

On peut aussi utiliser la commande hyprctl pour communiquer avec hypr.

Côté documentation, l’API technique est très bien couverte, mais il manque une documentation simplifiée pour une prise en main rapide. Et puis de base ne vous attendez pas à plein de raccourcis claviers pré-configurés, vous allez devoir faire les vôtres.

Ou alors vous pouvez aussi utiliser des configurations préexistantes. On se croirait dans Doom Emacs !

Hyprland n’est pas un environnement de bureau complet. Il vous faudra un tableau de bord, un lanceur d’applications et d’autres outils. Quelques options populaires :

  • barre d’état : Ashell (prêt à l’emploi) ou Waybar (très personnalisable). A noter qu’il y a maintenant des mini libs pour se faire ses barres facilement comme quickshell, astal ;
  • lanceur d’applications : Wofi (simple, clavier + souris) ;
  • ou le fait d’utiliser un tiling peut même vous donner envie de changer de terminal ? Foot, Kitty, Alacritty, etc.

Mais Awesome Hyprland vous listera bien plus de choses.

Je n’ai pas encore testé ibus, et je sais que je vais rencontrer des soucis avec cela, comme j’en aurai sous Sway… (Pas trop envie de passer sous fcitx mais on verra)

Aspects techniques, conclusion

Au cours du développement de Sway, Drew Devault a conçu une bibliothèque, wlroots, qui est devenue indépendante de Sway et utilisée par d’autres compositeurs wayland.

Hyprland a démarré en 2022. En 2024, la dépendance à wlroots, qui était inclus sous forme de « submodule git », a été abandonnée au profit de Aquamarine, un moteur de rendu en C++. L’abandon de wlroots, d’après l’auteur, tient au fait que

  • wlroots est en C,
  • wlroots manque de doc,
  • faire évoluer wlroots prend du temps,
  • et accessoirement parce qu’il a été banni ! (Bon là désolé je préfère passer du temps sur la revue de Hyprland que sur les feux de l’amour, voyez ici).

Mais Aquamarine n’est pas un compétiteur de wlroots.

Conclusion

Hyprland, comme d’autres, ça prend un max de temps à s’approprier. Il faut lire et configurer à tout-va, même si après-coup on se rend compte que c’était simple. Ce qui l’est moins, c’est de choisir sa manière de travailler.

J’adore jouer avec les gestionnaires de fenêtre en mosaïque et Hyprland est une belle découverte. J’avais peur d’un simple ensemble d’animations flashy, mais il offre bien plus que cela. J’aimerais voir un tableau de bord style “Activités” de GNOME pour visualiser toutes les fenêtres et espaces de travail en un coup d’œil. Peut-être qu’avec le temps, quelqu’un développera cette fonctionnalité… ou alors je finirai par coder un petit quelque chose moi-même ! j’ai déjà remarqué que quelqu’un a codé « hot corner », surprenant pour un tiling!

Commentaires du journal

Sources 1 et 2

  • multi-écran possible
  • définition des raccourcis et des règles.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie d’AgentJ en 2.1 - Une nouvelle version majeure depuis la 1.6

AgentJ est une solution anti-spam utilisé pour filtrer et bloquer les messages indésirables (spams) en entrée et en sortie.
Ce logiciel est une solution sous licence GNU Affero General Public License V3.

Voici une description générale de ses fonctionnalités :

  • Filtrage du spam : Identifie les messages non sollicités ou suspects (spams) à l'aide d'algorithmes qui analysent le contenu, les adresses d'envoi, et d'autres facteurs.
  • Apprentissage automatique : Utilise des techniques d'apprentissage automatique pour s'adapter aux nouveaux types de spam et améliorer son efficacité au fil du temps.
  • Blocage des adresses : Peut bloquer ou mettre sur liste noire certaines adresses e-mail, domaines, ou adresses IP connues pour envoyer des spams.
  • Authentification humaine : La première fois qu'un nouvel expéditeur vous contacte, un mail de confirmation lui est envoyé pour vérification
  • Rapports et statistiques : Fournis des rapports pour suivre le nombre de spams bloqués, les tendances, et d'autres informations utiles pour les administrateurs.
  • Personnalisation : Permet de définir des règles spécifiques, de créer des listes blanches (whitelist) et noires (blacklist), et d'adapter le niveau de filtrage en fonction des besoins.
  • Gestion multi domaines mail distincts ou miroir.
  • Rapport quotidien pour les utilisateurs qui les informe des mails en attente de déblocage.

Logo AgentJ
Cette nouvelle version 2.1 amène son lot d’améliorations, mais elle est surtout marquée par une amélioration majeure : la gestion des mails envoyés / le filtrage de mail en sortie.

Filtrage de mails en sortie

Cela permet de gérer l’ensemble du flux de mails sortants.

Apprentissage des mails sortants

Cette fonctionnalité permet que, lors d’un envoi de mail par un utilisateur interne, les destinataires (to, cc et cci) soient automatiquement autorisés.
Nous retrouverons les adresses autorisées comme les adresses actuelles avec comme précision « autorisée par envoi de mail ».

Paramétrage du taux d’envoi de mail

L’objectif est de permettre le paramétrage du nombre de mails par heure, par utilisateur. Le paramétrage pourra se faire soit pour le domaine mail, soit pour un groupe d’utilisateur, soit pour un utilisateur.
Sur un compte utilisateur, il sera indiqué le taux en vigueur et l’usage actuel pour l’utilisateur.

Alerte sur évènements indésirables

Cette fonctionnalité permettra de paramétrer un envoi d’alerte à un ou des mails spécifiques.
Les alertes pourront être envoyées lors des événements suivant :
• Spam (le niveau considéré comme Spam sera réglable)
• Virus
• Dépassement du taux d’envoi

Recherche de mail

Nous avons ajouté une recherche de mail avancé pour l’administrateur.

Recherche mail

Libération depuis le rapport mail

Maintenant, il n’est plus nécessaire de se loguer pour libérer un mail depuis le rapport quotidien envoyé par AgentJ un simple clique suffit.

Amélioration du tableau de bord

Nous avons amélioré le rendu du tableau de bord des statistiques

Tableau de bord

Prévisualisation sécurisée des emails

Vous pouvez désormais prévisualiser vos emails bloqués avant de décider de les libérer (ou non).

Prévisualisation mail

Test de performance

Nous avons effectué des tests de performance sur un VM avec 4 cœurs et 4 Go de RAM avec les paramétrages par défaut. AgentJ traite 10 000 mails en 11 min. Pour précision, les tests ont été effectués avec l’envoi de mail valides, car ils sont les plus longs en traitement comparé à des spams.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Linux Mint 22 : vidéos pas à pas pour les débutants

Voici une série de vidéos (62) consacrée à la distribution Linux Mint 22 intitulée « Pas à pas pour les débutants ».

Je suis passé à Linux Mint voilà à peu prés cinq ans. J'ai été aidé pour cela par l'équipe Linux de l'époque du Forum SOSPC (Mia, Darksky, Azamos, …).
Animé par cet esprit de partage, j'ai voulu à mon tour rendre la pareille. Je viens donc de terminer une série de vidéos sur Linux Mint 22. De petites vidéos (à part la 1 et la 62) qui traitent chacune d'un thème bien précis. Ces vidéos s'adressent exclusivement à un public de débutants (et faite par un débutant… de 5 ans).

de :
Vidéo 01
à
Vidéo 62

Visibles à partir :

Vidéos d'une durée d'une quinzaine de minutes pour la première et la dernière, quelques minutes pour les autres :

  1. C'est quoi Mint ?
  2. Possible pour vous ?
  3. Télécharger Cinnamon
  4. Vérifier avec 7Zip
  5. Créer la clé d'installation
  6. Créer une clé persistante
  7. Graver un DVD
  8. Démarrage rapide
  9. Edge à Firefox
  10. Chrome à Firefox
  11. Exporter thunderbird
  12. Export carnets d'adresses
  13. Export Agenda
  14. Ouvrir le BIOS
  15. Visite en Français
  16. Installation
  17. Démarrage et dualboot
  18. Veille contrôllée
  19. Écran de bienvenue
  20. Timeshift
  21. Gestionnaire de pilotes
  22. Gestionnaire de mise à jour
  23. Pare-feu
  24. Couleurs du Bureau
  25. Une mise à jour
  26. Paramètres du système
  27. Personnaliser le Bureau
  28. Une mise à jour du noyau
  29. La Logithèque
  30. Flatpack
  31. Alternativeto
  32. Paramètres du panneau
  33. Configuration Liste groupée de fenêtres
  34. Ajouter des Applets
  35. Mode d’édition du panneau (1)
  36. Mode d’édition du panneau (2)
  37. Réglage du MENU
  38. Applications préférées
  39. La corbeille
  40. Barre d'outils
  41. Ranger les éléments
  42. Marque pages
  43. Panneau latéral
  44. Menus contextuels
  45. Imprimante et Scanner
  46. Informations système
  47. la suite LibreOffice (une petite erreur à corriger)
  48. Installer les polices Microsoft sur Linux
  49. Capture d'écran et Flameshot
  50. PDF Visionneur de document ou Okular
  51. La Télévision avec FreetuxTV
  52. Thunderbird
  53. Carnets d’adresses
  54. Agenda
  55. Paramètres et paramètres des comptes
  56. Injecter le profil de Firefox de Windows dans Linux
  57. Sauvegarde des données avec Grsync
  58. Gparted renommer le disque de sauvegarde
  59. Vider le cache de Linux avec le Terminal
  60. Restaurer avec Timeshift
  61. Démarrage - enlever ou mettre un mot de passe
  62. Petit bilan et conseils

Pour télécharger également le PDF (Pack débutant (partie 1) - Linux Mint 22 - Pas à pas sur YouTube en Libre accès
Sur celui-ci, chaque vidéo est présentée par un petit texte, chaque vignette est active et permet en cliquant dessus de rejoindre la vidéo choisie, la durée de chaque vidéo est indiquée.

Si cela peut intéresser quelqu’un.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌