「Awesome」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
13行目: 13行目:
 
[[Wikipedia:awesome (window manager)|awesome]] ウェブサイトより:
 
[[Wikipedia:awesome (window manager)|awesome]] ウェブサイトより:
   
"''[http://awesome.naquadah.org/ awesome] は高度に設定可能な、次世代の X フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。''
+
:''[http://awesome.naquadah.org/ awesome] は高度に設定可能な、次世代の X フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。awesome はパワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。''
 
''パワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。''"
 
   
 
==インストール==
 
==インストール==
26行目: 24行目:
   
 
=== ログインマネージャを使わずに起動 ===
 
=== ログインマネージャを使わずに起動 ===
ログインマネージャを使わずに awesome を起動するには、シンプルにスタートアップスクリプト (例: ~/.xinitrc) に {{Ic|exec awesome}} を追加してください。
+
ログインマネージャを使わずに awesome を起動するには、シンプルにスタートアップスクリプト (例: {{ic|~/.xinitrc}}) に {{Ic|exec awesome}} を追加してください。
   
 
logind (または consolekit) セッションを維持する方法などについては [[xinitrc]] を見て下さい。
 
logind (または consolekit) セッションを維持する方法などについては [[xinitrc]] を見て下さい。
   
ログインさえせずに awesome を起動させることも可能です。[[Start X at Login]] を見て下さい。
+
ログインさえせずに awesome を起動させることも可能です。[[ログイン時に X を起動]]を見て下さい。
   
 
=== ログインマネージャで起動 ===
 
=== ログインマネージャで起動 ===
ログインマネージャから awesome を起動するには、[[Display Manager|この記事]]を見て下さい。
+
ログインマネージャから awesome を起動するには、[[ディスプレイマネージャ]]を見て下さい。
   
 
==== KDM ====
 
==== KDM ====
46行目: 44行目:
 
TryExec=/usr/bin/awesome
 
TryExec=/usr/bin/awesome
 
}}
 
}}
  +
  +
=== GNOME のウィンドウマネージャとして使う ===
  +
