Commits

v0.3.2
mfwolffe
All time
January 2026
Su Mo Tu We Th Fr Sa
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

Commits on January 30, 2026

  1. mfwolffe committed

Commits on January 29, 2026

  1. mfwolffe committed

Commits on January 28, 2026

  1. add compositor selection and focus_follows_mouse
    - Add compositor config option: picom, garchomp, or none
    - Add focus_follows_mouse setting (default: true)
    - Add start_compositor() and stop_compositor() methods
    - Generate picom config only when using picom
    mfwolffe committed

Commits on January 27, 2026

  1. mfwolffe committed
  2. mfwolffe committed
  3. mfwolffe committed

Commits on January 24, 2026

  1. mfwolffe committed

Commits on January 21, 2026

  1. mfwolffe committed
  2. fix: skip pointer warp for unmanaged window destroy events
    Popup windows (menus, tooltips) from apps like JetBrains IDEs trigger
    DestroyNotify without being managed. Previously this caused pointer
    warp to focused window center on every popup close, making edge
    buttons nearly unusable.
    mfwolffe committed

Commits on January 20, 2026

  1. gar: tiled resize UX improvements
    - Add Button1 grab on root for edge resize in gaps between tiled windows
    - Add find_edge_from_gap() to detect resize edges when clicking gaps
    - Add set_root_cursor() helper for cursor feedback
    - Increase edge detection zone to 32px for easier grabbing
    - Reset root cursor and unfreeze pointer on resize complete
    - Add debug logging for resize diagnostics
    mfwolffe committed
  2. mfwolffe committed
  3. mfwolffe committed

Commits on January 18, 2026

  1. fix: use cursor state for tiled resize instead of re-detecting
    Instead of re-detecting the edge during button press (which might fail
    due to slight coordinate differences), use the tiled_edge_cursor state
    that was already set by motion detection. If the cursor changed to a
    resize cursor, we know we're on a valid edge and can use that state
    directly to start the resize operation.
    mfwolffe committed
  2. fix: translate frame windows to clients for tiled edge resize
    When windows are reparented into frames (for title bars), motion and
    button events come from the frame window, not the client. This fix:
    
    - Translates frame window IDs to client IDs in motion/button handlers
    - Sets/clears cursor on both frame and client windows
    - Fixes tiled edge resize not detecting edges when frames are enabled
    mfwolffe committed
  3. refactor: rewrite tiled edge resize detection
    Complete rewrite of tiled window edge resize detection:
    
    - Detection now based on proximity to window edge (16px zone), not gap center
    - Motion events on tiled windows properly trigger edge detection
    - Cursor set only on the two windows sharing the edge
    - Properly clears cursor when moving away from edge
    - Fixed focus-on-hover by not setting cursor on all windows
    
    The previous approach tried to detect the gap between windows, but motion
    events only fire when over a window, not the root. The new approach detects
    when cursor is near a window's edge and checks for an adjacent window.
    mfwolffe committed
  4. fix: track specific windows for tiled edge cursor clearing
    - find_tiled_edge now returns both windows sharing the edge
    - tiled_edge_cursor tracks (w1, w2, direction) instead of just direction
    - Only set/clear cursor on the two edge-adjacent windows, not all windows
    mfwolffe committed
  5. fix: set resize cursor on tiled windows not just root
    When hovering near the edge between tiled windows, the cursor is now
    set on all tiled windows (not just root), ensuring the resize cursor
    shows even when the mouse is over a window. Also adds debug logging
    for tiled edge detection.
    mfwolffe committed
  6. mfwolffe committed
  7. mfwolffe committed
  8. mfwolffe committed
  9. mfwolffe committed