📘

Sway (1.7) でドロップダウンターミナルを使う

2022/03/24に公開

環境

  • Sway 1.7

実現したいこと

  • 画面下にターミナルを表示したい。

選択肢

yakuake

  • 画面上にしか表示できない。
  • for_window に場所を指定して移動することができるかもしれないが無理やり

Guake

  • for_windowで位置を調整すればなんとかなる。
  • が、何かがまずくて入れ替えたはず… 記憶にない。
  • guakeで起動して、guake-toggle で出し入れ
  • 一番扱いやすい

xfce4-terminal

  • --drop-down オプションをつけることでドロップダウンさせることができる
  • --drop-down オプションをつけた状態の設定画面で位置とサイズを指定できるが、効かない
  • 表示する場合はうまく動くが、隠すときにxfce4-terminalがアクティブでないと隠れてくれない。
  • とりあえず、以下の設定で回避した。
bindsym f1 exec ~/.config/sway/scripts/toggle-term.sh

for_window [app_id="xfce4-terminal" title=".*dropterm$"] floating enable; sticky enable; resize set width 1900px height 455px; move position 0px 585px;
for_window [app_id="xfce4-terminal" title="ターミナルの設定"] floating enable; resize set 800 450; move position center;
#!/bin/bash -u

LOG=/dev/null

set +e

# xfce4-terminalをアクティブにする
# terminalが隠れた状態であればこれは失敗するが無視する
swaymsg '[title=".*dropterm$"] focus' >> $LOG

# 隠す
# --hide-menubar => メニューバー表示しない
# --dynamic-title-mode=before   => 実行中コマンドを前に表示
# --initial-title=dropterm => ↑のと組み合わせてウィンドウタイトルを "vim - dropterm" のようにする。
xfce4-terminal --drop-down --hide-menubar --dynamic-title-mode=before --initial-title=dropterm >> $LOG

Discussion