自分の作業環境は、
- 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)
)
-- ...