Omniwm le tiling facon niri et hyprland enfin nati
|

OMNIWM : le tiling façon Niri et Hyprland, enfin natif sur macOS

⏱️ Temps de lecture estimé : 4 minutes

https://omniwm.app/

📌 OMNIWM est un gestionnaire de fenêtres en mosaïque pour macOS qui réunit les colonnes défilantes de Niri et le BSP de Hyprland, avec un terminal Ghostty intégré, une palette de commandes unifiée et un pilotage complet en ligne de commande.

Ceux qui ont quitté Linux pour un Mac le savent : Niri et Hyprland ne tournent que sur Linux, et le tiling macOS reste un patchwork de Rectangle, yabai ou AeroSpace. OmniWM prend le contre-pied : écrit en Swift, pensé pour Apple Silicon, il embarque les deux grammaires de tiling les plus aimées de ces dernières années — et le projet affiche déjà plus de 3 000 étoiles sur GitHub, moins d’un an après sa création. Tout est libre, GPL-2.0, sans abonnement, et les releases officielles sont signées et notarisées par Apple, SIP intact.

Le cœur, ce sont deux moteurs de disposition entre lesquels on bascule par workspace (⌥⇧L). Le mode Niri aligne les fenêtres en une bande de colonnes qui défile — des rangées si l’écran est en orientation verticale — et le focus fait glisser la caméra le long du ruban. On échange deux fenêtres, on fait cycler leur largeur, on redimensionne à la souris : la bande se réajuste en direct. Le mode Hyprland, lui, découpe : chaque nouvelle fenêtre coupe la tuile active sur son grand axe, moitié, quart, huitième, avec ratios réglables, préselection de l’emplacement suivant et groupes à onglets.

Autour de ce noyau, OmniWM entasse ce qui demande normalement trois ou quatre utilitaires. L’overview (⌥⇧O) fait voler toutes les fenêtres de tous les workspaces dans une vue zoomable où l’on déplace, fusionne ou ferme. La palette (⌃⌥Espace) cherche fenêtres, menus d’applications, historique du presse-papiers, apps et fichiers — ⏎ y saute, ⇧⏎ téléporte la fenêtre juste à côté. Et le terminal quake est le détail signature : ce n’est pas un wrapper, c’est libghostty embarqué, avec onglets, splits et fond en verre, qui reste épinglé pendant que les workspaces défilent dessous (⌥).

Pour les amateurs de scripts, omniwmctl parle NDJSON sur un socket local — désactivé par défaut — pour interroger l'état, piloter fenêtres et workspaces, ou s'abonner aux événements de focus depuis Raycast ou n'importe quel shell. La configuration TOML se recharge à chaud, la barre de workspaces épouse l'encoche du MacBook et affiche CPU, GPU, RAM et disque, et la gestion multi-écrans s'appuie sur sa propre carte de routage plutôt que sur l'empilement proposé par macOS.

Les conditions sont sévères : macOS 26 (Tahoe) sur Apple Silicon, permissions Accessibility et Input Monitoring obligatoires, « Displays have separate Spaces » à activer puis une déconnexion. La restauration du layout Dwindle après relance reste partielle — plein écran et fenêtre active perdus — et l'appartenance aux scratchpads ne survit pas au processus. Rien de rédhibitoire à ce stade.

Je trouve l'approche convaincante : un seul outil signé remplace la pile Rectangle + AeroSpace + Ice + Caffeine qu'on empile habituellement dans la barre des menus. Le prérequis macOS 26 fermera la porte à pas mal de Mac, mais c'est aussi ce qui permet des animations synchronisées au taux de rafraîchissement de l'écran, 60, 120 ou 144 Hz, sans trahir la plateforme. L'installation tient en un brew install –cask omniwm, et nixpkgs avec un module Home Manager sont aussi de la partie.

  • 🪟 Colonnes défilantes à la Niri ou BSP à la Hyprland, au choix par workspace
  • 🗺️ Un overview zoomable où toutes les fenêtres de tous les workspaces s'éditent d'un regard
  • ⌨️ Un vrai terminal Ghostty en quake, épinglé au-dessus des workspaces
  • 🔎 Une palette unique pour fenêtres, menus, presse-papiers, apps et fichiers
  • 🧪 omniwmctl` scripte tout en NDJSON sur un socket local
  • 🛡️ Signé, notarisé, SIP intact, GPL-2.0, sans abonnement

Sources

Publications similaires

Laisser un commentaire