「Awesome」の版間の差分
細 (→インストール) |
|||
13行目: | 13行目: | ||
[[Wikipedia:awesome (window manager)|awesome]] ウェブサイトより: |
[[Wikipedia:awesome (window manager)|awesome]] ウェブサイトより: |
||
− | + | :''[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 を起動させることも可能です。[[ |
+ | ログインさえせずに awesome を起動させることも可能です。[[ログイン時に X を起動]]を見て下さい。 |
=== ログインマネージャで起動 === |
=== ログインマネージャで起動 === |
||
− | ログインマネージャから awesome を起動するには、[[ |
+ | ログインマネージャから 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_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 |
+ | == 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. |
+ | 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 + |
+ | {{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 の軽量性と機能性を買ってはいるがそのデフォルトのパネルの見た目が気に入らないときは、異なるパネルをインストールできます。 |
+ | あなたが 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#カスタムテーブル|(リ)ロードしてください]]。 |
これで 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/ - |
+ | * 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 を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。
インストール
プレリリース版を使うには、AUR の awesome-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 のコンフィグレーションページを見て下さい。
設定のサンプル
rc.lua のサンプルは以下にあります:
- https://github.com/setkeh/Awesome-Laptop-3.5 - Setkeh の 3.5 の設定。
- http://awesome.naquadah.org/wiki/User_Configuration_Files - awesome ホームページに載っているユーザー設定コレクション。
拡張
awesome (3.5+) にはいくつか拡張が存在します:
拡張 | 機能 |
---|---|
開かれているクライアントを一望する | |
動的タグ | |
ポップアップ通知 | |
追加 ウィジェット | |
インスタンスが存在しない場合にプログラムを起動、またはジャンプ |
キーボードレイアウトの変更
awesome wiki や Xorg でのキーボード設定を見て下さい。
テーマ
Beautiful という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。rc.lua
を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。
デフォルトのテーマは /usr/share/awesome/themes/default
です。これを ~/.config/awesome/themes/default
にコピーして rc.lua
の theme_path
を変更してください。
beautiful.init(awful.util.getdir("config") .. "/themes/default/theme.lua")
壁紙
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.lua
の globalkeys に以下を追加してください:
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.lua
の autorun セクションに追加してください(方法は割愛)。画面ごとに 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.new
を rc.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 に設定し、幅と高さの数字をデスクトップ画面の大きさよりも小さくしてください。
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),
参照
- http://awesome.naquadah.org/wiki/FAQ - FAQ
- http://www.lua.org/pil/ - Programming in Lua (first edition)
- http://awesome.naquadah.org/ - awesome 公式ウェブサイト
- http://awesome.naquadah.org/wiki/Main_Page - the awesome wiki
- https://bbs.archlinux.org/viewtopic.php?id=88926 - share your awesome!