mirror of
https://github.com/thesleepingsage/hypr-lens.git
synced 2026-11-01 06:56:42 +01:00
Entering Crop while Freehand is active swaps selection to Rect; the R key and the Rect/Freehand tabs are inert while Crop is on. Leaving Crop keeps Rect (no restore); already-Rect swaps are no-ops.
7.8 KiB
7.8 KiB
Changelog
All notable changes to hypr-lens are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Conventional Commits.
Unreleased
Added
- Crop Mode - Press
C(or the new Instant/Crop toolbar tabs) to switch the region selector into Crop mode: releasing a selection opens an adjustable editor (8 resize handles + interior move, min-size and screen clamping, live size label) instead of capturing immediately; Enter/Space or the confirm button captures, Escape returns to drawing. Crop implies rectangles: entering it from Freehand auto-swaps to Rect (Freehand is unselectable while Crop is active). Works for screenshots and recording alike; configurable viaregionSelector.crop.minSize/handleSize RHotkey - Toggles Rect/Freehand selection mode inside the overlay (the "Circle" tab is now labeled Freehand; config keys keep theircirclenames)- Freehand True-Shape Capture - Freehand selections now capture only the pixels inside the drawn loop (transparent outside, via an ImageMagick polygon mask). OCR flattens onto white; recording and the crop editor remain rectangular (true-shape applies to Instant-mode freehand only)
regionSelector.dragThresholdConfig Key - Pixel dead-zone (default6) for the region selector's click/drag discriminator;0disables it, restoring the previous per-pixel sensitivity (circle mode always uses0— every circle gesture is the drawn shape)
Changed
- Region Selector Click/Drag Dead-Zone - Press-to-release movements within
dragThreshold(default6px) are now treated as clicks that select the whole hovered window/region, instead of snipping a tiny drag rectangle. This is a user-visible behavior change: if you relied on tiny deliberate drags to grab very small rectangles, lower or zero the threshold - Region Selector Empty-Space Clicks - A click (or sub-threshold micro-drag) over empty space with no targetable region now dismisses the overlay cleanly instead of capturing a sliver
1.6.0 - 2026-06-06
Added
- satty Annotation Tool - satty is now the default editor for the "edit" action (configurable via
regionSelector.annotation.useSatty), with a bundledsatty.tomland swappy as a fallback hypr-lens/hlWrappers - Installer now provides launcher commands that detach on launch and run synchronously for IPC; removed on uninstall- Dev Update Helper -
dev-update.shsyncs scripts and ensuresshell.qmlintegration during development
Changed
- Selection Rounding Matches Hyprland - Selection overlays now read
decoration:roundinglive viahyprctl getoptioninstead of a hardcoded value, so corners match real windows; updates on start and on Hyprland events - Docs Use Wrapper Commands - README/MANUAL now reference
hypr-lens/hlinstead of rawqs --path ...
Fixed
- Config Docs - Removed the misleading
killall quickshell; quickshell &tip; the JSON config hot-reloads and never needs a restart
1.5.0 - 2025-12-20
Added
- Developer Setup Script - New
dev-setup.shcreates symlinks for live editing during development - Development Wiki Page - Contributor guide with setup instructions and project structure
Changed
- Installer Cleanup - Removed dev-specific symlink detection; installer now always copies files (cleaner code path for users)
Documentation
- README - Added Development link to navigation bar
- Wiki Sidebar - Added Contributing section with Development page link
1.4.0 - 2025-12-19
Fixed
- Screenshot Save Path - Screenshots and edited images now properly save to configured
savePath - Tilde Expansion -
~/paths now correctly expand in all save path configurations - Swappy Integration - Edit mode (swappy) now respects
copyAlsoSavessetting for consistent behavior - Config Parsing - Changed config format from JSONC to JSON for reliable parsing
Added
- Default Save Paths - Screenshots default to
~/Pictures/hypr-lens, recordings to~/Videos/hypr-lens - Copy Also Saves Option - New
copyAlsoSavesconfig option for users who want left-click to also save - Screenshot Notifications - Visual feedback via notify-send for copy and save operations
Changed
- Copy Mode Behavior - Left-click (Copy) now only copies to clipboard by default; use Edit mode (right-click) or enable
copyAlsoSavesto save files - Code Quality - Extracted save path helpers to reduce duplication in screenshot commands
1.3.0 - 2025-12-16
Added
- Right-Click Edit on Monitor Buttons - Right-click monitor buttons to capture and edit with swappy
Fixed
- MonitorButton Tooltip - Fixed missing services import for tooltip functionality
Changed
- Documentation - Clarified compatibility notes for non-Arch distributions
1.2.0 - 2025-12-08
Added
- Demo Videos - Video demonstrations of screenshot, OCR, and screen recording features
- Security Documentation - Comprehensive SECURITY.md transparency document with line-by-line audit
Fixed
- Video Compatibility - Re-encoded demo videos to H.264 for GitHub compatibility
1.1.0 - 2025-12-08
Added
- One-Click Monitor Capture - Quick capture buttons for each monitor in the region selector UI
Changed
- Region Selector Refactor - Extracted utilities and reduced code duplication for better maintainability
Fixed
- Installer Recovery - Detect and recover missing shell integration during update mode
- Invalid Input Handling - Improved input validation in integration recovery flow
1.0.0 - 2025-12-08
Initial public release! 🎉
Added
- Core QML Region Selector - Polished region selection UI with window detection, custom region drawing, and visual feedback
- Screenshot Capture - Region, window, and fullscreen screenshot support with clipboard integration
- OCR Text Extraction - Tesseract-powered text extraction from selected screen regions
- Google Lens Integration - Quick image search workflow via clipboard + browser
- Screen Recording - Region-based screen recording with optional audio capture using wf-recorder
- Color Picker - Screen-wide color picking via hyprpicker integration
- OpenCV Content Detection - Intelligent region detection within screenshots using Python + OpenCV
- Window/Layer Detection - Automatic detection of Hyprland windows and layers for quick capture
- Installer Script - Interactive installer with dependency detection, automatic setup, and shell integration
- Example Keybinds - Pre-configured Hyprland keybinds for all features
- Default Configuration - JSONC config with sensible defaults for all options
- Matugen Theming Support - Dynamic Material You theming via matugen integration
- IPC Interface - Programmatic control via quickshell IPC commands
- Project Documentation - README, MANUAL, SECURITY audit, and wiki
Features in Detail
| Feature | Keybind |
|---|---|
| Region Screenshot | Super+Shift+S |
| Image Search | Super+Shift+A |
| OCR Extraction | Super+Shift+X |
| Screen Recording | Super+Shift+R |
| Recording + Audio | Super+Shift+Alt+R |
| Color Picker | Super+Shift+C |
| Quick Fullscreen | Print |
Version History Summary
| Version | Date | Highlights |
|---|---|---|
| 1.5.0 | 2025-12-20 | Developer setup script, contributor docs |
| 1.4.0 | 2025-12-19 | Screenshot save fix, tilde expansion, swappy integration |
| 1.3.0 | 2025-12-16 | Right-click edit on monitor buttons |
| 1.2.0 | 2025-12-08 | Demo videos, security documentation |
| 1.1.0 | 2025-12-08 | Monitor capture buttons, installer recovery |
| 1.0.0 | 2025-12-08 | Initial release |