Hyprland サイドバー(Rust製)

Tool

概要

Hyprland Sidebarは、WaylandコンポジタであるHyprland向けに作られた、浮動ウィンドウを整理するサイドバーマネージャーです。Rustで実装され、HyprlandのIPCを利用してウィンドウの状態やフォーカスを監視し、浮動ウィンドウをワークスペースごとに縦方向のスタックへと変換します。ユーザーはキーバインド等でサイドバーの表示・非表示を切り替えられ、左右のフリップやギャップ幅などを設定できるため、作業領域を邪魔せずにツールや小窓を効率よく管理できます。設定はdefault_config.tomlのようなTOMLファイルで管理され、CargoによりRustビルドが行えます。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 8
  • ファイル数: 5
  • メインの言語: Rust

主な特徴

  • ワークスペース認識の縦積みサイドバー化(浮動ウィンドウを自動スタック)
  • トグル表示・非表示と左右フリップで柔軟に配置を変更可能
  • TOMLベースの設定でギャップや動作をカスタマイズ
  • HyprlandのIPCを利用してウィンドウ状態をリアルタイムに追跡

技術的なポイント

Hyprland SidebarはHyprlandが提供するIPC機構を受信側として利用し、ウィンドウの生成・削除・フォーカス移動といったイベントを受け取って内部モデルを更新します。これにより、どのウィンドウをサイドバーへ移すか、また元の浮動状態へ戻すかをワークスペース単位で判断でき、ユーザー操作や自動ルールに応じた切り替えを低遅延で行います。default_config.tomlが含まれていることから設定はTOML形式で管理され、起動時に読み込んで動作パラメータ(サイドバーの幅、ギャップ、オートスタックの有効/無効、左右どちらに表示するかなど)を反映します。

Rustで実装されているため、メモリ安全性と実行効率を両立しやすく、イベント処理やウィンドウ位置の再配置などを迅速にこなせます。ソースはsrcディレクトリにまとまっており、Cargo.tomlで依存関係が管理されています。設計上はモジュール化されており、IPCハンドリング、ウィンドウ管理ロジック、設定読み込みの層に分かれた構成が想定されるため、拡張やカスタムルールの追加が容易です。

Hyprlandとの統合面では、サイドバーへの移動は単にウィンドウの位置を変えるだけでなく、タイル化/浮動の状態をトグルすることで「視覚的なサイドバー」と「元の作業レイアウト」を自然に切り替える動作を実現します。加えて「スマートクローズ」のような機能により、サイドバー内のウィンドウを閉じた際の挙動(残りウィンドウの再配置やフォーカスの補完)も考慮されています。実行はデーモン的に常駐するか、キー操作で単発実行する形を取り得るため、ユーザーの運用スタイルに合わせて柔軟に使えます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • Cargo.lock: file
  • Cargo.toml: file
  • README.md: file
  • default_config.toml: file
  • src: dir

まとめ

Hyprland環境で浮動ウィンドウを効率よく整理する、設定可能かつ高速なRust製サイドバーツールです。

リポジトリ情報:

READMEの抜粋:

Hyprland Floating Sidebar (Rust)

A professional workspace manager written in Rust that transforms floating windows into an organized sidebar. It utilizes Hyprland’s IPC to track window states and provides seamless toggling between tiling and floating modes.

https://github.com/user-attachments/assets/a02e538b-472c-4ae8-9b19-6de822d40c47

Features

  • Toggle & Auto-Stack: Quickly move the focused window into a vertical sidebar stack with configurable gaps.
  • Smart Close: Closi…