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:
parent
24ca1908bc
commit
00baedf8c9
16
install.sh
16
install.sh
@ -508,6 +508,21 @@ setup_refresh_script() {
|
|||||||
fi
|
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
|
# Execution Flow
|
||||||
install_dependencies
|
install_dependencies
|
||||||
install_quickshell
|
install_quickshell
|
||||||
@ -518,6 +533,7 @@ deploy_kde_colorschemes
|
|||||||
repair_feishin_flatpak
|
repair_feishin_flatpak
|
||||||
setup_bashrc
|
setup_bashrc
|
||||||
setup_refresh_script
|
setup_refresh_script
|
||||||
|
setup_kwin_overview_rules
|
||||||
setup_systemd_service
|
setup_systemd_service
|
||||||
run_initial_sync
|
run_initial_sync
|
||||||
|
|
||||||
|
|||||||
@ -266,10 +266,10 @@ Item {
|
|||||||
font.weight: Font.Medium
|
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 {
|
Row {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: 10
|
spacing: 12
|
||||||
visible: LockscreenService.typedCount > 0 && !LockscreenService.isAuthenticating
|
visible: LockscreenService.typedCount > 0 && !LockscreenService.isAuthenticating
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
@ -282,14 +282,15 @@ Item {
|
|||||||
radius: 7
|
radius: 7
|
||||||
color: index === LockscreenService.typedCount - 1 ? Theme.accent : Theme.fg
|
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
|
scale: 1.0
|
||||||
SequentialAnimation on scale {
|
opacity: 1.0
|
||||||
|
|
||||||
|
ParallelAnimation {
|
||||||
running: true
|
running: true
|
||||||
NumberAnimation { from: 0.2; to: 1.4; duration: 120; easing.type: Easing.OutQuad }
|
NumberAnimation { target: dot; property: "scale"; from: 0.1; to: 1.0; duration: 240; easing.type: Easing.OutBack; easing.overshoot: 1.8 }
|
||||||
NumberAnimation { from: 1.4; to: 1.0; duration: 100; easing.type: Easing.OutBounce }
|
NumberAnimation { target: dot; property: "opacity"; from: 0.0; to: 1.0; duration: 180; easing.type: Easing.OutCubic }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inner Glow Core
|
// Inner Glow Core
|
||||||
|
|||||||
@ -8,7 +8,6 @@ Item {
|
|||||||
|
|
||||||
function lock() {
|
function lock() {
|
||||||
LockscreenService.lock()
|
LockscreenService.lock()
|
||||||
lockProc.running = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function logout() {
|
function logout() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user