HyprlanderはNiriの夢を見るのか

Hyprlandに慣れた人間がNiriに触れた感想

目次

注意点

  • ちょいちょいCapital letterをサボってる
  • 私の理解ではniriのwsは横にスクロールするリボン全体

私のhyprlandとniriの設定👇。基本的に下記のハッシュ時点の設定の話。

Hyprland: 77cdb74, Niri: beef43b

:) hyprland --version
Hyprland 0.55.4

:) niri --version
niri 26.04 (Nixpkgs)

また普段からHyprlandやNiriなどを使っている前提。

Niriの方がより正しいWorkspaceに感じる

そもそもHyprlandとNiriのもっとも大きな違いであり特徴は無限スクロールでしょう。

Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.

Niri - Github

そしてこのNiriの無限スクロールは本質的にHyprlandよりworkspaceの概念に近いように感じました。

そもそもWorkspaceって何よ?

私の理解では1つの作業を行うための空間です。Windowsの仮想デスクトップやmacOSのSpaceのような。そしてHyprlandのWorkspaceも多くの人はそういう使い方をしているでしょう。しかしそれらのWorkspaceとして提供される空間は1つの表示領域(多くはモニター)に限られます。WindowsやmacOS, KDE, GNOMEなどのstackingなものなら隠すなどの操作もありますが、Hyprlandはそうはいきません。もしWorkspaceからウィンドウがこぼれるのならば別のworkspaceに逃がすかするかして現在の表示を確保する必要があります。

しかし1つの作業に複数のworkspaceを必要とするならば、単一の作業が複数の空間にまたがっています。あまり健全な状態とは言えないでしょう。実際のところ私は多くの作業をターミナルとブラウザにあずけているので、そこまで多くのウィンドウを同時に使うことは少ないです。(どちらもタブがあるし多機能なので)

Niriはより本質的なWorkspace

NiriはWorkspaceにはいくらでもウィンドウを並べることができ、1つの作業は1つのworkspaceで行うことができます。つまり先程のworkspace分離状態を解決できています。

イメージとしてはこんな感じ。

hyprlandとかは1つの作業空間がworkspaceを跨いだり、溢れたりしてしまう。

tra

Niriはちゃんと1つの作業空間が1つのworkspaceに対応する感じ。青色が1つの作業です。

niri

また、デフォルトでOverviewという機能を搭載していて、以下のようにworkspaces全体を俯瞰することが可能です。

overview

こういうベーシックな機能がプラグインとか無しで使えるのは便利ですね。

しかしHyprlandもいいところがある

それはworkspaceが表示領域に収まるということです。Niriのメリットの裏返しです。Niriはworkspcaeに必要なだけのウィンドウを保有できる代わりに特定のウィンドウへの移動が下手になっています。見えない場所にウィンドウがあるためです。

そのため?、Niriには標準でoverviewがあるのでしょうし、scopeを指定してウィンドウをスイッチするような機能もあります(Super + Tab)。

2

こういった面ではHyprlandの方が認知負荷は小さいですし、ある程度ウィンドウの整理をしようという気にもなるので、無限に作業が混ざることも少なそうです。

あと、普通に周辺ツールが揃ってるというのはあります。hyprlockhyprshotも慣れもありますが、便利なものが揃っています。まあその多くは流用できますが。

まとめ?

ほんとは比較記事などを予定でしたが、Niriに感動した話になってしまいました。

あと、急にこの記事を書いている理由ですが以下のツイートが原因です。

雑に回答するならば

くらいのことなんでしょうかね?正直半年とは言わないまでも昔の話なのであんまり今は思わないです。

おまけ

Hyprlandにもlayoutの一つとしてScrolling Layoutというものがあり、Niriに近い機能を提供されているらしい。雑にclaudeに調べてもらった感じではおおよそはNiriぽくできるよう。一応チャットを共有

https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/