feat(lockscreen): smooth out typing dot animation, isolate QuickShell lockscreen from plasma kscreenlocker, and exclude QuickShell from Meta+W overview

This commit is contained in:
Sho 2026-08-02 16:16:10 +09:00
parent 24ca1908bc
commit 00baedf8c9
3 changed files with 24 additions and 8 deletions

View File

@ -508,6 +508,21 @@ setup_refresh_script() {
fi
}
setup_kwin_overview_rules() {
info "Configuring KWin Overview rules to ignore QuickShell components..."
if command -v kwriteconfig6 &>/dev/null; then
kwriteconfig6 --file kwinrulesrc --group "quickshell-ignore-overview" --key "Description" "Ignore QuickShell from KWin Overview Effect"
kwriteconfig6 --file kwinrulesrc --group "quickshell-ignore-overview" --key "wmclass" "quickshell"
kwriteconfig6 --file kwinrulesrc --group "quickshell-ignore-overview" --key "wmclassmatch" "1"
kwriteconfig6 --file kwinrulesrc --group "quickshell-ignore-overview" --key "skipoverview" "true"
kwriteconfig6 --file kwinrulesrc --group "quickshell-ignore-overview" --key "skipoverviewrule" "2"
if command -v qdbus6 &>/dev/null; then
qdbus6 org.kde.KWin /KWin reconfigure 2>/dev/null || true
fi
success "KWin Overview exclusion rule configured for QuickShell!"
fi
}
# Execution Flow
install_dependencies
install_quickshell
@ -518,6 +533,7 @@ deploy_kde_colorschemes
repair_feishin_flatpak
setup_bashrc
setup_refresh_script
setup_kwin_overview_rules
setup_systemd_service
run_initial_sync

View File

@ -266,10 +266,10 @@ Item {
font.weight: Font.Medium
}
// ANIMATED TYPING DOTS (Shows WHEN and HOW MANY letters are typed)
// ANIMATED TYPING DOTS (Ultra-smooth scale, opacity, & glow entry)
Row {
anchors.centerIn: parent
spacing: 10
spacing: 12
visible: LockscreenService.typedCount > 0 && !LockscreenService.isAuthenticating
Repeater {
@ -282,14 +282,15 @@ Item {
radius: 7
color: index === LockscreenService.typedCount - 1 ? Theme.accent : Theme.fg
Behavior on color { ColorAnimation { duration: 120 } }
Behavior on color { ColorAnimation { duration: 180 } }
// Spawn Bounce & Pulse Animation for each character typed
scale: 1.0
SequentialAnimation on scale {
opacity: 1.0
ParallelAnimation {
running: true
NumberAnimation { from: 0.2; to: 1.4; duration: 120; easing.type: Easing.OutQuad }
NumberAnimation { from: 1.4; to: 1.0; duration: 100; easing.type: Easing.OutBounce }
NumberAnimation { target: dot; property: "scale"; from: 0.1; to: 1.0; duration: 240; easing.type: Easing.OutBack; easing.overshoot: 1.8 }
NumberAnimation { target: dot; property: "opacity"; from: 0.0; to: 1.0; duration: 180; easing.type: Easing.OutCubic }
}
// Inner Glow Core

View File

@ -8,7 +8,6 @@ Item {
function lock() {
LockscreenService.lock()
lockProc.running = true
}
function logout() {