feat(inject): collage natif Hyprland compatible avec Telegram Desktop #85
No reviewers
Labels
No labels
Agent/Autonomous OK
Agent/Demeter
Agent/Hermes
Agent/Human
Agent/Needs Review
Area/API
Area/Auth
Area/CLI
Area/Data
Area/Docs
Area/Infra
Area/UI
CI/Failing
CI/Flaky
CI/Green
CI/Needs Runner
CI/Needs Workflow
Compat/Backward Compatible
Compat/Breaking
Compat/Migration
Deploy/Ansible
Deploy/Blocked
Deploy/Homelab
Deploy/Needs Config
Deploy/Needs Secret
Deploy/Ready
Deploy/Rollback
Kind/Bug
Kind/Chore
Kind/Design
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Refactor
Kind/Security
Kind/Spike
Kind/Testing
Ops/Backup
Ops/Incident
Ops/Maintenance
Ops/Monitoring
Ops/Upgrade
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Someday
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Risk
Critical
Risk
High
Risk
Low
Risk
Medium
Security/Auth
Security/Disclosure
Security/Hardening
Security/Secret
Size
L
Size
M
Size
S
Size
XL
Size
XS
Stack/Ansible
Stack/Docker
Stack/Forgejo
Stack/Hermes
Stack/Node
Stack/Postgres
Stack/Python
Stack/Systemd
Status
Abandoned
Status
Blocked
Status
In Progress
Status
In Review
Status
Need More Info
Status
Ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
2027a/murmur!85
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/hyprland-paste"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objectif
Conserver Ctrl+Maj+V pour Telegram Desktop (Qt), Chromium et les terminaux, sans imposer un Ctrl+V global ni tenter plusieurs collages successifs.
Changements
sink.paste_backend = "wtype" | "hyprland", défaut wtype inchangé ; variableMURMUR_SINK_PASTE_BACKENDet résolution TOML/env/overrides.hyprctl -j status, sélection du dispatcher Lua ou hyprlang, adresse active strictement validée puis recontrôlée avant un unique dispatch ciblé.okobligatoire, aucun repli ni seconde tentative après un résultat ambigu.type,paste+none, les listes de raccourcis vides et--clipboard-onlygardent leur contrat. Le backend ne confirme pas la consommation du collage :paste+transientreste refusé.doctorvérifie conditionnellementhyprctlet la session, sans envoyer de touches ; pas de dépendance Hyprland dans les chemins passifs/frappe.shift+insert:wtype -M shift -k Insert -m shift, au lieu de taper littéralement « Insert ».Closes #70.
Vérifications
make lint test build module-check: réussi, toute la suite Go avec-race, tests Python, vérification/tidy des modules.make installcheck: réussi.go test -cover ./internal/inject: 96,4 % de couverture.sink.New→Deliversous Hyprland 0.56.2 (Lua), avec sentinelle sans retour à la ligne :Activation locale et limites
La version de cette branche (
27d91913df5d2e9806d0a0558314d3e913363ffa) a été installée localement sous le mandat de Mathieu ;~/.config/murmur/config.tomlcontient maintenantpaste_backend = "hyprland", sans changement du raccourci, des retours à la ligne ni de la politique clipboard. Binaire/config précédents sauvegardés ;murmur doctor --jsonest entièrement vert, avec le check de session Hyprland. Cette modification de configuration locale n’est pas incluse dans le dépôt Murmur.Le backend demande
hyprctl -j status(Hyprland 0.55+). La syntaxe hyprlang historique est testée par mocks, pas par une session graphique réelle. Un changement de focus après le dernier contrôle reste une course, mais le collage ne suit pas la nouvelle fenêtre : l’adresse ciblée reste fixe. Aucun nouveau cycle complet microphone/STT/cleanup n’est revendiqué par le test de livraison.PR proposée pour revue, sans fusion dans main.
— Pi 🥧