Awesome wm(v4.0)でショートカットを使って特定の画面に切り替えることができますか?
画面があるとするとDP-1-2、DP-2-2そしてeDP-1。今画面に切り替えたいDP-1-2現在どの画面にあるかは問題ではありません。
好ましくは、同じ技術を使用してアプリを特定の画面に移動することができる。
これは可能ですか?
答え1
私が知る限り、デフォルトのバインディングはありませんが、それを作成するために必要なメソッドは存在します。
- 画面に直接焦点を合わせます
awful.screen.focus
。フォーカスを移動する画面オブジェクトを取得します。 - モバイルクライアント
client:move_to_screen
。これをグローバルバインディングテーブルではなくクライアントバインディングテーブルに追加する必要があることに注意してください。
randr 出力名に基づいてバインディングを生成するには、画面オブジェクトを使用できます。outputs
財産。このテーブルの randr 出力名は次のとおりです。鍵したがって、この目的に使用するのは少し複雑です。私は次のことを試してみます:
for s in screen do
for out,_ in pairs(s.outputs) do
if out == "eDP1" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F1", function() awful.screen.focus(s) end))
elseif out == "DP-1-2" then
-- ...
end
end
end
今はテストできません。ここには使用できる画面は複数ありません。
答え2
答えに基づいてクレーター 2150私は効果的な解決策を見つけました。もしかしたら同じ問題を経験している方がいらっしゃるかと思います。
-- set up keybindings based on existing monitors
for s in screen do
for screen_name, _ in pairs(s.outputs) do
if screen_name == "eDP-1" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F1", function() awful.screen.focus(s) end))
elseif screen_name == "DP-2-2" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F2", function() awful.screen.focus(s) end))
elseif screen_name == "DP-1-2" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F3", function() awful.screen.focus(s) end))
end
end
end
すべての画面を繰り返し、興味のある画面がある場合は、その画面に切り替えるキーバインディングを追加してください。