picom: slow down spring animations and add debug logging

Spring parameters changed from (250, 20, 1) to (150, 18, 1.5):
- Reduced stiffness: 250 -> 150 (slower oscillation)
- Slightly reduced dampening: 20 -> 18
- Increased mass: 1 -> 1.5 (more "weight", slower motion)

Also added --log-level=debug --log-file to picom service for
monitoring animation triggers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-02 13:18:46 -08:00
parent daf2911540
commit dd3931249f

View File

@@ -104,7 +104,8 @@ makeEnable config "myModules.xmonad" true {
PartOf = [ "graphical-session.target" ]; PartOf = [ "graphical-session.target" ];
}; };
Service = { Service = {
ExecStart = "${pkgs.picom}/bin/picom --config %h/.config/picom/picom.conf"; # Debug logging to file for monitoring
ExecStart = "${pkgs.picom}/bin/picom --config %h/.config/picom/picom.conf --log-level=debug --log-file=%h/.local/share/picom/debug.log";
Restart = "always"; Restart = "always";
RestartSec = 3; RestartSec = 3;
}; };
@@ -113,6 +114,9 @@ makeEnable config "myModules.xmonad" true {
}; };
}; };
# Ensure log directory exists
xdg.dataFile."picom/.keep".text = "";
# Write complete picom config directly to avoid home-manager's libconfig generator # Write complete picom config directly to avoid home-manager's libconfig generator
# which incorrectly uses [] instead of () for the animations list # which incorrectly uses [] instead of () for the animations list
xdg.configFile."picom/picom.conf" = { xdg.configFile."picom/picom.conf" = {
@@ -132,22 +136,22 @@ makeEnable config "myModules.xmonad" true {
{ {
triggers = ["geometry"]; triggers = ["geometry"];
offset-x = { offset-x = {
curve = "spring(250, 20, 1, false)"; curve = "spring(150, 18, 1.5, false)";
start = "window-x-before - window-x"; start = "window-x-before - window-x";
end = 0; end = 0;
}; };
offset-y = { offset-y = {
curve = "spring(250, 20, 1, false)"; curve = "spring(150, 18, 1.5, false)";
start = "window-y-before - window-y"; start = "window-y-before - window-y";
end = 0; end = 0;
}; };
scale-x = { scale-x = {
curve = "spring(250, 20, 1, false)"; curve = "spring(150, 18, 1.5, false)";
start = "window-width-before / window-width"; start = "window-width-before / window-width";
end = 1; end = 1;
}; };
scale-y = { scale-y = {
curve = "spring(250, 20, 1, false)"; curve = "spring(150, 18, 1.5, false)";
start = "window-height-before / window-height"; start = "window-height-before / window-height";
end = 1; end = 1;
}; };