awesome - 共通事項 - キー定義

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

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. わたしの定義

 主要な操作について、各プラットフォームのデフォルトの定義とわたしのカスタマイズに関して記述しておきます。
 プラット 
 フォーム 
    キー定義     備考 
 mod 端末を開く> 閉じる  表示切替 ログアウト awesome 
 再起動 
ArcoLinuxWinmod+Entermod+qmod+Shift+Spacemod+xmod+Shift+r
FreeBSDWinmod+Entermod+qmod+Ctrl+Spacemod+Shift+qmod+Ctrl+r※1
カスタマイズWinmod+Entermod+qmod+Spacemod+Shift+qmod+Shift+r

 ※1 以前は閉じるキーは mod+Shift+q のように記憶していたのですが「ArcoLinux 22.03.07」では mod+q で閉じます。

 上記のコマンドの記述はそれぞれ以下のように記述しています。

 機能    記述     備考  
端末を開く function () awful.spawn(terminal)
閉じる function (c) c:kill()
ログアウト awesome.quit
表示切替 awful.client.floating.toggle フローティングウィンドウへの切替
awesome 再起動 awesome.restart

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

 FreeBSD では

clientkeys = gears.table.join(

・・・	略	・・・

)
 ArcoLinux では

clientkeys = my_table.join(

・・・	略	・・・

)
 の記述が、クライアント(デスクトップ内で作業しているウィンドウのことを指しているようです)操作のキー定義です。  以下、カスタマイズした定義をどのように記述しているかも合わせて記述を掲載します。  ・端末を開く

    awful.key({ modkey,           }, "Return", function () awful.spawn(terminal) end,
              {description = "端末を開く", group = "launcher"}),
 ・閉じる

    awful.key({ modkey },            "q",      function (c) c:kill()                         end,
              {description = "閉じる", group = "client"}),
 ・ログアウト

    awful.key({ modkey, "Shift"   }, "q", awesome.quit,
              {description = "ログアウト", group = "awesome"}),
 ・フローティングウィンドウ切替

    awful.key({          "Control" }, "space",  awful.client.floating.toggle                     ,
              {description = "フローティングウィンドウ切替", group = "client"}),
 ・「awesome」再起動

    awful.key({ modkey, "Shift" }, "r", awesome.restart,
              {description = "awesome 再起動", group = "awesome"}),
ハイスピードプラン【usus ウズウズ】