Repository navigation
Releases: chmouel/shmooz
Releases · chmouel/shmooz
Release list
v0.3.0
shmooz v0.3.0 introduces a new color picker tool, enhances the user experience with smooth zoom animations, and improves clipboard reliability for captured screenshots.
Features
- Color Picker Mode: A new utility toggled with the
ikey that allows users to sample colors from the screen. It features a visual swatch preview and copies hex values to the clipboard on left-click. - Smooth Zoom Animations: Replaced immediate view jumps with fluid, cubic-eased transitions for zooming and resetting the view.
- Clipboard Persistence: Integrated
wl-copysupport to ensure that screenshots and copied colors remain available for pasting even after shmooz has been closed.
Bug Fixes
- Context-Aware Animation Timing: Applied distinct animation durations for different actions, providing snappier feedback for scroll-zooming and smoother pacing for full-view resets.
Maintenance
- Zoom Logic Refactor: Switched zoom calculations from additive steps to multiplicative factors, resulting in more consistent scaling behavior across both keyboard and mouse scroll inputs.
- Documentation Improvements: Revised the README with updated section headings, new demonstration images, and clarified instructions for clipboard dependencies.
Dependencies
- Added a recommended runtime dependency on
wl-copy(part of thewl-clipboardpackage) to enable persistent clipboard data. A native Wayland fallback is maintained if the utility is not installed.
v0.2.0
This release introduces a comprehensive suite of annotation tools, screenshot and clipboard capabilities, and significant improvements to navigation and UI feedback.
Features
- Advanced Annotation Toolkit: Added pen, highlighter, line, rectangle, ellipse, text, and move tools for real-time presentation markup.
- Content Anchoring: Annotations now anchor to the underlying image content, ensuring they stay in the correct position when zooming or panning.
- Screenshot Support: Save the current visible view (including zoom, spotlight, and annotations) to disk or copy it directly to the Wayland clipboard and primary selection using
Ctrl+C. - Text Annotation System: Integrated
xkbcommonto support various keyboard layouts and character composition. Users can now adjust text scale dynamically with bracket keys. - Annotation Palette: Introduced a 12-color preset palette selectable via number keys, with support for preserving transparency in highlighters.
- Move Tool: New tool to reposition existing annotations, featuring a hand cursor icon for improved usability.
- Primary Selection: Support for the Wayland primary selection protocol, allowing captured images to be pasted via the middle mouse button.
- Improved Spotlight: The spotlight overlay can now be toggled independently of zoom state and resized via keyboard shortcuts.
- UI Enhancements: Refactored the on-screen mode indicator badge and added "toast" notifications to confirm successful screenshot captures.
Bug Fixes
- Clean Screenshots: Exported screenshots now exclude the on-screen zoom badge and UI indicators.
- Navigation Consistency: The Escape key now consistently backs out of active modifiers and annotation modes before exiting the application.
- Non-blocking Clipboard: Image data transfers for the clipboard now occur asynchronously to prevent the main application loop from freezing.
- Focus Logic: Improved overlay rendering and cursor visibility when shifting focus between multiple outputs.
- Spotlight Rendering: Fixed rendering logic to ensure the spotlight overlay correctly fills all dimmable areas.
Maintenance / Refactoring
- Simplified Zoom Model: Removed the "follow-mouse" zoom mode to provide a more stable and predictable navigation experience.
- Overlay Optimization: Improved input processing and rendering logic to prevent unnecessary screen refreshes.
- Consolidated State: Refactored Wayland global handling and coordinate projection logic for better maintainability.
- Shortcut Remapping: Moved the spotlight toggle to the
fkey and restoredlas the shortcut for the line tool. - Documentation: Updated README with screenshots, installation instructions for various distributions, and detailed configuration examples for Sway.
Dependencies
- Added
xkbcommonfor robust keyboard handling. - Added
pngfor screenshot encoding. - Updated CI and release workflows to include
libxkbcommon-dev.
v0.1.0
This release marks the initial public offering of shmooz, a Wayland-native magnification utility. It introduces a core architecture built on the Layer Shell protocol for enhanced desktop integration and includes automated CI/CD workflows for stable releases.
Features
- Initial Utility Release: Introduced the
shmoozmagnifier, featuring high-performance screen zooming, smooth panning, and a spotlight overlay mode. - Layer Shell Migration: Switched the window management protocol from
xdg-shelltowlr-layer-shell, allowing the utility to behave as a proper desktop overlay with better support for fullscreen applications. - Input & Controls: Implemented comprehensive controls including mouse-wheel zooming at the pointer, left-click drag panning, and keyboard shortcuts for navigation and spotlight radius adjustment.
- Release Automation: Added scripts and workflows for automated version bumping, binary packaging, and release generation.
Bug Fixes
- CI Binary Packaging: Fixed an issue where release binaries were not correctly referenced within the artifact directory during the upload process.
- Cross-Build Environment: Resolved an issue with
aptsource qualifiers to ensure consistent cross-compilation for different architectures.
Maintenance
- Codebase Simplification: Removed "live mode" functionality and the associated
--liveand--live-fpsflags to streamline the core application logic. - Project Metadata: Added essential metadata to
Cargo.toml, including license (Apache-2.0), documentation links, and repository information. - Quality Assurance: Integrated pre-commit hooks and strict linter rules (Clippy/rustfmt) to maintain code quality.
- CI/CD Improvements: Established GitHub Actions for automated testing and streamlined the AUR publishing process.
- Development Tooling: Introduced a Makefile to simplify common development tasks such as building, testing, and linting.
Breaking Changes
- Live Mode Removal: The
--liveand--live-fpsarguments are no longer supported. - Architecture Support: Official release targets have been focused on
x86_64; theaarch64release target has been dropped from the automated build matrix.