両方の画面でAwesomewmクライアントを循環します。

両方の画面でAwesomewmクライアントを循環します。

私は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)

あなたの環境は若干異なる場合がありますのでご注意ください。さまざまな構造(括弧、中括弧など)の開閉位置とカンマ付きリストの一部である末尾の行をメモします。必要に応じてプロフィールに合わせて調整してください。

関連情報