mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-16 16:24:00 -04:00
* feat(screenshot): add -g/--geometry flag to print selection coordinates - Add -g/--geometry persistent flag to print region geometry (X,Y WxH) to stdout. - Skip image buffer allocation, cropping, and file/clipboard/notification actions when in geometry mode. - Support standard Enter/Space confirmation or mouse release via --no-confirm. - Exit with code 1 when selection is cancelled, matching slurp behavior for script integrations. - Support printing geometry across last, window, output, full, and all modes. - Add unit tests in region_geometry_test.go. * refactor(screenshot): deduplicate output bounds and clean geometry result helpers - Add bounds() method on WaylandOutput to deduplicate Hyprland geometry lookup across output capture and search. - Add geometryResult() helper in screenshot package to eliminate redundant CaptureResult literals. - Add GeometryString() method on Region to unify geometry formatting. - Refactor selectedLogicalGeometry() to return Region directly. - Clean up flag validation in runScreenshot. * fix(screenshot): address PR review on geometry coordinates and JSON output - Derive selectedLogicalGeometry from selectionExtent and ext.logical to keep geometry in sync with inclusive selection bounds. - Use pointer int for X and Y in screenshotMetadata so (0,0) origins are preserved in JSON output. - Divide output dimensions by effectiveScale in bounds() for non-Hyprland compositors and handle transform rotation. - Convert stored device coordinates to logical units in captureLastRegion geometry mode. - Update and expand unit tests for inclusive bounds, preselection, and scaled outputs. * fix(screenshot): prevent geometry query from clobbering last region and handle niri window geometry - Guard SaveLastRegion in captureRegion with !s.config.Geometry to prevent overwriting saved region with logical coordinates. - Return explicit error when attempting window -g on niri instead of printing bogus 0,0 0x0 rect. - Populate Region dimensions in captureNiriWindow.