awesome - 共通事項 - キー定義

 
1. 概要
2. プログラム起動の定義
3. 基本的なふるまい
4. クライアント操作の定義

1. 概要

 前ページの設定を行っていれば、すべての環境で

~/.config/awesome/rc.lua
 を編集することで、キーの定義が行えます。  lua の文法も知らんので、少しずつ覚えていきます。  わたしが、実際に書いてみて理解できたことしか書いていません。  理解が不十分であったり、間違ったりしていることもあるかもしれませんので悪しからず。  ここの記述に関しては、「Module awful.spawn - awesome API documentation」を参考にさせていただきました。

2. プログラム起動の定義


-- {{{ Key bindings
globalkeys = my_table.join(

・・・	略	・・・

)
 内に

	-- コメント
	awful.key({ 特殊キー }, "一般キー", function () awful.spawn(string.format("プログラム")) end,
	          {description = "名称", group = "カテゴリ"}),
 末尾の「,」(カンマ)は、最終の記述では不要になりますのでご注意。  キーの記述は、以下のようになっているようです。
キー記述  備 考 
FreeBSD ArcoLinux SparkeyLinux
Win modkey
Alt altkey
Ctrl "Contorl" modkey1 "Contorl"
Shift "Shift"
Space "Space"
Print "Print"
az "a" ~ "z"
F1F12"F1" ~ "F12"


 プログラムは、コマンドラインで起動するときの書き方なので、オプションがあれば、それに続けて、オプションを記述します。

 また、ArcoLinux ではダブルコーテーションで閉じた後に、カンマで続けて「beautiful.bg_normal, beautiful.fg_normal」といった表示上の修飾が行えるようです。

 「{description ...}」の記述は、「hotkeys」の、記述内容とカテゴリを意味します。

 書いて、reload すると(「reload awesome」と書いてあるキー)、表示内容は次から反映されますし、キーも有効になります。


 下記のように、オプションをつけて起動することも可能です(FreeBSD で検証)。


	-- コメント
	awful.key({ 特殊キー }, "一般キー", function () awful.spawn(string.format("プログラム") {
			floating  = true,
			width = 幅,
			height = 高さ,
			}) end,
			{description = "名称", group = "カテゴリ"}),
 これは、フローティングモードで起動し、ウィンドウの幅と高さを指定しています。

3. 基本的なふるまい

 前項と同じ記述内に、「端末を開く」「リロード」「ログアウト」などの定義があります。  「-- Standard program」で始まっている箇所です。  FreeBSD は

    -- Standard program
    awful.key({ modkey,           }, "Return", function () awful.spawn(terminal) end,
              {description = "open a terminal", group = "launcher"}),
    awful.key({ modkey, "Control" }, "r", awesome.restart,
              {description = "reload awesome", group = "awesome"}),
    awful.key({ modkey, "Shift"   }, "q", awesome.quit,
              {description = "quit awesome", group = "awesome"}),
 ArcoLinux は

    -- Standard program
    awful.key({ modkey,           }, "Return", function () awful.spawn(terminal) end,
              {description = terminal, group = "super"}),
    awful.key({ modkey, "Control" }, "r", awesome.restart,
              {description = "reload awesome", group = "awesome"}),
    awful.key({ modkey, "Shift"   }, "x", awesome.quit,
              {description = "quit awesome", group = "awesome"}),
 ログアウトのキーが異なるので、Win+Shift+q にします。説明は日本語へ・・・。  どちらも

    -- Standard program
    awful.key({ modkey,           }, "Return", function () awful.spawn(terminal) end,
              {description = "端末を開く", group = "launcher"}),
    awful.key({ modkey, "Control" }, "r", awesome.restart,
              {description = "リロード awesome", group = "awesome"}),
    awful.key({ modkey, "Shift"   }, "q", awesome.quit,
              {description = "ログアウト", group = "awesome"}),
 にします。

4. クライアント操作の定義

 FreeBSD では

clientkeys = gears.table.join(

・・・	略	・・・

)
 ArcoLinux では

clientkeys = my_table.join(

・・・	略	・・・

)
 の記述が、クライアント(デスクトップ内で作業しているウィンドウのことを指しているようです)操作のキー定義です。  ウィンドウのクローズのキーが FreeBSD と ArcoLinux で異なっているので、FreeBSD(Win+Shift+c)に合わせます。  ArcoLinux の「~/.config/awesome/rc.lua」を

    awful.key({ modkey, "Shift"   }, "q",      function (c) c:kill()                         end,
              {description = "close", group = "hotkeys"}),
 から、以下へ変更します。

    awful.key({ modkey, "Shift"   }, "c",      function (c) c:kill()                         end,
              {description = "close", group = "client"}),
 ついでに自分がわかりやすいように、どのプラットフォームでも「description」の箇所は

              {description = "閉じる", group = "client"}),
 にしちゃいます。
 
 
カウンタバックグラウンド