背景・やりたいこと
開発環境はマルチモニタ。片方はターミナルで埋め尽くしたい。
具体的には以下のように左右上下に4つのウインドウを起動・配置したい。
方法(tmux断念して標準のgnome-terminalで実現)
最初に考えたのはスクリーンを4分割して表示。
残念ながらWindows Terminal
のように簡単操作(ctrl + alt + プラス(orマイナス)
)で分割できるターミナルソフトはLinuxにはない模様。
Microsoftさん、Linuxに移植してーーー。
Microsoftさん、Linuxに移植してーーー。
Microsoftさん、Linuxに移植してーーー。
現状、Linuxで代表的なのはtmux
の模様。
ちょっと頑張ってみたけど、使い勝手が悪いと判断しました。理由は以下。前者が100%ではないけど頻繁に発生するので致命的。
- ウインドウのリサイズ・移動で乱れる(というか真っ黒になってしまう。ウインドウの下の方でチカチカ。操作も回復も不能)
- コピペ操作が面倒。機能しないときもある。
結局、(スクリーンの分割ができない以外は特に不満はない)標準のターミナル(gnome-termina
)を4つ起動するというシンプルな作戦に変更。
手間取ったのはは配置。都度、配置しなおすのは面倒なので自動化したい。
ただ、ターミナルの設定で指定できるのはウインドウサイズ(列数x行数)だけで、表示位置は指定できない。
調べたら、ターミナルをコマンドラインで起動して--geometry
オプションでサイズと表示位置を指定できた。
--geometry
オプション
$ man gnome-terminal
OPTIONS
--geometry=GEOMETRY
X geometry specification (see "X" man page), can be specified once per window to be opened.
GEOMETRYの指定方法は、Xのmanページに記載されている。
$ man X
GEOMETRY SPECIFICATIONS
-geometry WIDTHxHEIGHT+XOFF+YOFF (where WIDTH, HEIGHT, XOFF, and YOFF are numbers) for specifying ...
要するに以下のようにすれば良い。
/usr/bin/gnome-terminal --geometry=WxH+X+Y --window-with-profile=<name> &
--window-with-profile
って何?
別ウインドウで起動させるために必要だったので指定。(これを指定しないと同じターミナルウインドウ内の別タブで表示されてしまう)
名前は、Terminalの設定画面(メニュー > 編集 > Preference
)で任意に指定できる。
geometry値の取得方法
WxH
の部分は前述した設定画面の列数と行数に対応しています。
+X+Y
の部分は、Xは0が左端なんですが、Y値が謎(0が最上部かと思ったら当方環境では686という変な値 ※1)
取得方法は色々とあると思いますが、当方はdevilspie2
の設定時に取得する方法を確立していたので、その方法で取得しました。
[Ubuntu]devilspie2でウインドウサイズと位置を調整 - Qiita
※1:たぶんサイズの違うマルチモニタで大きい方がメインモニタになってるから