Écran de verrouillage et centre de notifications personnalisés avec Quickshell
Note —Intégration de l'authentification PAM, animations d'ouverture fluides et architecture d'un centre de notifications Wayland groupées.
Sommaire
Résumé : La solution de Quickshell au problème des scintillements observés sur les écrans de verrouillage externes et des notifications qui restent derrière le verrou est expliquée : une surface de verrouillage qui se place au-dessus de tout et ne laisse fuiter aucune entrée grâce au protocole Wayland
ext-session-lock-v1, une vérification du mot de passe via PAM et un centre de notifications qui regroupe les notifications par application.
La sécurité du bureau et la gestion des notifications font partie des éléments les plus sensibles de l'expérience utilisateur. Les scintillements d'écran rencontrés lors de l'utilisation d'un écran de verrouillage externe ou la disparition des notifications derrière l'écran de verrouillage nuisent à la sensation d'un bureau cohérent.
Quickshell prend en charge nativement le protocole Wayland ext-session-lock-v1 et l'infrastructure Linux PAM (Pluggable Authentication Modules), offrant ainsi un écran de verrouillage élégant, sûr et intégré.
1. Protocole de verrouillage de session Wayland
Lorsque l'écran est verrouillé, Quickshell crée une surface sécurisée qui passe au-dessus de toutes les autres fenêtres et ne laisse aucun événement d'entrée fuiter vers l'arrière-plan :
import QtQuick 2.15
import Quickshell 1.0
import Quickshell.Wayland 1.0
SessionLock {
id: lockSurface
Rectangle {
anchors.fill: parent
color: "#08090b"
// Dijital Saat
Text {
anchors.centerIn: parent
anchors.verticalCenterOffset: -60
text: Qt.formatDateTime(new Date(), "hh:mm")
font.pixelSize: 64
font.bold: true
color: "#ffffff"
}
// Şifre Giriş Alanı
TextInput {
id: passwordField
anchors.centerIn: parent
anchors.verticalCenterOffset: 40
echoMode: TextInput.Password
color: "#00ffcc"
font.pixelSize: 18
focus: true
onAccepted: {
PamAuth.authenticate(passwordField.text);
}
}
}
}
2. Centre de notifications groupées
Le serveur de notifications de Quickshell (org.freedesktop.Notifications) regroupe automatiquement les notifications entrantes par nom d'application. Si l'utilisateur le souhaite, il peut lister les notifications passées dans le panneau latéral ou les effacer d'un seul clic.
Ma lecture
- L'écran de verrouillage doit être protégé par le protocole : le protocole de verrouillage de session empêche les entrées d'atteindre les fenêtres situées derrière.
- La vérification s'effectue avec l'infrastructure propre du système : le contrôle du mot de passe passe par PAM.
- Le regroupement réduit l'encombrement des notifications : les notifications sont rassemblées par nom d'application.