GNOME には"すぐに使える"というアドバンテージがあります。awesome をビジュアルインターフェースとして使うために GNOME をセットアップすることもできますが、GNOME がバックグラウンドで動いているということはあなたのプレッシャーになるかもしれません。GNOME 3 を使っているならば、シンプルに {{AUR|awesome-gnome}} をインストールして、GDM でログインするときに "Awesome GNOME" セッションを選ぶということもできます。詳しくは [http://awesome.naquadah.org/wiki/Quickly_Setting_up_Awesome_with_Gnome awesome wiki] を見て下さい。
   
 
==設定==
 
==設定==
64行目: 65行目:
 
{{Note|awesome の設定構文は定期的に変わるので、ダウンロードしたファイルに修正を入れる必要があるかもしれません。}}
 
{{Note|awesome の設定構文は定期的に変わるので、ダウンロードしたファイルに修正を入れる必要があるかもしれません。}}
   
rc.lua のサンプル以下にあります:
+
rc.lua のサンプル以下にあります:
   
  +
* https://github.com/setkeh/Awesome-Laptop-3.5 - [[en2:User:Setkeh|Setkeh]] の 3.5 の設定。
* http://git.sysphere.org/awesome-configs/tree/ - Adrian C の Awesome 3.4 設定集 (anrxc)
 
  +
* http://awesome.naquadah.org/wiki/User_Configuration_Files - awesome ホームページに載っているユーザー設定コレクション。
* http://pastebin.com/f6e4b064e - Darthlukan の awesome 3.4 設定
 
* http://www.ugolnik.info/downloads/awesome/rc.lua (screen) - 小さなタイトルバーとステータスバーが付いた Awesome 3
 
* https://github.com/setkeh/Awesome - [[User:Setkeh|Setkeh]] の 3.4 の設定
 
* https://github.com/setkeh/Awesome-Laptop-3.5 - [[User:Setkeh|Setkeh]] の 3.5 の設定
 
* ユーザによる設定ファイル http://awesome.naquadah.org/wiki/User_Configuration_Files
 
   
  +
=== 拡張 ===
===Xephyr を使って rc.lua をデバッグする===
 
   
  +
awesome (3.5+) にはいくつか拡張が存在します:
デスクトップを壊さずに rc.lua をデバッグする好ましい方法です。まず rc.lua をコピーして新しいファイル、rc.lua.new を作り、そのファイルに必要な修正を加えます。それから awesome の新しいインスタンスを rc.lua.new を設定ファイルとして Xephyr 内で実行します (X の中で他の X クライアントウィンドウを動かす):
 
   
  +
{| class="wikitable"
$ Xephyr :1 -ac -br -noreset -screen 1152x720 &
 
  +
! style="font-weight: bold;" | 拡張
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new
 
  +
! style="font-weight: bold;" | 機能
  +
|-
  +
|
  +
* [http://awesome.naquadah.org/wiki/Revelation Revelation]
  +
| 開かれているクライアントを一望する
  +
|-
  +
|
  +
* [http://awesome.naquadah.org/wiki/Eminent Eminent]
  +
* [http://awesome.naquadah.org/wiki/Shifty Shifty]
  +
| 動的タグ
  +
|-
  +
|
  +
* [http://awesome.naquadah.org/wiki/Naughty Naughty]
  +
| ポップアップ通知
  +
|-
  +
|
  +
* [http://awesome.naquadah.org/wiki/Vicious Vicious] ([http://git.sysphere.org/vicious/tree/README README])
  +
* [http://awesome.naquadah.org/wiki/Obvious Obvious]
  +
* [http://awesome.naquadah.org/wiki/Bashets Bashets]
  +
| 追加 [http://awesome.naquadah.org/wiki/Widgets_in_awesome ウィジェット]
  +
|-
  +
|
  +
* [http://awesome.naquadah.org/wiki/Run_or_raise Run or raise]
  +
| インスタンスが存在しない場合にプログラムを起動、またはジャンプ
  +
|-
  +
|}
   
  +
=== キーボードレイアウトの変更 ===
このアプローチの有利な点は、もし rc.lua.new を破壊したときでも、現在の awesome デスクトップを破壊しないということです(全ての X アプリがクラッシュし保存していないファイルが失われることがない)。設定に満足したら、rc.lua.new を rc.lua に変えて awesome を再起動します。
 
   
  +
[http://awesome.naquadah.org/wiki/Change_keyboard_maps#Display.2Fchange_keyboard_map awesome wiki] や [[Xorg でのキーボード設定]]を見て下さい。
2011年7月現在、以上のことは {{AUR|awmtt}} でも可能です。
 
   
==テーマ==
+
===テーマ===
   
 
[http://awesome.naquadah.org/wiki/Beautiful Beautiful] という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。{{ic|rc.lua}} を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。
 
[http://awesome.naquadah.org/wiki/Beautiful Beautiful] という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。{{ic|rc.lua}} を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。
91行目: 114行目:
 
beautiful.init(awful.util.getdir("config") .. "/themes/default/theme.lua")
 
beautiful.init(awful.util.getdir("config") .. "/themes/default/theme.lua")
   
詳しい説明は[http://awesome.naquadah.org/wiki/Beautiful こちら]。
+
詳し [http://awesome.naquadah.org/wiki/Beautiful] や [http://awesome.naquadah.org/wiki/Beautiful_themes] を参照
   
  +
==== 壁紙 ====
[http://awesome.naquadah.org/wiki/Beautiful_themes サンプルテーマ]。
 
   
  +
Beautiful が壁紙を管理できるので、{{ic|.xinitrc}} や {{ic|.xsession}} などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。
===壁紙を設定する===
 
{{out of date|バージョン 3.5 の Awesome では awsetbg コマンドは提供されていません、かわりに gears モジュールを使います。使い方はデフォルトの設定に書かれています。}}
 
   
  +
Awesome バージョン 3.5 では awsetbg コマンドが存在しません。代わりに gears モジュールを使います。{{ic|theme.lua}} で壁紙を設定するには:
Beautiful が壁紙を管理できるので、{{ic|.xinitrc}} や {{ic|.xsession}} などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。デフォルトのテーマファイルには wallpaper_cmd キーがあり、{{ic|beautiful.init}}("path_to_theme_file") が起動したときに与えられたコマンドが実行されます。Beautiful に壁紙について関わって欲しくない場合はコマンドを変えたりキーを削除してください。
 
   
  +
theme.wallpaper = "~/.config/awesome/themes/awesome-wallpaper.png"
例えば、{{ic|awsetbg}} を使って壁紙を設定するには、{{ic|theme.lua}} に選択したものを書きます:
 
   
  +
壁紙をロードするには、{{ic|rc.lua}} に以下が記述されている必要があります:
theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }
 
   
  +
beautiful.init("~/.config/awesome/themes/default/theme.lua")
{{Note|awsetbg を動かすにはデスクトップの壁紙を管理するプログラムをインストールする必要があります。'''[[Feh]]''' など。}}
 
  +
for s = 1, screen.count() do
  +
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
  +
end
   
  +
ランダムに背景画像を変えるには、[https://gist.github.com/anonymous/37f3b1c58d6616cab756] を {{ic|rc.lua}} (v3.5+) に追加してください。特定のディレクトリから自動的に画像を取得するには [https://gist.github.com/anonymous/9072154f03247ab6e28c] を使って下さい。
====ランダム壁紙画像====
 
ランダムに壁紙をローテーションするには、{{ic|wallpaper_cmd}} を消去して、{{ic|.xinitrc}} に以下のスクリプトを追加してください:
 
{{bc|
 
while true;
 
do
 
awsetbg -r <path/to/the/directory/of/your/wallpapers>
 
sleep 15m
 
done &
 
}}
 
   
==Tips & Tricks==
+
== Tips and tricks ==
他の awesome ユーザーに役に立つと思われるものを自由に追加してください。
 
   
  +
=== wibox を表示・隠す===
===awesome を GNOME のウィンドウマネージャとして使う===
 
GNOME には"すぐに使える"というアドバンテージがあります。awesome をビジュアルインターフェースとして使うために GNOME をセットアップすることもできますが、GNOME がバックグラウンドで動いているということはあなたのプレッシャーになるかもしれません。GNOME 3 を使っているならば、シンプルに {{AUR|awesome-gnome}} をインストールして、GDM でログインするときに "Awesome GNOME" セッションを選ぶということもできます。詳しくは [http://awesome.naquadah.org/wiki/Quickly_Setting_up_Awesome_with_Gnome awesome wiki] を見て下さい。
 
 
===compiz のようなエフェクトを使う===
 
 
Revelation でクライアントの見た目を変えることができます; クライアントを左クリックすれば、表示されているクライアントの最初のタグが表示されクライアントが浮かび上がりフォーカスします。さらに Enter キーで現在フォーカスされているクライアントが表示され、Escape でアボートします。
 
 
http://awesome.naquadah.org/wiki/Revelation
 
 
===awesome 3 で wibox を表示・隠す===
 
   
Modkey-b でデフォルトステータスバーの表示を切り替えるようマップするには (awesome 2.3 でのデフォルト)、rc.lua の ''globalkeys'' に以下を追加してください:
+
Modkey-b でデフォルトステータスバーの表示を切り替えるようマップするには (awesome 2.3 でのデフォルト)、{{ic|rc.lua}} の ''globalkeys'' に以下を追加してください:
   
 
awful.key({ modkey }, "b", function ()
 
awful.key({ modkey }, "b", function ()
221行目: 228行目:
   
 
===透過===
 
===透過===
  +
[[Xorg#コンポジット]]を見て下さい。
Awesome は {{Pkg|xcompmgr}} ({{AUR|xcompmgr-git}}) や compton({{AUR|compton-git}})、{{AUR|cairo-compmgr-git}} などの[[Xorg#コンポジット|コンポジットマネージャ]]を通して完全透過をサポートしています。git 版の xcompmgr を使いたいのなら、[https://aur.archlinux.org/packages.php?ID=16554 AUR] にあります。
 
   
  +
awesome 3.5 では、ウィンドウ透過はシグナルを使って動的に設定することもできます。例えば、あなたの {{ic|rc.lua}} に以下を加えることができます:
xcompmgr を使うには、次の一行を ~/.xinitrc に追加してください:
 
xcompmgr &
 
オプションについては ''man xcompmgr'' や [[xcompmgr]] を見て下さい。
 
   
  +
client.connect_signal("focus", function(c)
{{out of date|Awesome 3.5 は add_signal API を connect_signal に変更しています。}}
 
awesome 3.4 では、ウィンドウ透過はシグナルを使って動的に設定することもできます。例えば、あなたの rc.lua に以下を加えることができます:
 
 
client.add_signal("focus", function(c)
 
 
c.border_color = beautiful.border_focus
 
c.border_color = beautiful.border_focus
 
c.opacity = 1
 
c.opacity = 1
 
end)
 
end)
client.add_signal("unfocus", function(c)
+
client.connect_signal("unfocus", function(c)
 
c.border_color = beautiful.border_normal
 
c.border_color = beautiful.border_normal
 
c.opacity = 0.7
 
c.opacity = 0.7
 
end)
 
end)
'''add_signal のエラーが出た場合は、代わりに connect_signal を使って下さい。'''
 
   
  +
==== Conky ====
conky を使っていて、デスクトップの代わりに conky にウィンドウを持たせたい場合、~/.conkyrc を次のように編集してください:
 
  +
  +
conky を使っていて、デスクトップの代わりに conky にウィンドウを持たせたい場合、{{ic|~/.conkyrc}} を次のように編集してください:
   
 
own_window yes
 
own_window yes
246行目: 249行目:
 
own_window_type desktop
 
own_window_type desktop
   
  +
上記のように設定していないと、全てのウィンドウが完全に透過してしまうなどの不可思議な現象が発生します。また、conky がデスクトップ上に透過ウィンドウを作成すると、awesome の {{ic|rc.lua}} で定義したアクションは conky が存在する場所では動作しないので注意してください。
Otherwise strange behavior may be observed, such as all windows becoming fully transparent. Note also that since conky will be creating a transparent window on your desktop, any actions defined in awesome's rc.lua for the desktop will not work where conky is.
 
   
  +
==== wiboxes ====
Awesome 3.1 現在、wiboxes 用に擬似透過がビルドインされています。これを有効にするには、テーマファイルに (~/.config/awesome/themes/default, /usr/share/awesome/themes/default のコピー) 次のように色の部分に16進数の値を2つ加えて下さい:
 
  +
  +
Awesome 3.1 現在、wiboxes 用に擬似透過がビルドインされています。これを有効にするには、テーマファイルに ({{ic|~/.config/awesome/themes/default}}, {{ic|/usr/share/awesome/themes/default}} のコピー) 次のように色の部分に16進数の値を2つ加えて下さい:
   
 
bg_normal = #000000AA
 
bg_normal = #000000AA
254行目: 259行目:
 
"AA" が透明度になります。
 
"AA" が透明度になります。
   
Modkey + PageUp/PageDown によって選択されたウィンドウの透明度を変更するために、community パッケージリポジトリにある tansset-df を使って、以下のように rc.lua を修正することもできます:
+
{{ic|Modkey + PgUp/PgDown}} によって選択されたウィンドウの透明度を変更するために、community パッケージリポジトリにある {{Pkg|transset-df}} を使って、以下のように {{ic|rc.lua}} を修正することもできます:
 
 
 
globalkeys = awful.util.table.join(
 
globalkeys = awful.util.table.join(
323行目: 328行目:
 
===awesome のデフォルトと違うパネルを使う===
 
===awesome のデフォルトと違うパネルを使う===
   
あなたが awesome の軽量性と機能性を買ってはいるがそのデフォルトのパネルの見た目が気に入らないときは、異なるパネルをインストールできます。xfce4-panel をインストールするには:
+
あなたが awesome の軽量性と機能性を買ってはいるがそのデフォルトのパネルの見た目が気に入らないときは、{{Pkg|xfce4-panel}} など異なるパネルをインストールできます。
  +
{{bc|
 
  +
インストールしたら {{ic|rc.lua}} の [[#Autorun プログラム|autorun]] セクションに追加してください(方法は割愛)。画面ごとに wibox を作成しているセクション ({{ic|1=mywibox[s] = awful.wibox({ position = "top", screen = s })}} から始まっているところ) をコメントアウトすることもできますが、特にその必要はありません。ただし次を実行して rc.lua にエラーがないかチェックすることは忘れずに行って下さい:
sudo pacman -S xfce4-panel
 
  +
$ awesome -k rc.lua
}}
 
  +
また、ビルトインでないアプリケーションランチャー、Xfrun4 や bashrun などを起動するために、{{ic|''modkey''+R}} キーバインドを変えておくべきでしょう。[[Openbox]] のページのアプリケーションランチャーのところに例が載っています。{{ic|rc.lua}} に以下を追加するのを忘れないで下さい:
勿論、他のパネルも同じようにインストールできます。そして rc.lua の autorun セクションに追加してください(方法は割愛)。画面ごとに wibox を作成しているセクション ("mywibox[s] = awful.wibox({ position = "top", screen = s })" から始まっているところ) をコメントアウトすることもできますが、特にその必要はありません。ただし次を実行して rc.lua にエラーがないかチェックすることは忘れずに:
 
{{bc|
 
awesome -k rc.lua
 
}}
 
また、ビルトインでないアプリケーションランチャー、Xfrun4 や bashrun などを起動するために、"modkey+R" キーバインドを変えておくべきでしょう。[[Openbox_Themes_and_Apps#Application_launchers|Openbox]] のページのアプリケーションランチャーのところに例が載っています。rc.lua に以下を追加するのを忘れないで下さい:
 
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
properties = { floating = true } },
 
properties = { floating = true } },
 
{ rule = { instance = "$yourapplicationlauncher" },
 
{ rule = { instance = "$yourapplicationlauncher" },
 
</nowiki>}}
 
</nowiki>}}
 
===Java の修正 (GUI がグレーになる)===
 
[https://bbs.archlinux.org/viewtopic.php?pid=450870] からの手順。
 
#community から {{Pkg|wmname}} をインストール
 
#以下のコマンドを実行、もしくは {{ic|.xinitrc}} に追加する: {{bc|wmname LG3D}}
 
 
{{Note|
 
If you use a non-reparenting window manager and Java 6, you should uncomment the corresponding line in {{Ic|/etc/profile.d/openjdk6.sh}}
 
 
If you use a non-reparenting window manager and Java 7, you should uncomment the corresponding line in
 
{{Ic|/etc/profile.d/jre.sh}}
 
}}
 
 
===Nautilus をデスクトップに表示しないようにする (Gnome3)===
 
dconf-editor を起動してください。org->gnome->desktop->background と辿り "draw-background" と "show-desktop-icons" のチェックを外して下さい。以上です!
 
 
他にも /usr/bin/nautilus を新しいロケーションに移動して 'nautilus --no-desktop' を実行するスクリプトで置き換えるという方法もあります。
 
 
#!/bin/sh
 
/usr/bin/nautilus-real --no-desktop $@
 
 
===Gnome3 からの移行===
 
'gnome-session-properties' を起動しプログラム (例: Bluetooth Manager, Login Sounds, etc) を削除する以外に必要なことはありません。
 
 
If you'd like to get rid of GDM, make sure that your rc.conf DAEMONS list includes "dbus" (and "cupsd" if you have a printer). It's advisable to get a different login manager (like [[SLiM|SLiM]]), but you can do things manually if you wish. That entails setting up your [https://wiki.archlinux.org/index.php/Udev .xinitrc properly] and installing something like devmon ([https://aur.archlinux.org/packages.php?ID=45842 AUR]).
 
 
便利なシステムトレイアップレットや GTK テーマを残しておきたいのなら、rc.lua に以下を追加してください:
 
function start_daemon(dae)
 
daeCheck = os.execute("ps -eF | grep -v grep | grep -w " .. dae)
 
if (daeCheck ~= 0) then
 
os.execute(dae .. " &")
 
end
 
end
 
 
procs = {"gnome-settings-daemon", "nm-applet", "kupfer", "gnome-sound-applet", "gnome-power-manager"}
 
for k = 1, #procs do
 
start_daemon(procs[k])
 
end
 
   
 
===マウススクロールがタグを変えるのを防ぐ===
 
===マウススクロールがタグを変えるのを防ぐ===
383行目: 346行目:
   
 
==トラブルシューティング==
 
==トラブルシューティング==
  +
  +
===Xephyr を使って rc.lua をデバッグする===
  +
  +
デスクトップを壊さずに {{ic|rc.lua}} をデバッグする好ましい方法です。まず rc.lua をコピーして新しいファイル、{{ic|rc.lua.new}} を作り、そのファイルに必要な修正を加えます。それから awesome の新しいインスタンスを {{ic|rc.lua.new}} を設定ファイルとして Xephyr 内で実行します (X の中で他の X クライアントウィンドウを動かす):
  +
  +
$ Xephyr :1 -ac -br -noreset -screen 1152x720 &
  +
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new
  +
  +
このアプローチの有利な点は、もし {{ic|rc.lua.new}} を破壊したときでも、現在の awesome デスクトップを破壊しないということです(全ての X アプリがクラッシュし保存していないファイルが失われることがない)。設定に満足したら、{{ic|rc.lua.new}} を {{ic|rc.lua}} に変えて awesome を再起動します。
  +
  +
2011年7月現在、以上のことは {{AUR|awmtt}} でも可能です。
   
 
===LibreOffice===
 
===LibreOffice===
417行目: 391行目:
 
add mod4 = Caps_Lock
 
add mod4 = Caps_Lock
   
そしてこのファイルを [[Xmodmap#Custom table|(リ)ロードしてください]]。
+
そしてこのファイルを[[Xmodmap#カスタムテーブル|(リ)ロードしてください]]。
 
これで caps lock キーが mod4 キーになり、標準の awesome 設定でもうまく動くでしょう。さらに、他の X プログラムでも同じように mod4 キーが使えるはずです。
 
これで caps lock キーが mod4 キーになり、標準の awesome 設定でもうまく動くでしょう。さらに、他の X プログラムでも同じように mod4 キーが使えるはずです。
   
449行目: 423行目:
 
awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
 
awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),
   
==外部リンク==
+
==参照==
 
* http://awesome.naquadah.org/wiki/FAQ - FAQ
 
* http://awesome.naquadah.org/wiki/FAQ - FAQ
 
* http://www.lua.org/pil/ - Programming in Lua (first edition)
 
* http://www.lua.org/pil/ - Programming in Lua (first edition)
* http://awesome.naquadah.org/ - The official awesome website
+
* http://awesome.naquadah.org/ - awesome 公式ウェブサイト
 
* http://awesome.naquadah.org/wiki/Main_Page - the awesome wiki
 
* http://awesome.naquadah.org/wiki/Main_Page - the awesome wiki
* http://www.penguinsightings.org/desktop/awesome/ - A review
 
* http://compsoc.tardis.ed.ac.uk/wiki/AwesomeWM_guide - Awesome guide
 
 
* https://bbs.archlinux.org/viewtopic.php?id=88926 - share your awesome!
 
* https://bbs.archlinux.org/viewtopic.php?id=88926 - share your awesome!

2015年9月20日 (日) 02:00時点における版

awesome ウェブサイトより:

awesome は高度に設定可能な、次世代の X フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。awesome はパワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。

インストール

awesome公式リポジトリからインストールします。

プレリリース版を使うには、AURawesome-gitAUR を使って下さい。安定していないと考えられるバージョンで、設定構文が異なっているかもしれません。

awesome を起動

ログインマネージャを使わずに起動

ログインマネージャを使わずに awesome を起動するには、シンプルにスタートアップスクリプト (例: ~/.xinitrc) に exec awesome を追加してください。

logind (または consolekit) セッションを維持する方法などについては xinitrc を見て下さい。

ログインさえせずに awesome を起動させることも可能です。ログイン時に X を起動を見て下さい。

ログインマネージャで起動

ログインマネージャから awesome を起動するには、ディスプレイマネージャを見て下さい。

KDM

root で作成:

/usr/share/apps/kdm/sessions/awesome.desktop
[Desktop Entry]
Name=Awesome
Comment=Tiling Window Manager
Type=Application
Exec=/usr/bin/awesome
TryExec=/usr/bin/awesome

GNOME のウィンドウマネージャとして使う

GNOME には"すぐに使える"というアドバンテージがあります。awesome をビジュアルインターフェースとして使うために GNOME をセットアップすることもできますが、GNOME がバックグラウンドで動いているということはあなたのプレッシャーになるかもしれません。GNOME 3 を使っているならば、シンプルに awesome-gnomeAUR をインストールして、GDM でログインするときに "Awesome GNOME" セッションを選ぶということもできます。詳しくは awesome wiki を見て下さい。

設定

Awesome にはすぐに使えるデフォルト設定がありますが、遅かれ早かれあなたは設定を変更したくなるでしょう。lua ベースの設定ファイルが ~/.config/awesome/rc.lua にあります。

設定ファイルを作成

まず、以下を実行して次のステップで必要なディレクトリを作成します:

$ mkdir -p ~/.config/awesome/

コンパイルした時はいつでも、awesome は ~/.config/awesome/rc.lua に含まれている全てのカスタム設定を使おうとします。デフォルトではこのファイルは作られないので、最初にテンプレートファイルからコピーしてくる必要があります:

$ cp /etc/xdg/awesome/rc.lua ~/.config/awesome/

awesome がアップデートされると設定ファイルのシンタックスはしばしば変更されます。よって、awesome に問題が起こったり、設定を変更しようとする時は、上のコマンドを繰り返すことを覚えておいて下さい。

awesome の設定について詳しくは、awesome wiki のコンフィグレーションページを見て下さい。

設定のサンプル

ノート: awesome の設定構文は定期的に変わるので、ダウンロードしたファイルに修正を入れる必要があるかもしれません。

rc.lua のサンプルは以下にあります:

拡張

awesome (3.5+) にはいくつか拡張が存在します:

拡張 機能
開かれているクライアントを一望する
動的タグ
ポップアップ通知
追加 ウィジェット
インスタンスが存在しない場合にプログラムを起動、またはジャンプ

キーボードレイアウトの変更

awesome wikiXorg でのキーボード設定を見て下さい。

テーマ

Beautiful という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。rc.lua を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。

デフォルトのテーマは /usr/share/awesome/themes/default です。これを ~/.config/awesome/themes/default にコピーして rc.luatheme_path を変更してください。

beautiful.init(awful.util.getdir("config") .. "/themes/default/theme.lua")

詳しくは [1][2] を参照。

壁紙

Beautiful が壁紙を管理できるので、.xinitrc.xsession などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。

Awesome バージョン 3.5 では awsetbg コマンドが存在しません。代わりに gears モジュールを使います。theme.lua で壁紙を設定するには:

theme.wallpaper = "~/.config/awesome/themes/awesome-wallpaper.png"

壁紙をロードするには、rc.lua に以下が記述されている必要があります:

beautiful.init("~/.config/awesome/themes/default/theme.lua")
for s = 1, screen.count() do
	gears.wallpaper.maximized(beautiful.wallpaper, s, true)
end

ランダムに背景画像を変えるには、[3]rc.lua (v3.5+) に追加してください。特定のディレクトリから自動的に画像を取得するには [4] を使って下さい。

Tips and tricks

wibox を表示・隠す

Modkey-b でデフォルトステータスバーの表示を切り替えるようマップするには (awesome 2.3 でのデフォルト)、rc.luaglobalkeys に以下を追加してください:

awful.key({ modkey }, "b", function ()
    mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
end),

printscreen を有効にする

awesome で PrtScr ボタンを有効にするにはスクリーンキャプチャプログラムが必要です。Arch リポジトリから簡単に使える Scrot がいいでしょう。

次を実行してください:

# pacman -S scrot

必要な依存ライブラリもインストールしてください。

次に PrtScr のキーの名前を調べます、ほとんど場合 "Print" ですが確認するに越したことはありません。

次を実行してください:

# xev

PrtScr ボタンを押すと、次のように出力されるはずです:

 KeyPress event ....
     root 0x25c, subw 0x0, ...
     state 0x0, keycode 107 (keysym 0xff61, Print), same_screen YES,
     ....

上の場合、キーの名前は Print です。

さあ awesome の設定をしましょう!

globalkeys がある場所に次の Lua コードを加えて下さい:

 awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'") end),

また、上のコードでは ~/screenshots/ にスクリーンショットを保存します、あなたが保存したい場所に編集してください。

動的タグ

Eminent は小さな lua ライブラリで、wmii-スタイルの動的タグを簡単に使えるようにするためのモンキーパッチです。shifty とは違い、eminent は完全なタグシステムを提供することは目指しておらず、動的タグをできるだけシンプルに実装しています。実際、eminent ライブラリを使うのに、rc.lua を修正する必要は全くありません。eminent は自立して働きます。

Shifty は動的タグ機能の Awesome 3 拡張です。また、2つのシンプルな設定変数とキーバインドを設定するだけで、あなたをデスクトップのマスターたらしめる、設定に匹敵する素晴らしいクライアントを実装しています。

スペースインベーダー

Space Invaders は Awesome Lua API の可能性を示すためのデモです。

3.4-rc1 リリースからの Awesome パッケージには含まれていません。

Naughty ポップアップ通知

naughty についての awesome wiki ページを見て下さい。

ポップアップメニュー

awesome3 ではデフォルトでシンプルなメニューがありますが、メニューをカスタマイズすることも簡単にできます。ただし、あなたが 2.x の awesome を使っている場合は、awful.menu を見て下さい。

freedesktop.org メニューが作りたいのなら、awesome-freedesktop を見て下さい。

サンプル:

myawesomemenu = {
   { "lock", "xscreensaver-command -activate" },
   { "manual", terminal .. " -e man awesome" },
   { "edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
   { "restart", awesome.restart },
   { "quit", awesome.quit }
}

mycommons = {
   { "pidgin", "pidgin" },
   { "OpenOffice", "soffice-dev" },
   { "Graphic", "gimp" }
}

mymainmenu = awful.menu.new({ items = { 
                                        { "terminal", terminal },
                                        { "icecat", "icecat" },
                                        { "Editor", "gvim" },
                                        { "File Manager", "pcmanfm" },
                                        { "VirtualBox", "VirtualBox" },
                                        { "Common App", mycommons, beautiful.awesome_icon },
                                        { "awesome", myawesomemenu, beautiful.awesome_icon }
                                       }
                             })

awesome のウィジェット

awesome において、ウィジェットとはウィジェットボックス (ステータスバーやタイトルバー) に追加することができるオブジェクトのことであり、システムに関する様々な情報を表示できます。ウィンドウマネージャから情報を読むのに便利です。ウィジェットは簡単に使うことが可能でありながら柔軟性があります。 -- ソース Awesome Wiki: Widgets.

Wicked と呼ばれる広く使われているウィジェットライブラリがあり、MPD ウィジェット、CPU 使用量、メモリ使用量などの多くのウィジェットを提供します。詳しくは Wicked page を見て下さい。

awesome v3.4 で Wicked の代わりになるものとしては Vicious, Obvious, Bashets などがあります。vicious を使うのなら、vicious documentation も見るといいでしょう。

透過

Xorg#コンポジットを見て下さい。

awesome 3.5 では、ウィンドウ透過はシグナルを使って動的に設定することもできます。例えば、あなたの rc.lua に以下を加えることができます:

client.connect_signal("focus", function(c)
                              c.border_color = beautiful.border_focus
                              c.opacity = 1
                           end)
client.connect_signal("unfocus", function(c)
                                c.border_color = beautiful.border_normal
                                c.opacity = 0.7
                             end)

Conky

conky を使っていて、デスクトップの代わりに conky にウィンドウを持たせたい場合、~/.conkyrc を次のように編集してください:

own_window yes
own_window_transparent yes
own_window_type desktop

上記のように設定していないと、全てのウィンドウが完全に透過してしまうなどの不可思議な現象が発生します。また、conky がデスクトップ上に透過ウィンドウを作成すると、awesome の rc.lua で定義したアクションは conky が存在する場所では動作しないので注意してください。

wiboxes

Awesome 3.1 現在、wiboxes 用に擬似透過がビルドインされています。これを有効にするには、テーマファイルに (~/.config/awesome/themes/default, /usr/share/awesome/themes/default のコピー) 次のように色の部分に16進数の値を2つ加えて下さい:

bg_normal = #000000AA

"AA" が透明度になります。

Modkey + PgUp/PgDown によって選択されたウィンドウの透明度を変更するために、community パッケージリポジトリにある transset-df を使って、以下のように rc.lua を修正することもできます:

globalkeys = awful.util.table.join(
    -- your keybindings
    [...]
    awful.key({ modkey }, "Next", function (c)
        awful.util.spawn("transset-df --actual --inc 0.1")
    end),
    awful.key({ modkey }, "Prior", function (c)
        awful.util.spawn("transset-df --actual --dec 0.1")
    end),
    -- Your other key bindings
    [...]
)

ImageMagick

imagemagick の display コマンドで壁紙を設定すると問題が起こるかもしれません、xcompmgr との互換性に問題があるためです。awsetbg に display を使うのは他のオプションを設定していないときだけにしましょう。habak, feh, hsetroot などの代わりのプログラムをインストールしてください (grep -A 1 wpsetters /usr/bin/awsetbg で他のオプションが見れます)。

Autorun プログラム

Awesome wiki の Autostart ページも見て下さい。

GNOME や KDE とは異なり、awesome は Freedesktop の仕様による autostart にセットされたプログラムを起動しません。しかし、awesome にはプログラムを起動するための機能が (Lua の標準ライブラリの関数である os.execute に加えて) 少しばかりあります。GNOME や KDE のようにスタートアップで同じプログラムを起動するには、AUR から dex をインストールして rc.lua から dex を実行してください:

os.execute"dex -a -e Awesome"

スタートアップ時に awesome が起動するアプリケーションのリストをセットアップすることもできます。全てのコマンドの表を作成して、spawn をループで回します:

do
  local cmds = 
  { 
    "swiftfox",
    "mutt",
    "consonance",
    "linux-fetion",
    "weechat-curses",
    --and so on...
  }

  for _,i in pairs(cmds) do
    awful.util.spawn(i)
  end
end

(os.execute コマンドに '&' を付けて実行呼び出しをすることもできますが、ちゃんとした spawn 関数を使ったほうがおそらくベターでしょう。)

実行していないプログラムだけを走らせるには、pgrep で実行中のプロセスに同じ名前がない見つからないときだけプログラムを走らせるシェルコマンドと spawn を使いましょう:

function run_once(prg)
  awful.util.spawn_with_shell("pgrep -u $USER -x " .. prg .. " || (" .. prg .. ")")
end

例えば、parcellite プロセスが実行中でないときだけ parcellite を実行するには:

run_once("parcellite")

テキストを awesome-client を使ってウィジェットに渡す

簡単に awesome ウィジェットにテキストを送ることができます。次のように新しいウィジェットを作ります:

 mywidget = widget({ type = "textbox", name = "mywidget" })
 mywidget.text = "initial text"

外部ソースからテキストをアップデートするには、awesome-client を使います:

 
 echo -e 'mywidget.text = "new text"' | awesome-client

ウィジェットを wibox に追加するのを忘れないで下さい。

awesome のデフォルトと違うパネルを使う

あなたが awesome の軽量性と機能性を買ってはいるがそのデフォルトのパネルの見た目が気に入らないときは、xfce4-panel など異なるパネルをインストールできます。

インストールしたら rc.luaautorun セクションに追加してください(方法は割愛)。画面ごとに wibox を作成しているセクション (mywibox[s] = awful.wibox({ position = "top", screen = s }) から始まっているところ) をコメントアウトすることもできますが、特にその必要はありません。ただし次を実行して rc.lua にエラーがないかチェックすることは忘れずに行って下さい:

$ awesome -k rc.lua

また、ビルトインでないアプリケーションランチャー、Xfrun4 や bashrun などを起動するために、modkey+R キーバインドを変えておくべきでしょう。Openbox のページのアプリケーションランチャーのところに例が載っています。rc.lua に以下を追加するのを忘れないで下さい:

      properties = { floating = true } },
    { rule = { instance = "$yourapplicationlauncher" },

マウススクロールがタグを変えるのを防ぐ

rc.lua の Mouse Bindings セクションを次のように変更してください:

-- {{{ Mouse bindings
root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end)))
-- }}}

トラブルシューティング

Xephyr を使って rc.lua をデバッグする

デスクトップを壊さずに rc.lua をデバッグする好ましい方法です。まず rc.lua をコピーして新しいファイル、rc.lua.new を作り、そのファイルに必要な修正を加えます。それから awesome の新しいインスタンスを rc.lua.new を設定ファイルとして Xephyr 内で実行します (X の中で他の X クライアントウィンドウを動かす):

$ Xephyr :1 -ac -br -noreset -screen 1152x720 &
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new

このアプローチの有利な点は、もし rc.lua.new を破壊したときでも、現在の awesome デスクトップを破壊しないということです(全ての X アプリがクラッシュし保存していないファイルが失われることがない)。設定に満足したら、rc.lua.newrc.lua に変えて awesome を再起動します。

2011年7月現在、以上のことは awmttAUR でも可能です。

LibreOffice

libreoffice の UI に問題がでる場合は libreoffice-gnome をインストールしてください。

Mod4 キー

デフォルトで Mod4 は Win キー です。何らかの理由でデフォルトでマップされていない場合、Mod4 キーのキーコードをチェックするには:

$ xev

左の Win キーは 115 のはずです。以下を ~/.xinitrc に追加してください

xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L"
exec awesome

ここでの問題は xorg インストールによってキーコード 115 が、間違って 'Select' キーとして認識されていることです。上記のコマンドはキーコード 115 を正しい 'Super_L' キーにマップし直します。

Mod4 キー vs. IBM ThinkPad

IBM ThinkPad には Windows キーがありません (Lenovo は ThinkPad のこの伝統を変えたみたいですが)。これを書いている時点で、デフォルトの rc.lua では Alt キーはコマンドのコンビネーションとしては使われていません、したがって Alt キーを Super/Mod4/Win キーの代わりとして使うことができます。これをするには、rc.lua を編集して:

modkey = "Mod4"

を次のように変えて下さい:

modkey = "Mod1"

Note: Awesome には Mod4 とシングルレターを使うコマンドが少しだけあります。Mod4 を Mod1/Alt に変えるとキーコンビネーションが重複してしまうかもしれません。そうならないように rc.lua ファイルを修正する必要があるかもしれません。

awesome の標準を変えたくないならば、キーをリマップをするという方法もあります。例えば、caps lock キーをあまり使わないなら、以下を ~/.Xmodmap に加えます

clear lock 
add mod4 = Caps_Lock

そしてこのファイルを(リ)ロードしてください。 これで caps lock キーが mod4 キーになり、標準の awesome 設定でもうまく動くでしょう。さらに、他の X プログラムでも同じように mod4 キーが使えるはずです。

未確認ですが、最近の xorg のパッケージのアップデートで二行目のマッピングが破壊されるときは以下のように置き換えることができます (レフト Super キーのない DasKeyboard で検証):

keysym Caps_Lock = Super_L Caps_Lock

Eclipse: メインウィンドウをリサイズ・移動できない

(mod4 + 右・左クリックを使って)メインウィンドウが移動・リサイズできない場合、workbench.xml を編集して fullscreen/maximized を false に設定し、幅と高さの数字をデスクトップ画面の大きさよりも小さくしてください。

ノート: workbench.xml は <eclipse_workspace>/.metadata/.plugins/org.eclipse.ui.workbench/ にあり、編集する行は <window height="xx" maximized="true" width="xx" x="xx" y="xx"> です。

YouTube: フルスクリーンが裏に表示される

[5] フルスクリーンモードにするとビデオがウェブブラウザの下に表示される場合、rc.lua に以下を追加してください

   { rule = { instance = "plugin-container" },
     properties = { floating = true } },

Chromium には

   { rule = { instance = "exe" },
     properties = { floating = true } },

コンソールクライアントを起動する

GTK ターミナル (例: LXTerminal) から呼び出されたコンソールアプリケーションは動作しません。URxvt は動作します。

コンソール出力をファイルに書き出す

端末から GUI アプリケーションを起動すると、アプリケーションによっては端末に大変多くのデータを表示することがあります。結果として、Awesome から起動すると、全てを Awesome が起動している TTY に出力することになり、端末が汚くなることが多々あります。こういったゴミ・アウトプットを削除するには、リダイレクトさせなくてはなりません。しかし、公式 FAQ で書かれているように awful.util.spawn はパイプとリダイレクトをあまりうまく扱えません。

例として、Luakit の出力をテンポラリファイルにリダイレクトしてみましょう:

awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end),

参照