1. まっすぐfloating toggleにbindsym

1. まっすぐfloating toggleにbindsym

私は Manjaro と i3 を使用しています。特定のキー バインディングでフローティングで起動し、他のキー バインディングでは起動しないようにしたいと考えています。これまでにいくつかのことを試しました。

1. まっすぐfloating togglebindsym

# 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

関連情報