Files
GridSnap/extension.js
Keith Smith eb7a57617e Add animation effects for smooth user experience
Implemented comprehensive animation effects throughout the extension:

1. Zone Overlay Animations:
   - Fade-in animation (200ms) when showing zones
   - Fade-out animation (150ms) when hiding zones
   - Uses Clutter.AnimationMode.EASE_OUT_QUAD for smooth easing

2. Window Snapping Animations:
   - Smooth animated window movement (250ms) when snapping to zones
   - Animates window actor position and size
   - Falls back to instant move if actor not available
   - Final position set precisely after animation completes

3. Visual Snap Feedback:
   - Green flash effect when window snaps to zone
   - Flash shows the exact zone boundaries
   - Fades out over 400ms
   - Works for both Shift+drag and keyboard snapping

Implementation details:
- Used Clutter's ease() method for all animations
- Overlay fade animations prevent jarring appearance/disappearance
- Window animations use compositor actor for smooth transitions
- Flash feedback uses temporary widget with auto-cleanup
- All animations use EASE_OUT_QUAD for natural feel

User experience improvements:
- Zones appear and disappear smoothly instead of instantly
- Windows glide into position rather than jumping
- Clear visual confirmation when snap occurs
- Professional, polished feel throughout

Fixes TODO item #11.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 21:54:35 -07:00

46 KiB