Skip to content

Releases: chmouel/shmooz

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 May 15:28
v0.3.0
d3a821c

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 i key 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-copy support 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 the wl-clipboard package) to enable persistent clipboard data. A native Wayland fallback is maintained if the utility is not installed.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 May 13:07
v0.2.0
a9b9708

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 xkbcommon to 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 f key and restored l as the shortcut for the line tool.
  • Documentation: Updated README with screenshots, installation instructions for various distributions, and detailed configuration examples for Sway.

Dependencies

  • Added xkbcommon for robust keyboard handling.
  • Added png for screenshot encoding.
  • Updated CI and release workflows to include libxkbcommon-dev.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 06 May 22:11
fe02e21

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 shmooz magnifier, featuring high-performance screen zooming, smooth panning, and a spotlight overlay mode.
  • Layer Shell Migration: Switched the window management protocol from xdg-shell to wlr-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 apt source qualifiers to ensure consistent cross-compilation for different architectures.

Maintenance

  • Codebase Simplification: Removed "live mode" functionality and the associated --live and --live-fps flags 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 --live and --live-fps arguments are no longer supported.
  • Architecture Support: Official release targets have been focused on x86_64; the aarch64 release target has been dropped from the automated build matrix.