komorebiを一週間使ってみた

Published Oct 26, 2024
Updated Nov 3, 2025
1 minutes read

##一週間使ってみた感想

業務PCでkomorebiを一週間使ってみた。良いところ・悪いところがあらかた見えてきたので、正直にレビューしていこうと思う。ウィンドウマネージャ選びの参考になれば。

###良いところ

やはり、タイル状にウィンドウを配置できるのがすごく良い。 自分はVSCode + ブラウザで調べものしながらcodingすることもあればVSCode + AIサービスでcodingすることもある。それぞれの画面構成をキープしながら、一瞬slackにしてもとへ戻る、みたいなことをやるのにとても良い。

こういうことをしたいときは、以下のキーマップを使うことになる。

  1. まずVSCodeとブラウザを左右で分割する(画面1)
  2. Alt + Shift + 2 でVSCodeの画面を移動してからPoe.comを開く(画面2)
  3. Alt + Shift + 3 でslackがある画面3に移動して戻る(画面3→2→1)

嬉しい悲鳴としては、ウィンドウ管理がしやすくなったおかげでマルチディスプレイを活用しなくなった。これまではslackをサブディスプレイに置いておいてメインディスプレイで作業していたが、ほとんど目線を変えることなくウィンドウをパッパッと切り替えられるようになってしまった。あんまり考えたくはないが、自宅ではウルトラワイドのメインディスプレイだけでいい気がしてきた…。

###悪いところ

気になるポイントの一つ目として、ディスプレイの接続をしたり外したりする際の動作が安定しない。画面構成が変わってしまうのはまだ許せるとしても、空白のウィンドウが画面の半分を占有していて、しかも消すこともできない。なんてことがある。

自分は仕事上ラップトップを社内で持ち運ぶことが多い。基本は居室でディスプレイに接続してcodingをメインに、会議の際は会議室か空き部屋にラップトップを持って行ってそれ一台で使うか会議室のモニターにつなぐなどしている。こうやって頻繁に接続を変える場合はAlt + pでkomorebiを停止するとか、再起動するとかする必要があるのがだいぶ手間…。

komorebi.jsonの設定を変えると安定化したり不安定化したりするので、純粋にバグの問題かもしれない。

もう一つの気になるところは、画面分割しないでほしいウィンドウまで強制的にタイル配置されちゃうので、新しいウィンドウがポップアップするときは注意を払う必要があるところ。しかしこれはapplications.yamlを編集してアプリケーションごとにkomorebiを適用するかしないかを設定することでなんとかなったりする。既に製作者がZoomや1passwordなどの定番ツールを制御対象外に設定してくれているので、それでも足りなければそれを参考に追加するといい。

##設定の最適化

###barを使わない

bar機能はかっこいいんだが、マルチディスプレイしたときに一つのディスプレイにしか表示されないし、ホットキーでの画面移動とも連動していないので思い切って使わないことにした。

起動時には--bar optionを付けなければいい。

komorebic start --whkd

###applications.yaml

上述の通り、applications.yamlに一つだけArc browserのpicture in pictureを登録している。

komorebicを起動、画面を開いた状態でkomorebic stateコマンドを打つと現在のウィンドウ名・id名を知ることができる。

- name: pip
  identifier:
    kind: Exe
    id: Arc.exe
    matching_strategy: Equals
  float_identifiers:
  - kind: Title
    id: Arc picture in picture
    matching_strategy: Equals

###komorebi.json

結局はbar機能も使わないのでoffsetをいじる必要もなく、padding widthをちょこっといじった程度に落ち着いた。

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.29/schema.json",
  "app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.yaml",
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 2,
  "default_container_padding": 2,
  "border": true,
  "border_width": 8,
  "border_offset": -1,
  "theme": {
    "palette": "Base16",
    "name": "Helios",
    "unfocused_border": "Base03",
    "bar_accent": "Base0D"
  },
  "stackbar": {
    "height": 30,
    "mode": "OnStack",
    "tabs": {
      "width": 300
    }
  },
  "focus_follows_mouse": "Komorebi",
  "transparency": true,
  "transparency_alpha": 250,
  "monitors": [
    {
      "workspaces": [
        {
          "name": "I",
          "layout": "BSP"
        },
        {
          "name": "II",
          "layout": "BSP"
        },
        {
          "name": "III",
          "layout": "BSP"
        },
        {
          "name": "IV",
          "layout": "BSP"
        },
        {
          "name": "V",
          "layout": "BSP"
        },
        {
          "name": "VI",
          "layout": "BSP"
        },
        {
          "name": "VII",
          "layout": "BSP"
        }
      ]
    }
  ]
}
    Footnotes
  1. Poe.com と ChatGPT はEdgeを通じてデスクトップアプリ化しているので、自分の環境ではブラウザとは別のウィンドウになっている。