概要
Hyprland は、見た目を犠牲にしない完全に独立した動的タイリング Wayland コンポジターです。最新の Wayland 機能、高いカスタマイズ性、ビジュアルエフェクト、強力なプラグイン、シンプルな IPC を備え、C++ で記述されています。グラデーションボーダー、ブラー、アニメーション、シャドウ、ゲームのティアリング制御をサポートしています。
README プレビュー
\n\n\n\n\n\n[![Badge Workflow]][Workflow]\n[![Badge License]][License] \n![Badge Language] \n[![Badge Pull Requests]][Pull Requests] \n[![Badge Issues]][Issues] \n![Badge Hi Mom]\n\n\n\nHyprland is a 100% independent, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.\n\nIt provides the latest Wayland features, is highly customizable, has all the eyecandy, the most powerful plugins,\neasy IPC, much more QoL stuff than other compositors and more...\n\n\n\n---\n\n**[ Install ][Install]** \n**[ Quick Start ][Quick Start]** \n**[ Configure ][Configure]** \n**[ Contribute ][Contribute]**\n\n---\n\n\n\n\n\n# Features\n\n- All of the eyecandy: gradient borders, blur, animations, shadows and much more\n- A lot of customization\n- 100% independent, no wlroots, no libweston, no kwin, no mutter.\n- Custom bezier curves for the best animations\n- Powerful plugin support\n- Built-in plugin manager\n- Tearing support for better gaming performance\n- Easily expandable and readable codebase\n- Fast and active development\n- Not afraid to provide bleeding-edge features\n- Config reloaded instantly upon saving\n- Fully dynamic workspaces\n- Two built-in layouts and more available as plugins\n- Global keybinds passed to your apps of choice\n- Tiling/pseudotiling/floating/fullscreen windows\n- Special workspaces (scratchpads)\n- Window groups (tabbed mode)\n- Powerful window/monitor/layer rules\n- Socket-based IPC\n- Native IME and Input Panels Support\n- and much more...\n\n\n\n\n\n\n# Gallery\n\n\n\n![Preview A]\n\n\n\n![Preview B]\n\n\n\n![Preview C]\n\n\n\n\n\n\n# Special Thanks\n\n\n\n**[wlroots]** - *For powering Hyprland in the past*\n\n**[tinywl]** - *For showing how 2 do stuff*\n\n**[Sway]** - *For showing how 2 do stuff the overkill way*\n\n**[Vivarium]** - *For showing how 2 do stuff the simple way*\n\n**[dwl]** - *For showing how 2 do stuff the hacky way*\n\n**[Wayfire]** - *For showing how 2 do some graphics stuff*\n\n\n\n\n[Configure]: https://
FAQ (5)
トラブル対応Hyprlandの起動後に2台目のモニターの(0,0)に表示される重複したゴーストカーソルを修正する方法は?
このマルチモニター環境でのカーソル描画のバグは Hyprland 0.38.1 で修正されました。Hyprland を 0.38.1 以降にアップグレードし、セッションを再起動してください。古いバージョンでの一時的な回避策として、マウスを動かすか、ゴーストカーソルが表示されているモニターにフォーカスを切り替えてください。左上隅にある余分なカーソルはすぐに消えます。
トラブル対応HyprlandでDRMモニターを抜き差しした際に発生するVRAMリークを修正するにはどうすればよいですか?
修正を含むビルドに Hyprland と Aquamarine をアップグレードしてください。Aquamarine PR #165 では、CRTC が無効化された場合やコネクタが切断された場合に KMS フレームバッファへの参照を破棄し、関連する Hyprland の変更ではモニター切断時に OpenGL の destroyMonitorResources を呼び出します。これにより、DRM ディスプレイの再接続のたびに GBM/GEM/KMS リソースが VRAM 内に保持され続けるのを防ぎます。古いバージョンでの一時的な回避策として、モニターの抜き差しの繰り返しを避け、Hyprland を再起動してリークした VRAM を解放してください。
トラブル対応Hyprland の special workspace をトグルするだけでなく、明示的に表示または非表示にするにはどうすればよいですか?
まず、一時的に使用していない special workspace を使って表示状態をリセットします。現在表示されている special workspace を隠すには、空のワークスペースを2回トグルします:
hyprctl dispatch togglespecialworkspace __TEMP
hyprctl dispatch togglespecialworkspace __TEMP
特定の special workspace を確実に表示するには、まず表示状態をリセットしてから、それをトグルします:
hyprctl dispatch togglespecialworkspace __TEMP
hyprctl dispatch togglespecialworkspace __TEMP
hyprctl dispatch togglespecialworkspace <NAME>
<NAME> は使用している special workspace の名前に置き換えてください。追加された dispatcher を含む新しい Hyprland ビルドでは、以下のコマンドで現在の special workspace を隠すこともできます:
hyprctl dispatch hidespecialworkspaceトラブル対応HyprlandでXF86ScreenSaverキーバインドが動作しない問題を修正するにはどうすればよいですか?
「Fix keybinds xkb names」の修正を含むビルドに Hyprland をアップグレードし、その後リロードしてください:
bind = ,XF86ScreenSaver, exec, hyprctl notify 5 2000 "rgb(22DA6E)" "i am working"
実行:
hyprctl reload
影響を受けるバージョンでの回避策として、keysym の代わりに wev が報告する物理キーコードをバインドしてください。この問題では wev はキー 160 を報告するため、次のように使用します:
bind = ,code:160, exec, hyprctl notify 5 2000 "rgb(22DA6E)" "i am working"
その後 hyprctl reload を実行してください。キーコードはキーボードによって異なる場合があるため、wev でご自身のキーコードを確認してください。
トラブル対応HyprlandでHDMI経由のマウスクリック時にSamsung Smart TVが一瞬黒くちらつく問題を修正する方法は?
この issue では Hyprland/Aquamarine の修正は確認されていませんが、Samsung HDMI のブラックフラッシュに対する回避策として、無音のオーディオを再生し続ける方法が報告されています。これにより TV の HDMI リンクがアクティブな状態に保たれるようです。
PipeWire/PulseAudio でテストするには:
pw-cat --playback --raw --rate=48000 --channels=2 --format=s16 /dev/zero
コマンドの実行中にちらつきが止まる場合は、Ctrl+C で停止し、永続的なユーザーサービスを作成します:
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/hdmi-silent-audio.service <<'EOF'
[Unit]
Description=Silent audio keep-alive for Samsung HDMI flicker
[Service]
ExecStart=/usr/bin/pw-cat --playback --raw --rate=48000 --channels=2 --format=s16 /dev/zero
Restart=always
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now hdmi-silent-audio.service
この回避策は類似の Samsung TV の問題に対して報告されたものであり、M50D で特別に確認されたものではありません。blur、animations、hardware cursors、damage tracking、direct scanout、VRR、PSR、FBC、DC を無効化するなどの設定では、元の Hyprland 固有のケースは解決しませんでした。