私はAwesomewmを使用しており、モニターは2つあり、現在の画面のウィンドウ間をMod4+j
循環しています。Mod4+k
正常に動作するようにすべての画面のすべてのウィンドウ/クライアントを繰り返す方法はありますかAlt+Tab
?
答え1
少し探索した後無効なモジュールの文書化解決策が見つかりました。ハッキーですが、私が望む方法で動作します。
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.byidx(1)
if awful.client.ismarked() then
awful.screen.focus_relative(-1)
awful.client.getmarked()
end
if client.focus then
client.focus:raise()
end
awful.client.togglemarked()
end),
この機能は現在の画面のクライアントを繰り返し表示し、すべて表示されると次の画面に進みます。段階的に起こるものは次のとおりです。
- 私達は次の顧客に焦点を合わせます
- 表示されていることを確認し、表示されている場合次の画面に移動そしてすべてのクライアントのタグステータスを消去する
- 既存の顧客を改善します。
- そしてマーク
「マーク」が何を意味するのか分からないので、これは面白いです。フラグ付きの顧客は、タグのない顧客と視覚的にも行動的にも変わらないようです。
マルチスクリーンAlt-Tabのような単純な機能を得るためには、10行の関数を書く必要があるのは奇妙です。やったことがあるかもしれません)
答え2
もちろん!
.rcのキーバインディングは、awesome
実際にはスクリプトであるrcファイルによって制御されますlua
。キーバインディングは、キーをLua関数にバインドすることです。この機能は自由に使えますどのあなたは彼らがそうしたいと思います。
あなたの場合は、現在フォーカスしている画面だけでなく、すべての画面のアクティブなタブを変更する機能にこれらのキーをバインドしようとしています。
これで、構成には次のような数行があります。
awful.key({ modkey }, "j", awful.tag.viewprev )
…外観とほぼ同じです。
あなたが望むのは、これらを単純なコマンド呼び出しから素晴らしいAPIに変更して、いくつかのコマンドを順番に実行する小さな関数にすることです。awful.tag.viewprev()
関数は、aweful.tag.viewnext()
どの画面で作業するかを示すためにオプションの引数を便利に使用します。デフォルトでは現在のアイテムに適用されますが、それを上書きできます。
たとえば、画面 1 と 2 で同じタスクを実行するには、上の行を次のように変更できます。
awful.key({ modkey }, "j", function () awful.tag.viewprev(1); awful.tag.viewprev(2) end)
あなたの環境は若干異なる場合がありますのでご注意ください。さまざまな構造(括弧、中括弧など)の開閉位置とカンマ付きリストの一部である末尾の行をメモします。必要に応じてプロフィールに合わせて調整してください。