LoginSignup
1
1

More than 5 years have passed since last update.

Awesomeのキーバインドをtmuxに寄せたらめっちゃ快適になった

Posted at

自分の作業環境は、

  • Arch Linux
  • Awesome (Linuxのタイル型ウィンドウマネージャー)
  • ターミナルで tmux + Vim を使って作業
  • マルチディスプレイ (13インチノートPC + above 24インチディスプレイ)

となっている。

Awesomeはほぼ全てのウィンドウ操作をキーボードで行えるのが魅力だが、デフォルトのキーバインドは正直使いにくい。

デフォルト厨なのでそのまま使っていたが、ちゃんと設定したら格段に使いやすくなった。

特に tmux と一緒にすることで、GUIとCUIで頭の切り替えが不要になった。

tmux との対応関係は

tmux Awesome 備考
ペイン ウィンドウ
ウィンドウ タグ 仮想ワークスペースみたいな感じ

設定

こうなるようにした。

  • modkey + Right 現在のウィンドウを右に拡大
  • modkey + Left 現在のウィンドウを左に拡大
  • modkey + n 右のタグを選択
  • modkey + p 左のタグを選択
  • modkey + j モニタ切り替え
  • modkey + x アプリランチャー
  • modkey + i chromium を起動
  • modkey + s スクリーンショットを撮影
  • modkey + b Emacsの anything 的ウィンドウ切替
  • modkey + u Urgent タグに飛ぶ
  • modkey + z ウィンドウ最大化
  • modkey + o 現在のウィンドウをもう一つのモニタに移す
  • modkey + c ウィンドウを閉じる
  • modkey + C-s PCをサスペンド
  • modkey + C-l PCをロック

何となくEmacsっぽくしている。

最後のはこれです。
dmenuとwmctrlで、選択的インターフェースなウィンドウ切り替えを実現した

~/.config/awesome/rc.lua
-- ...

-- {{{ Key bindings
globalkeys = awful.util.table.join(
    -- Layout
    awful.key({ modkey,           }, "Right",     function () awful.tag.incmwfact( 0.05)    end),
    awful.key({ modkey,           }, "Left",     function () awful.tag.incmwfact(-0.05)    end),

    -- Switch
    awful.key({ modkey,           }, "p", awful.tag.viewprev       ),
    awful.key({ modkey,           }, "n", awful.tag.viewnext       ),
    awful.key({ modkey,           }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey,           }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey,           }, "u", awful.client.urgent.jumpto),

    -- Standard program
    awful.key({ modkey,           }, "b", function () awful.util.spawn("select_window") end),
    awful.key({ modkey,           }, "s", function () awful.util.spawn("xfce4-screenshooter") end),
    awful.key({ modkey,           }, "i", function () awful.util.spawn("chromium") end),
    awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),

    awful.key({ modkey, "Control" }, "r", awesome.restart),

    -- Hardware config
    awful.key({                   }, "XF86MonBrightnessUp",      function () awful.util.spawn("xbacklight +5") end),
    awful.key({                   }, "XF86MonBrightnessDown",    function () awful.util.spawn("xbacklight -5") end),
    awful.key({ modkey, "Control" }, "s", function () awful.util.spawn("sudo pm-suspend") end),
    awful.key({ modkey, "Control" }, "l", function () awful.util.spawn("xscreensaver-command -lock") end),

    -- Prompt
    awful.key({ modkey },            "x",     function () awful.util.spawn("dmenu_run") end)
)

-- ...
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1