Hyprland : remplacer les scratchpads Pyprland par des special workspaces natifs #9

Open
opened 2026-09-05 16:41:36 +00:00 by silex · 0 comments
Collaborator

Projet de simplification issu de la revue. Objectif : retirer Pyprland des deux sessions si des semantiques natives plus simples conviennent, sans recreer son daemon en Lua ou QML.

Perimetre

pypr/config.toml:1-29 active uniquement le plugin scratchpads : terminal/tmux, Yazi et Bitwarden. hypr/modules/bindings-scratchpads.lua:8-10 contient W/E/O ; le sous-mode S utilise deja les special workspaces natifs.

Hyprland 0.56.2 expose hl.workspace_rule, on_created_empty, les regles de fenetre et hl.dsp.workspace.toggle_special(name). Commencer par un terminal pilote, puis Yazi, puis Bitwarden. Conserver les raccourcis W/E/O et le sous-mode S.

Compromis a faire valider

  • Les scratchpads Pyprland sont deplaces vers le bureau courant et epingles ; un special workspace reste distinct.
  • Plusieurs overlays Pyprland peuvent coexister, contrairement a plusieurs special workspaces independants sur un meme ecran. L'interaction avec les espaces magic-* change.
  • Les valeurs implicites pinned=true, multi=true et le suivi des processus ne sont pas une absence de fonctionnalites.
  • Pyprland reapplique la geometrie lors de l'affichage ; une regle initiale ne suffit pas a reproduire cela. Le dim natif est actuellement de 0.4.
  • on_created_empty concerne la creation du workspace, pas chaque passage a zero fenetre. Ne pas supposer qu'il suffit pour tous les relancements.
  • Bitwarden deja lance, minimise dans le tray ou ouvrant des fenetres enfants requiert une verification particuliere.

Etapes et acceptation

  • Faire valider les compromis de comportement avant generalisation.
  • Implementer et tester un terminal natif sans daemon supplementaire.
  • Tester premiere ouverture, fermeture/reouverture, lancement rate et toggles rapides.
  • Tester deux ecrans, deplacement/hotplug, fullscreen, magic-* et titres de barre Quickshell.
  • Migrer Yazi puis Bitwarden, y compris instance deja active et fenetres enfants.
  • Valider les sessions Waybar et Quickshell et mettre a jour la documentation.
  • Retirer les lancements/configurations Pyprland seulement apres validation et verification des autres consommateurs ; desinstallation du paquet en operation distincte explicite.

Critere d'arret : si la parite exige un gestionnaire maison de processus, d'evenements et de geometrie, conserver Pyprland plutot que deplacer sa complexite dans le compositeur.

References

Projet de simplification issu de la revue. Objectif : retirer Pyprland des deux sessions si des semantiques natives plus simples conviennent, sans recreer son daemon en Lua ou QML. ## Perimetre `pypr/config.toml:1-29` active uniquement le plugin scratchpads : terminal/tmux, Yazi et Bitwarden. `hypr/modules/bindings-scratchpads.lua:8-10` contient W/E/O ; le sous-mode S utilise deja les special workspaces natifs. Hyprland 0.56.2 expose `hl.workspace_rule`, `on_created_empty`, les regles de fenetre et `hl.dsp.workspace.toggle_special(name)`. Commencer par un terminal pilote, puis Yazi, puis Bitwarden. Conserver les raccourcis W/E/O et le sous-mode S. ## Compromis a faire valider - Les scratchpads Pyprland sont deplaces vers le bureau courant et epingles ; un special workspace reste distinct. - Plusieurs overlays Pyprland peuvent coexister, contrairement a plusieurs special workspaces independants sur un meme ecran. L'interaction avec les espaces `magic-*` change. - Les valeurs implicites `pinned=true`, `multi=true` et le suivi des processus ne sont pas une absence de fonctionnalites. - Pyprland reapplique la geometrie lors de l'affichage ; une regle initiale ne suffit pas a reproduire cela. Le dim natif est actuellement de 0.4. - `on_created_empty` concerne la creation du workspace, pas chaque passage a zero fenetre. Ne pas supposer qu'il suffit pour tous les relancements. - Bitwarden deja lance, minimise dans le tray ou ouvrant des fenetres enfants requiert une verification particuliere. ## Etapes et acceptation - [ ] Faire valider les compromis de comportement avant generalisation. - [ ] Implementer et tester un terminal natif sans daemon supplementaire. - [ ] Tester premiere ouverture, fermeture/reouverture, lancement rate et toggles rapides. - [ ] Tester deux ecrans, deplacement/hotplug, fullscreen, `magic-*` et titres de barre Quickshell. - [ ] Migrer Yazi puis Bitwarden, y compris instance deja active et fenetres enfants. - [ ] Valider les sessions Waybar et Quickshell et mettre a jour la documentation. - [ ] Retirer les lancements/configurations Pyprland seulement apres validation et verification des autres consommateurs ; desinstallation du paquet en operation distincte explicite. Critere d'arret : si la parite exige un gestionnaire maison de processus, d'evenements et de geometrie, conserver Pyprland plutot que deplacer sa complexite dans le compositeur. ## References - [Revue complete et sources versionnees](https://git.2027a.net/mathieu/Clankers/src/commit/d45ad9c432548a1bf75fefe9c09d38a2939961d4/analyses/hyprland-rationalisation--2026-09-05.md). - [Configuration auditee, commit 818a0b1](https://git.2027a.net/mathieu/dotfiles/src/commit/818a0b142931fb439c4e620c258cb1b05dd8cdf8/). - Versions examinees : Hyprland 0.56.2 et Quickshell 0.3.1.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/dotfiles#9
No description provided.