Skip to content

weizlogy/DesktopGrouping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desktop Grouping (v3.0.0) 🧹✨

Windows デスクトップ上のアイコンを「グループ(フェンス)」で整理整頓するための、超軽量・高画質なデスクトップユーティリティです。

🌟 プロジェクトの目的と設計思想

Desktop Grouping は、デスクトップを綺麗に保ちつつ、作業効率を最大化することを目的としています。 v3.0.0 では、「常駐ソフトとしての究極の低負荷」「現代の Windows にふさわしい美しい透過表現」 を追求し、技術スタックを Win32 ネイティブ + DirectX 11 へ刷新しました。

🚀 技術スタック (v3.0.0)

  • Language: Rust (edition 2024)
  • Windowing: Win32 Native API (No abstraction layers like winit)
  • Graphics: DirectX 11 + Direct2D + DirectWrite
  • Composition: DirectComposition (Hardware-accelerated transparency)
  • Performance: アイドル時の CPU 使用率 0% を目指したイベント駆動型設計

✨ 主要機能

1. アイコンのグループ化 (Groups)

  • 作成: トレイアイコンの右クリックメニューから「New Group」を選択。
  • 整理: ファイルやショートカットをグループ内にドラッグ&ドロップで追加。
  • 表示: アイコンラベルは拡張子なしのファイル名を表示。中央寄せで整列。
  • 配置: ウィンドウサイズに合わせて自動で整列する「グリッド・リフロー」方式。
  • 並び替え: アイコンをドラッグして自由な順序に並び替え可能。
  • 実行: アイコンをダブルクリックして実行。
  • 場所確認: 右クリックでファイルの場所(エクスプローラー)を開く。

2. 直感的なカスタマイズ (Shortcut Keys)

グループを直接操作して、好みのスタイルに調整できます。

  • 移動: Ctrl + 左ドラッグ
  • リサイズ: Shift + 左ドラッグ
  • 透過度調整: Alt + 左ドラッグ (背景の不透明度のみが変化し、アイコンは常に鮮明に表示)
  • 色変更 / サイズ変更: クリップボードの内容に応じて設定を即時適用する (Ctrl + V)。
    • 色変更: #RRGGBB または #RRGGBBAA をコピーして Ctrl + V
    • サイズ変更: size:64 のように size:<数値> をコピーして Ctrl + V(16〜256px の範囲で調整可能)。
    • ランダム色: #random をコピーして Ctrl + V
  • アイコンの実行: アイコンを ダブルクリック
  • 場所確認: アイコンを 右クリック (エクスプローラーで開く)
  • アイコンの削除: アイコンを Ctrl + 右クリック
  • グループの削除: 空白部分を Ctrl + 右クリック

3. コマンドラインによる詳細設定 (Advanced)

起動時の引数で、アプリケーション全体のフォントとサイズを指定できます。

  • フォント変更: --font "MS Gothic" のように指定。
  • フォントサイズ変更: --fsize 14 のように指定。

使用例:

desktop-grouping.exe --font "Meiryo" --fsize 12

🛠️ 開発者向け情報

ビルド要件

  • Rust ツールチェーン (edition 2024 以降)
  • Windows SDK (DirectX 関連のビルドに必要)

ビルド手順

# ビルド
cargo build --release

# 実行
cargo run --release

プロジェクト構造

  • src/win32/: Win32 API のブラックボックス化とウィンドウ管理。
  • src/graphics/: DirectX 11 / Direct2D による描画エンジン。
  • src/ui/: UI コンポーネントと操作ロジック。
  • src/settings/: 設定の永続化と管理。

📜 ライセンス

MIT License

📝 変更履歴

v3.0.0 (In Progress)

  • フルスクラッチ刷新: winit, softbuffer, tiny-skia を廃止し、純粋な Win32 と DirectX 11 へ移行。
  • 低負荷化: メッセージループの最適化によりアイドル時の CPU 負荷を最小化。
  • 高品質透過: DirectComposition によるネイティブ透過描画を実装。
  • 永続化の実装: 位置、サイズ、背景色、透過度、アイコンサイズを自動保存し、起動時に自動復元。
  • 操作系の強化: Alt + ドラッグ による透過度調整、Ctrl + V による動的な色・サイズ変更を実装。

v2.0.0

  • C# (WPF) から Rust へ移行。パフォーマンスを大幅に改善。

About

DesktopGrouping is a utility for Windows that helps to organize icons on the desktop like Fences and very simple style.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors