golangの日記

Go言語を中心にプログラミングについてのブログ

Go言語製タイル型ウィンドウマネージャ Wingo を試してみた

golang.png


すべての操作をキーボードのショートカットキーで完結したい
そういう沼にハマっているので、タイル型のウィンドウマネージャについて調べていたところ、 Go言語で書かれているウィンドウマネージャ Wingo を見つけたので試してみた。





目次



インストール

go get でインストールするのでgoが入ってることが前提

$ go get https://github.com/BurntSushi/wingo
$ go get github.com/BurntSushi/wingo/wingo-cmd



設定ファイル

--write-config オプションでデフォルトの設定ファイルが ~/.config/wingo に作成される

$ wingo --write-config

$ ls $HOME/.config/wingo
hooks.wini key.wini mouse.wini options.wini theme.wini



ウィンドウマネージャを起動する

--replace オプションで現在のウィンドウマネージャから Wingo に切り替える。
※ 実行すると「ウィンゴー!」という渋い声が鳴る。焦る

$ wingo --replace

(再起動後は元の gnome shell に戻る)



コマンド

(Superキー か Windowsキー) + Shiftキー + r でコマンドを実行するためのプロンプトが起動する。


wingo-command-prompt


起動するけど、エラー以外の反応がなくてよくわからなかったので以下 wingo-cmd でコマンドを実行。


コマンド一覧

$ wingo-cmd --list



コマンドを使ってタイルする


タイルするために firefox を起動しておく (terminal と firefox が起動している状態)

$ firefox &


ワークスペース名を確認して AutoTile コマンドで Workspace 1 をオートタイルする。

$ wingo-cmd GetWorkspaceList
Workspace 1

$ wingo-cmd "AutoTile 'Workspace 1'"

と、ここで気づく $HOME/.config/wingo/key.wini にショートカットキーがすべて書いてあることに。コマンドではなくショートカットキーでオートタイルするには alt + a


wingo-tile-verical



水平分割

wingo-tile-horizontal



その他のショートカットキー(一部)

タイルの解除
alt + u

タイルをサイクルする
alt + z

現在フォーカスしているプログラムのウィンドウリサイズ
alt + h
alt + l

別のプログラムのウィンドウにフォーカス
alt + k
alt + j


多くのウィンドウマネージャがC言語で書かれているので「Goで書かれているのはどうなんだろう?」 と思ったけど、体感で遅いと感じるようなことは全くない。