emersion/slurp

Clicking outside all rectangles should cancel

RagnarGrootKoerkamp opened this issue · 0 comments

When using slurp with sway with multiple monitors to screenshot a single window, the following feels unintuive to me:

  • Monitor 1: one window open
  • Monitor 2: empty workspace
  • run grimshot save window, which passes the window rectangles to slurp, e.g: echo -e "300,100 600x600\n900,100 600x600" | slurp
  • Hover the window on monitor 1
  • Hover the empty workspace on monitor 2
  • The window on monitor 1 is now grayed out
  • Click somewhere on monitor 2
  • Slurp has selected the window on monitor 1, instead of being cancelled.

Expected behavior: slurp cancels when clicking outside all rectangles
Actual behavior: slurp selects the last hovered rectangle when clicking outside all rectangles

The fix is probably to explicitly clear any pending selection when the mouse moves to an area not covered by any rectangles.