HyprQuickshot — Hyprland向けシンプルなスクリーンショットユーティリティ
概要
HyprQuickshotは、Hyprland上で動く見た目の良いスクリーンショットユーティリティです。QuickshellフレームワークとQMLでUIと滑らかなアニメーションを実装し、実際のキャプチャ処理はWayland向けツール群(grim等)やImageMagick、wl-clipboardと連携して行います。領域選択やウィンドウ選択、フルスクリーン撮影のワークフローを備え、アニメーションで視覚的に操作がわかりやすくなる工夫がされています。シンプルで軽量、Hyprlandデスクトップに自然に統合できることを目指したツールです。
リポジトリの統計情報
- スター数: 10
- フォーク数: 0
- ウォッチャー数: 10
- コミット数: 6
- ファイル数: 9
- メインの言語: QML
主な特徴
- Hyprland向けに設計された軽量なスクリーンショットUI(QML)。
- 領域選択、ウィンドウ選択、全画面撮影をサポート。
- Grim/Imagemagick/wl-clipboard等の既存ツールと連携して処理を実行。
- 滑らかなアニメーションと視覚的フィードバックで使いやすさを向上。
技術的なポイント
HyprQuickshotはUIと操作系をQMLで実装し、実行/外部コマンドの連携にQuickshellの仕組みを利用している点が中心的な技術特色です。QMLコンポーネント(FreezeScreen.qml, RegionSelector.qml, WindowSelector.qml など)がスクリーンオーバーレイや選択矩形、ウィンドウハイライト、アニメーションを担い、これらはWayland上での視覚的操作を可能にします。実際の画像取得や加工は既存のCLIツール群に委譲する設計で、grimがスクリーンの生データ取り込みを行い、ImageMagickがトリミングやリサイズ、フォーマット変換などの後処理を担当、wl-clipboard(wl-copy)で画像をクリップボードに渡す、といった典型的なパイプラインが組まれます。
この分離により、UIのレスポンスや見た目に注力でき、Wayland特有の制約(例:X11のスクリーン読み取りとは異なるプロトコル)にも既存のツールで対応できます。QML側はマウス/タッチ操作を受けて選択領域を計算し、その座標をコマンド引数に渡すことで正確な切り出しを実現します。設定やキー割当は外部(Hyprlandの設定)に委ねられる想定で、最小限の依存で動作する点は配布や導入を容易にします。加えて、プロジェクトはQuickshellに依存することでシェルコマンドの呼び出しとUIの橋渡しを簡潔にし、将来的な機能拡張(ファイル命名ルール、複数モニタ対応、通知統合など)も比較的容易に行える構造になっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- FreezeScreen.qml: file
- LICENSE.md: file
- README.md: file
- RegionSelector.qml: file
- WindowSelector.qml: file
…他 4 ファイル
(依存関係)
- quickshell
- grim
- ImageMagick
- wl-clipboard
まとめ
Hyprland環境で軽快に使える見た目の良いスクリーンショットツール。拡張性も高く実用的。
リポジトリ情報:
- 名前: hyprquickshot
- 説明: A cool screenshot utility for Hyprland
- スター数: 10
- 言語: QML
- URL: https://github.com/JamDon2/hyprquickshot
- オーナー: JamDon2
- アバター: https://avatars.githubusercontent.com/u/25279396?v=4
READMEの抜粋:
HyprQuickshot
A simple, (hopefully) beautiful screenshot utility for Hyprland with smooth animations, built with Quickshell. PRs and contributions are appreciated.
Demo
https://github.com/user-attachments/assets/7e3d5e3c-551a-4458-8dda-06cc3907dd92