私は Manjaro と i3 を使用しています。特定のキー バインディングでフローティングで起動し、他のキー バインディングでは起動しないようにしたいと考えています。これまでにいくつかのことを試しました。
1. まっすぐfloating toggle
にbindsym
# in i3/config
bindsym $mod+p exec $term -e python
bindsym $mod+Shift+p exec $term -e python; floating toggle
残念ながら、これにより Python は通常の (分割/タブ/スタック) モードで起動され、Python を起動する前に集中していた内容がそのまま表示されます。
2. 起動したPythonをbindsym
フローティングに置く
# in i3/config
for_window [title="python"] floating toggle
bindsym $mod+p exec $term -e python
これは実際にPythonをフローティングモードで自動的に起動するのに機能します。ただし、あらゆるPython ウィンドウがbindsym
フローティング モードで起動されました...
3. カスタムウィンドウタイトル
# in i3/config
for_window [title="[.*]_floating"] floating toggle
bindsym $mod+p exec --title "python_floating" $term -e python
残念ながら、フラグexec
が付いていないよう--title
で、bindsym
まったく機能しません。
私は読んでみましたドキュメンテーションしかしman i3
、今のところ役に立つものは何も見つかっていません。これは解決されていないようです。グーグルで見つけた3つの同様の投稿[1] [2] [3]私の解決策2のように見えます。
bindsym
私が提案した解決策ではこの問題は完全には解決されていませんが、特定のものだけがフローティング モードで起動するようにするにはどうすればよいでしょうか?
答え1
3番目の選択肢は非常に近いものでした。i3 FAQに記載されているようにここ両方とウルクスそしてxtermパラメータを使用することができます-name
。次に、フローティングかどうかを定義できます。実例。
たとえば、浮動/非浮動の Python は次のように実行できます。
set $term urxvt
# floating python
for_window [class="URxvt" instance="floating"] floating toggle resize set 1500 1000, move position 100 200
bindsym $mod+Shift+P exec $term -name 'floating' -e python
# not floating
bindsym $mod+Shift+O exec $term -name 'not' -e python