「Awesome」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「Tips and tricks」を「ヒントとテクニック」に置換) |
(→自動実行: 情報を更新) |
||
(4人の利用者による、間の30版が非表示) | |||
2行目: | 2行目: | ||
[[Category:動的ウィンドウマネージャ]] |
[[Category:動的ウィンドウマネージャ]] |
||
[[Category:タイル型ウィンドウマネージャ]] |
[[Category:タイル型ウィンドウマネージャ]] |
||
− | [[ |
+ | [[de:Awesome]] |
[[en:Awesome]] |
[[en:Awesome]] |
||
− | [[es:Awesome]] |
||
− | [[fr:Awesome3]] |
||
− | [[it:Awesome]] |
||
− | [[ko:Awesome]] |
||
[[ru:Awesome]] |
[[ru:Awesome]] |
||
− | [[sv:Awesome]] |
||
[[zh-hans:Awesome]] |
[[zh-hans:Awesome]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
21行目: | 16行目: | ||
[https://awesomewm.org/ awesome のウェブサイト] より: |
[https://awesomewm.org/ awesome のウェブサイト] より: |
||
− | :''awesome は高度に設定可能な、次世代の X フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。awesome はパワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。'' |
+ | :''awesome は高度に設定可能な、次世代の [[X]] フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。awesome はパワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。'' |
==インストール== |
==インストール== |
||
27行目: | 22行目: | ||
{{pkg|awesome}} パッケージを[[インストール]]してください。開発版を使うには、[[Arch User Repository|AUR]] の {{AUR|awesome-git}} をインストールしてください。開発版は不安定で、設定 API が異なっている可能性があります。 |
{{pkg|awesome}} パッケージを[[インストール]]してください。開発版を使うには、[[Arch User Repository|AUR]] の {{AUR|awesome-git}} をインストールしてください。開発版は不安定で、設定 API が異なっている可能性があります。 |
||
+ | == 起動 == |
||
− | [[xinitrc]] から awesome を起動するには、{{ic|~/.xinitrc}} に {{Ic|exec awesome}} を追加してください。パッケージに含まれている [[xsession]] ファイルを使用する場合は、[[ディスプレイマネージャ]]を見てください。 |
||
+ | [[xinit]] を使用して {{ic|awesome}} を実行します。付属の [[xsession]] ファイルを使用するには、[[ディスプレイマネージャ]] を参照してください。 |
||
− | === KDM === |
||
− | root で作成: |
||
+ | === GNOME を使用する === |
||
− | {{hc|/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]] をセットアップして、awesome をビジュアルインターフェイスとして使用し、GNOME をバックグラウンドで動作させることができます。{{AUR|awesome-gnome}} を参照してください。 |
||
− | === 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] を見て下さい。 |
||
=== XFCE === |
=== XFCE === |
||
+ | |||
− | [[Xfce#デフォルトウィンドウマネージャ]]を見てください。 |
||
+ | [[Xfce#別のウィンドウマネージャを使う]] を見てください。 |
||
==設定== |
==設定== |
||
61行目: | 48行目: | ||
awesome の設定について詳しくは、[https://awesomewm.org/apidoc/documentation/90-FAQ.md.html#Configuration awesome のドキュメントの設定セクション] を見て下さい。 |
awesome の設定について詳しくは、[https://awesomewm.org/apidoc/documentation/90-FAQ.md.html#Configuration awesome のドキュメントの設定セクション] を見て下さい。 |
||
− | ===設定のサンプル=== |
+ | ==== 設定のサンプル ==== |
+ | |||
{{Note|awesome の設定構文は定期的に変わるので、ダウンロードしたファイルに修正を入れる必要があるかもしれません。}} |
{{Note|awesome の設定構文は定期的に変わるので、ダウンロードしたファイルに修正を入れる必要があるかもしれません。}} |
||
rc.lua のサンプルは以下にあります: |
rc.lua のサンプルは以下にあります: |
||
− | * https://github.com/ |
+ | * [https://github.com/awesomeWM/awesome/issues/1395 Awesome スクリーンショットスレッド] |
+ | * [https://github.com/setkeh/Awesome Setkeh's Awesome 設定] |
||
− | * http://awesome.naquadah.org/wiki/User_Configuration_Files - awesome ホームページに載っているユーザー設定コレクション。 |
||
− | * https://github.com/copycat-killer/awesome-copycats |
+ | * [https://github.com/copycat-killer/awesome-copycats ステータスバーなど、さまざまなテーマをサポートするユーザー設定] |
+ | * [https://github.com/WillPower3309/awesome-dotfiles 2 つのモダンなテーマを備えた設定] |
||
=== 拡張 === |
=== 拡張 === |
||
− | awesome |
+ | awesome にはいくつか拡張が存在します: |
{| class="wikitable" |
{| class="wikitable" |
||
− | ! |
+ | ! 拡張 |
+ | ! 機能性 |
||
− | ! style="font-weight: bold;" | 機能 |
||
+ | ! バージョン |
||
|- |
|- |
||
| |
| |
||
− | * [ |
+ | * [https://github.com/guotsuan/awesome-revelation Revelation] |
− | | 開 |
+ | | 開いているすべてのクライアントのビューを表示する |
+ | | Awesome 3.5+ |
||
|- |
|- |
||
| |
| |
||
− | * [ |
+ | * [https://github.com/bioe007/awesome-shifty Shifty] |
− | | 動的タグ |
+ | | 動的タグ付け |
+ | | Awesome 3.5 |
||
|- |
|- |
||
| |
| |
||
* [https://awesomewm.org/apidoc/libraries/naughty.html Naughty] |
* [https://awesomewm.org/apidoc/libraries/naughty.html Naughty] |
||
| ポップアップ通知 |
| ポップアップ通知 |
||
+ | | Awesome 3.5+ |
||
− | |- |
||
− | | |
||
− | * [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 ウィジェット] |
||
|- |
|- |
||
| |
| |
||
+ | * [https://github.com/vicious-widgets/vicious Vicious] |
||
− | * [http://awesome.naquadah.org/wiki/Run_or_raise Run or raise] |
||
+ | * [https://github.com/hoelzro/obvious Obvious] |
||
− | | インスタンスが存在しない場合にプログラムを起動、またはジャンプ |
||
+ | * [https://code.google.com/archive/p/bashets/ Bashets] |
||
+ | | 追加 [https://awesomewm.org/recipes/ ウィジェット] |
||
+ | | Awesome 3.5 |
||
|- |
|- |
||
|} |
|} |
||
+ | === 自動実行 === |
||
− | === キーボードレイアウトの変更 === |
||
+ | [[XDG Autostart]] 仕様を実装するには、{{Pkg|xorg-xrdb}} と {{Pkg|dex}} をインストールし、次の行を {{ic|~/.config/awesome/rc.lua}}に追加します: |
||
− | キーボードレイヤーを設定する方法は複数存在します。デフォルト設定ではレイアウトウィジェットが有効になっていますが、選択肢がないかぎり表示されません。一時的に複数のレイヤーを設定するには、以下のコマンドを実行: |
||
+ | {{hc|~/.config/awesome/rc.lua|<nowiki> |
||
− | $ setxkbmap -layout "us,jp" |
||
+ | awful.spawn.with_shell( |
||
+ | 'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' .. |
||
+ | 'xrdb -merge <<< "awesome.started:true";' .. |
||
+ | -- list each of your autostart commands, followed by ; inside single quotes, followed by .. |
||
+ | 'dex --environment Awesome --autostart' |
||
+ | ) |
||
+ | </nowiki>}} |
||
+ | あるいは、{{ic|autorun.sh}} を [[作成]] して以下を挿入し実行します: |
||
− | awesome のキーボードウィジェットが表示され、クリックすることでレイアウトを切り替えることが可能です。ショートカットキーでレイアウトを変更したい場合、{{ic|-option "grp:alt_shift_toggle"}} を追加してください。{{ic|Shift+Alt}} を押すことでレイアウトが変更できるようになります。例: |
||
+ | {{hc|~/.config/awesome/autorun.sh| |
||
− | $ setxkbmap -layout "us,jp" -option "grp:alt_shift_toggle" |
||
+ | #!/bin/sh |
||
+ | run() { |
||
− | レイアウトを設定する適切なコマンドを決めたら、[[#Autorun プログラム]]に追加してください。 |
||
+ | if ! pgrep -f "$1" ; |
||
+ | then |
||
+ | "$@"& |
||
+ | fi |
||
+ | } |
||
+ | }} |
||
+ | 次に、それを [[ヘルプ:読み方#実行可能属性の付与|実行可能]] にします。 |
||
− | [[Xorg でのキーボード設定]]も見てください。 |
||
+ | 自動起動するプログラムを追加するには、{{ic|run "program [some argument]"}} を {{ic|autorun.sh}} に追加するだけです。{{ic|run}} 関数は、同じ引数を持つ {{ic|program}} のインスタンスがすでに存在するかどうかを確認し、存在しない場合にのみ {{ic|program}} を実行します。{{ic|autorun.sh}} を実行して確認できます。 |
||
− | ===テーマ=== |
||
+ | $ ~/.config/awesome/autorun.sh |
||
− | [http://awesome.naquadah.org/wiki/Beautiful Beautiful] という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。{{ic|rc.lua}} を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。 |
||
+ | すべて問題なければ、次の行を {{ic|rc.lua}} に追加します: |
||
− | デフォルトのテーマは {{ic|/usr/share/awesome/themes/default}} です。これを {{ic|~/.config/awesome/themes/default}} にコピーして {{ic|rc.lua}} の {{ic|theme_path}} を変更してください。 |
||
− | beautiful.init(awful.util.getdir("config") .. "/themes/default/theme.lua") |
||
+ | {{hc|~/.config/awesome/rc.lua| |
||
− | テーマオプションについては [https://awesomewm.org/apidoc/libraries/beautiful.html] を参照してください。例えば隙間を追加するには、{{ic|rc.lua}} のテーマセクションに以下を追加します: |
||
+ | awful.spawn.with_shell("~/.config/awesome/autorun.sh") |
||
+ | }} |
||
+ | === キーボードレイアウトの変更 === |
||
− | beautiful.useless_gap = 5 |
||
+ | キーボードレイヤーを設定するには複数の方法があります。 |
||
− | ==== 壁紙 ==== |
||
+ | ==== setxkbmap キーボードレイアウトの方法 ==== |
||
− | Beautiful が壁紙を管理できるので、{{ic|.xinitrc}} や {{ic|.xsession}} などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。 |
||
+ | awesome のデフォルト設定では、レイアウトウィジェットがすでに有効化されています。 |
||
− | Awesome バージョン 3.5 では awsetbg コマンドが存在しません。代わりに gears モジュールを使います。{{ic|theme.lua}} で壁紙を設定するには: |
||
+ | 複数のレイヤーを一時的に設定するには、次を実行します。 |
||
− | theme.wallpaper = "~/.config/awesome/themes/awesome-wallpaper.png" |
||
+ | $ setxkbmap -layout "us,de" |
||
− | 壁紙をロードするには、{{ic|rc.lua}} に以下が記述されている必要があります: |
||
+ | ウィジェットをクリックすると、レイアウトが切り替わります。キーコンボでレイアウトを変更したい場合は、{{ic|-option "grp:alt_shift_toggle"}} を追加します。たとえば、{{ic|Shift+Alt}} を押してレイアウトを変更できるようになります。完全なコマンドは次のようになります: |
||
− | beautiful.init("~/.config/awesome/themes/default/theme.lua") |
||
− | for s = 1, screen.count() do |
||
− | gears.wallpaper.maximized(beautiful.wallpaper, s, true) |
||
− | end |
||
+ | $ setxkbmap -layout "us,de" -option "grp:alt_shift_toggle" |
||
− | ランダムに背景画像を変えるには、[https://gist.github.com/anonymous/37f3b1c58d6616cab756] を {{ic|rc.lua}} (v3.5+) に追加してください。特定のディレクトリから自動的に画像を取得するには [https://gist.github.com/anonymous/9072154f03247ab6e28c] を使って下さい。 |
||
+ | EN および RU レイアウトを音声異体字で設定するには: |
||
− | {{ic|rc.lua}} で壁紙を指定したい場合、テーマセクションに以下の行を追加してください: |
||
+ | $ setxkbmap -model pc105 -option "grp:shifts_toggle,compose:sclk" "us,ru(phonetic_YAZHERTY)" |
||
− | beautiful.wallpaper = awful.util.get_configuration_dir() .. "path/to/wallpaper.png" |
||
+ | どこ |
||
− | {{ic|awful.util.get_configuration_dir()}} は {{ic|rc.lua}} のパスを返します。 |
||
+ | * 作成キーは "Scroll Lock"、言語切り替えは 左Shift+右Shift に設定されています。 |
||
− | == ヒントとテクニック == |
||
+ | * キーボードは 105 キーです |
||
+ | [[LightDM]] を使用してセッションを開始する場合は、上記のコマンドを [[LightDM#環境変数|.xprofile]] ファイルに追加します。 |
||
− | === wibox を表示・隠す=== |
||
+ | ==== rc.lua キーボードレイアウトの方法 (v.4 以降) ==== |
||
− | Modkey-b でデフォルトステータスバーの表示を切り替えるようマップするには (awesome 2.3 でのデフォルト)、{{ic|rc.lua}} の ''globalkeys'' に以下を追加してください: |
||
+ | awesome 自体を使用して切り替えることができます (v.4 から) {{ic|Shift+Alt}} を押してレイアウトを変更するには、次の 2 行を {{ic|globalkeys}} に追加します。 |
||
− | awful.key({ modkey }, "b", |
||
− | function () |
||
− | myscreen = awful.screen.focused() |
||
− | myscreen.mywibox.visible = not myscreen.mywibox.visible |
||
− | end, |
||
− | {description = "toggle statusbar"} |
||
− | ), |
||
+ | {{hc|~/.config/awesome/rc.lua|<nowiki> |
||
− | ===printscreen を有効にする=== |
||
+ | -- {{{ Key bindings |
||
+ | globalkeys = gears.table.join( |
||
+ | -- ... |
||
+ | awful.key({ "Shift" }, "Alt_L", function () mykeyboardlayout.next_layout(); end), |
||
+ | awful.key({ "Mod1" }, "Shift_L", function () mykeyboardlayout.next_layout(); end) |
||
+ | ) |
||
+ | </nowiki>}} |
||
+ | これには、setxkbmap コマンドまたは X 設定ファイルで切り替えられるキーボードレイアウトをセットアップする必要があります。 |
||
− | awesome で PrtScr ボタンを有効にするにはスクリーンキャプチャプログラムが必要です。Arch リポジトリから簡単に使える Scrot がいいでしょう。 |
||
+ | レイアウトを設定するための適切なコマンドを見つけたら、それを [[Awesome#自動起動|自動起動]] に追加します。 |
||
− | 次を実行してください: |
||
− | # pacman -S scrot |
||
+ | ==== Xorg の方法 ==== |
||
− | 必要な依存ライブラリもインストールしてください。 |
||
+ | [[Xorg/キーボード設定]] を参照してください。 |
||
− | 次に PrtScr のキーの名前を調べます、ほとんど場合 "Print" ですが確認するに越したことはありません。 |
||
+ | === テーマ === |
||
− | 次を実行してください: |
||
− | # xev |
||
+ | [https://awesomewm.org/apidoc/libraries/beautiful.html Beautiful] という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。{{ic|rc.lua}} を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。 |
||
− | PrtScr ボタンを押すと、次のように出力されるはずです: |
||
− | KeyPress event .... |
||
− | root 0x25c, subw 0x0, ... |
||
− | state 0x0, keycode 107 (keysym 0xff61, '''Print'''), same_screen YES, |
||
− | .... |
||
+ | デフォルトテーマは {{ic|/usr/share/awesome/themes/default}} にあります。それを {{ic|~/.config/awesome/themes/default}} にコピーしてください。(オプションで全てコピーすることもできます)、{{ic|rc.lua}} を変更してください: |
||
− | 上の場合、キーの名前は Print です。 |
||
+ | -- beautiful.init(gears.filesystem.get_configuration_dir() .. "/themes/default/theme.lua") |
||
− | さあ awesome の設定をしましょう! |
||
+ | local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), "default") |
||
+ | beautiful.init(theme_path) |
||
+ | テーマオプションについては [https://awesomewm.org/apidoc/libraries/beautiful.html] を参照してください。例えばギャップを追加するには、{{ic|rc.lua}} のテーマセクションに以下を追加します: |
||
− | globalkeys がある場所に次の Lua コードを加えて下さい: |
||
+ | beautiful.useless_gap = 5 |
||
− | awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'", false) end), |
||
+ | {{ic|rc.lua}} のテーマセクションの下部にあります。 |
||
− | また、上のコードでは ~/screenshots/ にスクリーンショットを保存します、あなたが保存したい場所に編集してください。 |
||
− | === |
+ | ==== 壁紙 ==== |
+ | Beautiful が壁紙を管理できるので、{{ic|.xinitrc}} や {{ic|.xsession}} などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。 |
||
− | [http://awesome.naquadah.org/wiki/Eminent Eminent] は小さな lua ライブラリで、wmii-スタイルの動的タグを簡単に使えるようにするためのモンキーパッチです。shifty とは違い、eminent は完全なタグシステムを提供することは目指しておらず、動的タグをできるだけシンプルに実装しています。実際、eminent ライブラリを使うのに、rc.lua を修正する必要は全くありません。eminent は自立して働きます。 |
||
+ | 壁紙を指定するには 2 つの方法があります: |
||
− | [http://awesome.naquadah.org/wiki/Shifty Shifty] は動的タグ機能の Awesome 3 拡張です。また、2つのシンプルな設定変数とキーバインドを設定するだけで、あなたをデスクトップのマスターたらしめる、設定に匹敵する素晴らしいクライアントを実装しています。 |
||
+ | * あなたのテーマ.{{ic|theme.lua}}: {{bc|<nowiki> |
||
− | ===スペースインベーダー=== |
||
+ | -- absolute path |
||
− | [http://awesome.naquadah.org/wiki/Space_Invaders Space Invaders] は Awesome Lua API の可能性を示すためのデモです。 |
||
+ | theme.wallpaper = "/path/to/wallpaper.png" |
||
+ | -- relative to your themes directory |
||
− | 3.4-rc1 リリースからの Awesome パッケージには含まれていません。 |
||
+ | theme.wallpaper = theme_path .. "path/to/wallpaper.png" |
||
+ | </nowiki>}} |
||
+ | * または、{{ic|rc.lua}} 内、{{ic|Beautiful.init}} と {{ic|local function set_wallpaper}} の間のどこか: {{bc|<nowiki> |
||
+ | -- absolute path |
||
+ | beautiful.wallpaper = "/path/to/wallpaper.png" |
||
+ | -- 設定ディレクトリからの相対パス |
||
− | ===Naughty ポップアップ通知=== |
||
+ | beautiful.wallpaper = awful.util.get_configuration_dir() .. "path/to/wallpaper.png" |
||
− | [http://awesome.naquadah.org/wiki/Naughty naughty についての awesome wiki ページ]を見て下さい。 |
||
+ | </nowiki>}} |
||
+ | 背景画像をランダムに表示するには、{{ic|rc.lua}} に [https://gist.github.com/anonymous/37f3b1c58d6616cab756] を追加します。(v3.5+) 指定したディレクトリから自動的に画像を取得するには、代わりに[https://gist.github.com/andreymal/500b96c3c9e63944007d4b9bd5c34e2e] を使用します。 |
||
− | ===ポップアップメニュー=== |
||
− | awesome3 ではデフォルトでシンプルなメニューがありますが、メニューをカスタマイズすることも簡単にできます。ただし、あなたが 2.x の awesome を使っている場合は、[http://awesome.naquadah.org/wiki/Awful.menu awful.menu] を見てください。 |
||
+ | == ヒントとテクニック == |
||
− | freedesktop.org メニューが作りたいのなら、[https://github.com/copycat-killer/awesome-freedesktop awesome-freedesktop] を見てください。 |
||
+ | === wibox を表示・隠す=== |
||
− | サンプル: |
||
− | {{bc|1= |
||
− | 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 } |
||
− | } |
||
+ | awesome 4.0 の場合: |
||
− | mycommons = { |
||
− | { "pidgin", "pidgin" }, |
||
− | { "OpenOffice", "soffice-dev" }, |
||
− | { "Graphic", "gimp" } |
||
− | } |
||
− | + | awful.key({ modkey }, "b", |
|
+ | function () |
||
− | { "terminal", terminal }, |
||
− | + | myscreen = awful.screen.focused() |
|
− | + | myscreen.mywibox.visible = not myscreen.mywibox.visible |
|
+ | end, |
||
− | { "File Manager", "pcmanfm" }, |
||
+ | {description = "toggle statusbar"} |
||
− | { "VirtualBox", "VirtualBox" }, |
||
+ | ), |
||
− | { "Common App", mycommons, beautiful.awesome_icon }, |
||
− | { "awesome", myawesomemenu, beautiful.awesome_icon } |
||
− | } |
||
− | }) |
||
− | }} |
||
+ | ModKey が押されている間のみ Wibox を表示する (または他のアクションを実行する) ことは、awesome 内からは不可能ですが、それを行う Python スクリプトがあります: [https://github.com/grandchild/autohidewibox autohidewibox] |
||
− | ===awesome のウィジェット=== |
||
− | ''awesome において、ウィジェットとはウィジェットボックス (ステータスバーやタイトルバー) に追加することができるオブジェクトのことであり、システムに関する様々な情報を表示できます。ウィンドウマネージャから情報を読むのに便利です。ウィジェットは簡単に使うことが可能でありながら柔軟性があります。'' -- ソース [http://awesome.naquadah.org/wiki/Widgets_in_awesome Awesome Wiki: Widgets]. |
||
+ | === スクリーンショット === |
||
− | '''Wicked''' と呼ばれる広く使われているウィジェットライブラリがあり、MPD ウィジェット、CPU 使用量、メモリ使用量などの多くのウィジェットを提供します。詳しくは [http://awesome.naquadah.org/wiki/Wicked Wicked page] を見て下さい。 |
||
+ | {{ic|PrtSc}} ボタンが正しく割り当てられていることを確認するには、[[キーボード入力]] を参照してください。次に、[[スクリーンキャプチャ#scrot|scrot]] などの [[スクリーンキャプチャ|スクリーンキャプチャプログラム]] をインストールします。 |
||
− | awesome v3.4 で Wicked の代わりになるものとしては '''[http://awesome.naquadah.org/wiki/Vicious Vicious]''', '''[http://awesome.naquadah.org/wiki/Obvious Obvious]''', '''[http://awesome.naquadah.org/wiki/Bashets Bashets]''' などがあります。vicious を使うのなら、[http://git.sysphere.org/vicious/tree/README vicious documentation] も見るといいでしょう。 |
||
+ | |||
+ | {{ic|globalkeys}} 配列に以下を追加します: |
||
+ | |||
+ | awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'", false) end), |
||
+ | |||
+ | この関数はスクリーンショットを {{ic|~/screenshots/}} 内に保存します、必要に応じて編集して下さい。 |
||
+ | |||
+ | === ウィンドウのギャップを無くす === |
||
+ | |||
+ | awesome 3.4 では、ウィンドウ間の小さなギャップを取り除くことが可能です。''awful.rules.rules'' テーブルには ''properties'' セクションがあるので、それに追加します。 |
||
+ | |||
+ | size_hints_honor = false |
||
===透過=== |
===透過=== |
||
+ | |||
[[Xorg#コンポジット]]を見て下さい。 |
[[Xorg#コンポジット]]を見て下さい。 |
||
280行目: | 282行目: | ||
"AA" が透明度になります。 |
"AA" が透明度になります。 |
||
− | {{ic|Modkey + PgUp/PgDown}} によって選択されたウィンドウの透明度を変更するために、community パッケージリポジトリにある {{ |
+ | {{ic|Modkey + PgUp/PgDown}} によって選択されたウィンドウの透明度を変更するために、community パッケージリポジトリにある {{AUR|transset-df}} を使って、以下のように {{ic|rc.lua}} を修正することもできます: |
globalkeys = awful.util.table.join( |
globalkeys = awful.util.table.join( |
||
295行目: | 297行目: | ||
) |
) |
||
− | + | === Widget の間隔 === |
|
− | imagemagick の ''display'' コマンドで壁紙を設定すると問題が起こるかもしれません、xcompmgr との互換性に問題があるためです。awsetbg に ''display'' を使うのは他のオプションを設定していないときだけにしましょう。habak, feh, hsetroot などの代わりのプログラムをインストールしてください (''grep -A 1 wpsetters /usr/bin/awsetbg'' で他のオプションが見れます)。 |
||
+ | デフォルトの {{ic|rc.lua}} は、キーボードレイアウトや時計を含むウィジェットを Wibox 内にわずかな間隔で配置します。{{ic|spacing}} プロパティを使用して、ウィジェット間に余分な間隔を追加することができます。 |
||
− | ===Autorun プログラム=== |
||
+ | { -- Right widgets |
||
− | プログラムを自動実行するには、以下のコマンドでシェルスクリプトを作成してください: |
||
+ | layout = wibox.layout.fixed.horizontal, |
||
− | $ touch ~/.config/awesome/autorun.sh |
||
+ | spacing = 10, |
||
− | そして以下のコマンドで実行可能属性を付与してください: |
||
+ | mykeyboardlayout, |
||
− | $ chmod +x ~/.config/awesome/autorun.sh |
||
+ | ... |
||
− | エディタで {{ic|autorun.sh}} を開いて以下の行を書き込みます: |
||
− | {{hc|head=.config/awesome/autorun.sh|output= |
||
− | #!/usr/bin/env bash |
||
+ | === ImageMagick === |
||
− | function run { |
||
− | if ! pgrep $1 ; |
||
− | then |
||
− | $@& |
||
− | fi |
||
− | } |
||
− | }} |
||
+ | imagemagick の ''display'' コマンドで壁紙を設定すると問題が起こるかもしれません、xcompmgr との互換性に問題があるためです。awsetbg に ''display'' を使うのは他のオプションを設定していないときだけにしましょう。habak, feh, hsetroot などの代わりのプログラムをインストールしてください (''grep -A 1 wpsetters /usr/bin/awsetbg'' で他のオプションが見れます)。 |
||
− | {{ic|autorun.sh}} に {{ic|run program [some arguments]}} を追加することで自動実行するプログラムを追加することができます。{{ic|run}} 関数は {{ic|program}} のインスタンスが実行されていないか確認して、インスタンスが存在しない場合のみ {{ic|program}} を起動します。{{ic|autorun.sh}} を確認するには: |
||
+ | === テキストを awesome-client を使ってウィジェットに渡す === |
||
− | $ ~/.config/awesome/autorun.sh |
||
− | |||
− | 問題がなければ、以下の行を {{ic|rc.lua}} に追加してください: |
||
− | |||
− | {{hc|head=.config/awesome/rc.lua|output= |
||
− | ... |
||
− | awful.spawn.with_shell("~/.config/awesome/autorun.sh") |
||
− | ... |
||
− | }} |
||
− | |||
− | [[自動起動]]も参照。 |
||
− | |||
− | ===テキストを awesome-client を使ってウィジェットに渡す=== |
||
簡単に awesome ウィジェットにテキストを送ることができます。次のように新しいウィジェットを作ります: |
簡単に awesome ウィジェットにテキストを送ることができます。次のように新しいウィジェットを作ります: |
||
343行目: | 324行目: | ||
ウィジェットを wibox に追加するのを忘れないで下さい。 |
ウィジェットを wibox に追加するのを忘れないで下さい。 |
||
− | ===awesome のデフォルトと違うパネルを使う=== |
+ | === awesome のデフォルトと違うパネルを使う === |
− | あなたが awesome の軽量性と機能性を |
+ | あなたが awesome の軽量性と機能性を気に入っているが、そのデフォルトのパネルの見た目が気に入らないときは、{{Pkg|xfce4-panel}} など異なるパネルをインストールできます。 |
+ | |||
+ | インストールしたら {{ic|rc.lua}} の [[#Autorun プログラム|autorun]] セクションに追加してください (方法は割愛) 画面ごとに wibox を作成しているセクション ({{ic|1=mywibox[s] = awful.wibox({ position = "top", screen = s })}} から始まっているところ) をコメントアウトすることもできますが、特にその必要はありません。ただし次を実行して {{ic|rc.lua}} にエラーがないかチェックすることは忘れずに行って下さい: |
||
− | インストールしたら {{ic|rc.lua}} の [[#Autorun プログラム|autorun]] セクションに追加してください(方法は割愛)。画面ごとに wibox を作成しているセクション ({{ic|1=mywibox[s] = awful.wibox({ position = "top", screen = s })}} から始まっているところ) をコメントアウトすることもできますが、特にその必要はありません。ただし次を実行して rc.lua にエラーがないかチェックすることは忘れずに行って下さい: |
||
$ awesome -k rc.lua |
$ awesome -k rc.lua |
||
+ | |||
− | また、ビルトインでないアプリケーションランチャー、Xfrun4 や bashrun などを起動するために、{{ic|''modkey''+R}} キーバインドを変えておくべきでしょう。[[Openbox]] のページのアプリケーションランチャーのところに例が載っています。{{ic|rc.lua}} に以下を追加するのを忘れないで下さい: |
||
+ | また、組み込みの awesome のランチャーの代わりに他のアプリケーションランチャーを起動するには、{{ic|''modkey''+R}} キーバインドを変更する必要があります。例については、[[アプリケーション一覧#アプリケーションランチャー]] を参照してください。また以下を忘れずに追加してください。 |
||
+ | |||
{{bc|<nowiki> |
{{bc|<nowiki> |
||
properties = { floating = true } }, |
properties = { floating = true } }, |
||
355行目: | 339行目: | ||
</nowiki>}} |
</nowiki>}} |
||
+ | {{ic|rc.lua}} にコピーします。 |
||
− | ===マウススクロールがタグを変えるのを防ぐ=== |
||
+ | |||
− | rc.lua の Mouse Bindings セクションを次のように変更してください: |
||
+ | === メニューバーのアプリケーションディレクトリ === |
||
− | -- {{{ Mouse bindings |
||
+ | |||
− | root.buttons(awful.util.table.join( |
||
+ | {{Pkg|awesome}} には [https://awesomewm.org/apidoc/popups_and_bars/menubar.html メニューバー] が含まれます。デフォルトでは、{{ic|''Mod''+p}} を押すと、画面上部に dmenu のようなアプリケーションメニューが開きます。このメニューは、{{ic|$XDG_DATA_DIRS/applications/}} および {{ic|$XDG_DATA_HOME/applications/}} にある {{ic|.desktop}} ファイルを検索します。 |
||
− | awful.button({ }, 3, function () mymainmenu:toggle() end))) |
||
+ | |||
− | -- }}} |
||
+ | {{ic|menubar.menu_gen.all_menu_dirs}} を変更することで、これらのディレクトリを拡張または置換できます: |
||
+ | |||
+ | {{hc|~/.config/awesome/rc.lua|2= |
||
+ | table.insert(menubar.menu_gen.all_menu_dirs, "/path/to/custom/applications/") |
||
+ | }} |
||
+ | |||
+ | {ic|.desktop}} ファイルは awesome が起動するたびに再読み込みされるため、起動が遅くなることに注意してください。プログラムを起動する他の手段を好む場合、{{ic|1=local menubar = require("menubar")}} や{{ic|menubar}} 変数への参照を削除することで、{{ic|rc.lua}} でメニューバーを無効にすることができます。 |
||
+ | |||
+ | === ポップアップメニュー === |
||
+ | |||
+ | awesome 3 以降、デフォルトでシンプルなメニューがあり、カスタムメニューを簡素化しています。[https://awesomewm.org/doc/api/libraries/awful.menu.html] freedesktop.org のメニューが欲しければ、"[https://github.com/copycat-killer/awesome-freedesktop awesome-freedesktop]" を見てください。 |
||
+ | |||
+ | awesome アイコンをクリックするか、デスクトップの空いている領域を右クリックするときに外部アプリケーションメニューを使用したい場合は、[[Xdg-menu#Awesome]] の手順に従ってください。ただし、プログラムを追加または削除しても、このメニューは更新されません。したがって、必ずコマンドを実行してメニューを更新してください。次のようになります: |
||
+ | |||
+ | $ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua |
||
+ | |||
+ | === タイトルバー === |
||
+ | |||
+ | 設定ファイルで変数 titlebars_enabled を true に設定するだけで、awesome でタイトルバーを有効にするのは簡単です。(ルールエリア内) |
||
+ | |||
+ | { rule_any = {type = { "normal", "dialog" } |
||
+ | }, properties = { titlebars_enabled = true } |
||
+ | }, |
||
+ | |||
+ | しかし、タイトルバーのオン・オフを切り替えたい場合もあるでしょう。その場合は、以下のようなコードをキーバインドに追加してください: (このコードは clientkeys エリアの最後には書かないでください) |
||
+ | |||
+ | -- working toggle titlebar |
||
+ | awful.key({ modkey, "Control" }, "t", function (c) awful.titlebar.toggle(c) end, |
||
+ | {description = "Show/Hide Titlebars", group="client"}), |
||
+ | |||
+ | 最初にタイトルバーを非表示にしたい場合。タイトルバーが作成された直後 ("manage" signal handler の中) に、次のように追加して下さい: |
||
+ | |||
+ | awful.titlebar.hide(c) |
||
+ | |||
+ | === バッテリー通知 === |
||
+ | |||
+ | {{ic|rc.lua}} に追加する簡単なバッテリー通知については、[https://bpdp.blogspot.be/2013/06/battery-warning-notification-for.html このブログ投稿] を参照してください。通知には ''naughty'' が必要であることに注意してください (バージョン 3.5 ではデフォルトでインストールされます) 他の例は [https://awesomewm.org/recipes/awesome wiki] で入手できます。 |
||
=== メディアコントロール === |
=== メディアコントロール === |
||
386行目: | 407行目: | ||
awful.util.spawn("playerctl previous", false) |
awful.util.spawn("playerctl previous", false) |
||
end) |
end) |
||
+ | |||
+ | === Steam キーボード === |
||
+ | |||
+ | [[ゲームパッド#Steam コントローラー|Steam コントローラ]]から使用することができるオンスクリーンの Steam キーボードで文字を入力したときにフリーズすることがあります。入力を受け取るにはクライアントにフォーカスがあたっている必要があり、入力が正しく送信されるまでキーボードが待機するためです。手動で他のクライアントにフォーカスをあてるとそのクライアントに入力が送信され、次の文字が入力されるまでキーボードはフリーズした状態になります。 |
||
+ | |||
+ | 他のクライアントにフォーカスが移らないようにすることでキーボードを正しく動作させることができます。設定に以下のシグナルを追加してください (あるいは既存のクライアントのフォーカスシグナルに追記してください): |
||
+ | |||
+ | client.connect_signal("focus", function(c) |
||
+ | if awful.rules.match(c, { name = "^Steam Keyboard$" }) then |
||
+ | awful.client.focus.history.previous() |
||
+ | end |
||
+ | end) |
||
+ | |||
+ | 上記のように設定することでキーボードがフォーカスを受け取ったときに最後のクライアントにフォーカスが移るようになります。キーボード入力は [[Steam]] クライアントによって処理されフォーカスは必要ないため、テキストの入力は問題なく行うことができます。 |
||
==トラブルシューティング== |
==トラブルシューティング== |
||
− | === |
+ | === rc.lua をデバッグする === |
− | デスクトップを壊 |
+ | [Xephyr]] を使うと、他の X のクライアントウィンドウの中で X をネストして実行することができます。これにより、現在のデスクトップを壊すことなく {{ic|rc.lua}} をデバッグすることができます。まず、{{ic|rc.lua}} を新しいファイル (例えば {{ic|rc.lua.new}}) にコピーし、必要に応じて変更します。次に、Xephyr で awesome の新しいインスタンスを実行し、設定ファイルとして {{ic|rc.lua.new}} を以下のように指定します: |
$ Xephyr :1 -ac -br -noreset -screen 1152x720 & |
$ Xephyr :1 -ac -br -noreset -screen 1152x720 & |
||
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new |
$ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new |
||
− | このアプローチの |
+ | このアプローチの利点は、バグが発生した場合でも、現在の awesome デスクトップを壊すことがなく、X アプリケーションがクラッシュして作業が失われる可能性がないことです。新しい設定に満足したら、{{ic|rc.lua.new}} を {{ic|rc.lua}} にコピーして、awesome を再起動します。 |
+ | |||
+ | ==== 自動リロード ==== |
||
+ | |||
+ | 上記の方法に加えて、{{pkg|inotify-tools}} を使うことで、{{ic|~/.config/awesome}} ディレクトリ内の設定ファイルを更新した際に、自動的に [[Xephyr]] 内の Awesome インスタンスをリロードすることができます: |
||
+ | |||
+ | #!/usr/bin/env bash |
||
+ | |||
+ | Xephyr :1 -ac -br -noreset -screen 1920x1080 -dpi 96 & |
||
+ | sleep 1 |
||
+ | DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new & |
||
+ | instance=$! |
||
+ | |||
+ | while inotifywait -r -e close_write ~/.config/awesome; do |
||
+ | kill -s SIGHUP $instance |
||
+ | done |
||
+ | |||
+ | ==== awmtt ==== |
||
+ | |||
+ | {{AUR|awmtt}} (Awesome WM Testing Tool) は Xephyr の使いやすいラッパースクリプトです。デフォルトでは {{ic|~/.config/awesome/rc.lua.test}} を使用します。テストファイルが見つからない場合は、実際の {{ic|rc.lua}} を使用します。テストしたい設定ファイルの場所を指定することもできます: |
||
+ | |||
+ | $ awmtt start -C ~/.config/awesome/rc.lua.new |
||
+ | |||
+ | テストが完了したら、次のコマンドを実行してウィンドウを閉じます: |
||
+ | |||
+ | $ awmtt stop |
||
+ | |||
+ | または、次のコマンドを実行して、設定ファイルに加えた変更をすぐに確認します: |
||
+ | |||
+ | $ awmtt restart |
||
+ | |||
+ | ==== aawmtt ==== |
||
+ | |||
+ | {{AUR|aawmtt}} (別の awesome WM テストツール) は、{{AUR|awmtt}} の代替実装であり、デフォルトで Live-Reload が含まれています。 |
||
+ | これは [https://github.com/basaran/awmtt-ng awmtt-ng] に似ていますが、awmtt-ng を備えた一部のマシンでは機能しない XOrg ディスプレイ検出に対するいくつかの修正が含まれています。 |
||
+ | 最初にテストファイルを実行しようとせず、デフォルトの設定を実行するだけであるという点で awmtt とは異なります。 |
||
+ | |||
+ | Xephyrのウィンドウを開き、awesome を読み込む: |
||
+ | |||
+ | $ aawmtt |
||
+ | |||
+ | これで、awesome の出力がターミナルに出力され、設定フォルダー内のファイルを変更すると、awesomewm がリロードされます。 |
||
+ | |||
+ | ファイルの変更を監視するディレクトリ、または設定ファイルの場所を変更する場合は、次のコマンドを実行します: |
||
+ | |||
+ | $ aawmtt --config "location_of_config_file" --watch "directory_to_watch_for_changes" |
||
+ | 変更が監視されるディレクトリはデフォルトで設定ファイルの親ディレクトリになるため、デフォルトでは "~/.config/awesome" になります。 |
||
− | 2011年7月現在、以上のことは {{AUR|awmtt}} でも可能です。 |
||
=== ログファイル === |
=== ログファイル === |
||
− | [[LightDM]] を使っている場合、awesome はエラーのログを {{ic|$HOME/.xsession-errors}} に出力します。{{ic|.xinitrc}} を使って awesome を起動している場合、[ |
+ | [[LightDM]] を使っている場合、awesome はエラーのログを {{ic|$HOME/.xsession-errors}} に出力します。{{ic|.xinitrc}} を使って awesome を起動している場合、[https://awesomewm.org/apidoc/documentation/90-FAQ.md.html FAQ のエントリ] の "Where are logs, error messages or something?" が参考になるはずです。 |
− | ===Mod4 キー=== |
+ | === Mod4 キー === |
− | Awesome は {{ic|mod4}} を |
+ | Awesome は {{ic|mod4}} を再マップすることを推奨しており、デフォルトでは {{ic|Super}} または "Windows" キーになっているはずです。何らかの理由で {{ic|mod4}} にマッピングされていない場合は、[[xmodmap]] を使ってマッピングを調べてください。マッピングを変更するには、{{ic|xev}} を使ってマッピングするキーのキーコードと名前を探します。そして、{{ic|~/.xinitrc}} に以下のような内容を追加します。 |
xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L" |
xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L" |
||
exec awesome |
exec awesome |
||
− | こ |
+ | この場合の問題は、一部の xorg インストールではキーコード 115 が認識されるものの、誤って ''選択'' キーとして認識されることです。上記のコマンドは、キーコード 115 を正しい 'Super_L' キーに明示的に再マップします。 |
+ | {{ic|mod4}} を {{ic|setxkbmap}} で再マップするには ({{ic|xmodmap}} と競合) を参照してください: |
||
− | ====Mod4 キー vs. IBM ThinkPad==== |
||
+ | tail -50 /usr/share/X11/xkb/rules/evdev |
||
− | IBM ThinkPad には Windows キーがありません (Lenovo は ThinkPad のこの伝統を変えたみたいですが)。これを書いている時点で、デフォルトの rc.lua では Alt キーはコマンドのコンビネーションとしては使われていません、したがって Alt キーを Super/Mod4/Win キーの代わりとして使うことができます。これをするには、rc.lua を編集して: |
||
+ | Caps Lock キーを {{ic|mod4}} として設定するには、以下を {{ic|~/.xinitrc}} に追加します: |
||
− | modkey = "Mod4" |
||
+ | setxkbmap -option caps:hyper |
||
− | を次のように変えて下さい: |
||
+ | === Java を修正 (GUI がグレーのみ表示される) === |
||
− | modkey = "Mod1" |
||
+ | [[Java#灰色のウィンドウ、ウィンドウマネージャでアプリがリサイズされない、メニューがすぐに閉じる]] および [https://bbs.archlinux.org/viewtopic.php?pid=450870] を参照してください。 |
||
− | Note: Awesome には Mod4 とシングルレターを使うコマンドが少しだけあります。Mod4 を Mod1/Alt に変えるとキーコンビネーションが重複してしまうかもしれません。そうならないように rc.lua ファイルを修正する必要があるかもしれません。 |
||
+ | === Eclipse: メインウィンドウをリサイズ・移動できない === |
||
− | awesome の標準を変えたくないならば、キーをリマップをするという方法もあります。例えば、caps lock キーをあまり使わないなら、以下を ~/.Xmodmap に加えます |
||
+ | (mod4 + 右・左クリックを使って)メインウィンドウが移動・リサイズできない場合、workbench.xml を編集して fullscreen/maximized を false に設定し、幅と高さの数字をデスクトップ画面の大きさよりも小さくしてください。 |
||
− | clear lock |
||
− | add mod4 = Caps_Lock |
||
+ | {{ic|workbench.xml}} は、{{ic|''eclipse_workspace''/.metadata/.plugins/org.eclipse.ui.workbench/}} にあります。次の行を編集します。 |
||
− | そしてこのファイルを[[Xmodmap#カスタムテーブル|(リ)ロードしてください]]。 |
||
− | これで caps lock キーが mod4 キーになり、標準の awesome 設定でもうまく動くでしょう。さらに、他の X プログラムでも同じように mod4 キーが使えるはずです。 |
||
+ | <window height="xx" maximized="true" width="xx" x="xx" y="xx" |
||
− | 未確認ですが、最近の xorg のパッケージのアップデートで二行目のマッピングが破壊されるときは以下のように置き換えることができます (レフト Super キーのない DasKeyboard で検証): |
||
+ | === Netbeans: コード予測が間違ったスクリーンに表示される === |
||
− | keysym Caps_Lock = Super_L Caps_Lock |
||
+ | ディスプレイをふたつ使っていて [[Netbeans]] でコード予測 (Ctrl + Space) を使用したときに、誤ったディスプレイのほうにコード予測が表示されることがあります。解決するには: |
||
− | ===Eclipse: メインウィンドウをリサイズ・移動できない=== |
||
+ | {{hc|head=.config/awesome/rc.lua|output= |
||
− | (mod4 + 右・左クリックを使って)メインウィンドウが移動・リサイズできない場合、workbench.xml を編集して fullscreen/maximized を false に設定し、幅と高さの数字をデスクトップ画面の大きさよりも小さくしてください。 |
||
+ | awful.rules.rules = { |
||
− | {{Note|workbench.xml は <eclipse_workspace>/.metadata/.plugins/org.eclipse.ui.workbench/ にあり、編集する行は <window height="xx" maximized="true" width="xx" x="xx" y="xx"> です。}} |
||
+ | ... |
||
+ | { |
||
+ | rule_matches = { -- Fix Netbeans |
||
+ | class = { |
||
+ | "sun-awt-X11-XWindowPeer", "NetBeans IDE 8.2" |
||
+ | }, |
||
+ | name = { |
||
+ | "win1" |
||
+ | } |
||
+ | }, properties = { screen = 1 } -- even with screen 1 here, this still works on the seccond screen, too (don't know why). |
||
+ | }, |
||
+ | ... |
||
+ | |||
+ | } |
||
+ | }} |
||
+ | |||
+ | === IntelliJ: メニューが間違った位置に表示されたりウィンドウが開かない === |
||
+ | |||
+ | [https://github.com/awesomeWM/awesome/issues/2204 GitHub issue #2204] を見てください。 |
||
+ | |||
+ | 解決方法: |
||
+ | {{hc|head=.config/awesome/rc.lua|output= |
||
+ | clientbuttons_jetbrains = gears.table.join( |
||
+ | awful.button({ modkey }, 1, awful.mouse.client.move), |
||
+ | awful.button({ modkey }, 3, awful.mouse.client.resize) |
||
+ | ) |
||
+ | |||
+ | ... |
||
+ | |||
+ | awful.rules.rules = { |
||
+ | ... |
||
+ | { |
||
+ | rule = { |
||
+ | class = "jetbrains-.*", |
||
+ | }, properties = { focus = true, buttons = clientbuttons_jetbrains } |
||
+ | }, |
||
+ | { |
||
+ | rule = { |
||
+ | class = "jetbrains-.*", |
||
+ | name = "win.*" |
||
+ | }, properties = { titlebars_enabled = false, focusable = false, focus = true, floating = true, placement = awful.placement.restore } |
||
+ | }, |
||
+ | ... |
||
+ | } |
||
+ | }} |
||
=== scrot: キーボードショートカットを使ってマウスで選択した範囲のスクリーンショットが取れない === |
=== scrot: キーボードショートカットを使ってマウスで選択した範囲のスクリーンショットが取れない === |
||
447行目: | 570行目: | ||
awful.key( { modkey, }, <shortcut>, function () awful.util.spawn_with_shell("sleep 0.5 && scrot -s") end) |
awful.key( { modkey, }, <shortcut>, function () awful.util.spawn_with_shell("sleep 0.5 && scrot -s") end) |
||
− | ===YouTube: |
+ | === YouTube: バックグラウンドで全画面表示される === |
− | [https://bbs.archlinux.org/viewtopic.php?pid=1085494#p1085494] フルスクリーンモードにするとビデオがウェブブラウザの下に表示される場合、rc.lua に以下を追加してください |
||
+ | フルスクリーンモードで YouTube ビデオが Web ブラウザのバックグラウンドで表示される場合、またはコントロールが非表示になっている場合は、これを {{ic|rc.lua}} に追加します。 |
||
− | { rule = { instance = "plugin-container" }, |
||
− | properties = { floating = true } }, |
||
+ | { rule = { instance = "plugin-container" }, |
||
− | Chromium には |
||
+ | properties = { floating = true } }, |
||
+ | Chromium に追加 |
||
− | { rule = { instance = "exe" }, |
||
− | properties = { floating = true } }, |
||
+ | { rule = { instance = "exe" }, |
||
− | ===コンソールクライアントを起動する=== |
||
+ | properties = { floating = true } }, |
||
− | GTK ターミナル (例: LXTerminal) から呼び出されたコンソールアプリケーションは動作しません。[[URxvt]] は動作します。 |
||
+ | もしくは: |
||
− | ===コンソール出力をファイルに書き出す=== |
||
− | 端末から GUI アプリケーションを起動すると、アプリケーションによっては端末に大変多くのデータを表示することがあります。結果として、Awesome から起動すると、全てを Awesome が起動している TTY に出力することになり、端末が汚くなることが多々あります。こういったゴミ・アウトプットを削除するには、リダイレクトさせなくてはなりません。しかし、[http://awesome.naquadah.org/wiki/FAQ#How_to_execute_a_shell_command.3F 公式 FAQ] で書かれているように {{ic|awful.util.spawn}} はパイプとリダイレクトをあまりうまく扱えません。 |
||
+ | { rule = { role = "_NET_WM_STATE_FULLSCREEN" }, |
||
− | 例として、[[Luakit]] の出力をテンポラリファイルにリダイレクトしてみましょう: |
||
+ | properties = { floating = true } }, |
||
+ | こちらも参照 [https://bbs.archlinux.org/viewtopic.php?pid=1085494#p1085494] |
||
− | awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("luakit 2>>/tmp/luakit.log") end), |
||
+ | |||
+ | === マウスのスクロールホイールでタグが変更されないようにする === |
||
+ | |||
+ | {{ic|rc.lua}} で、Mouse Bindings セクションを次のように変更します: |
||
+ | |||
+ | -- {{{ Mouse bindings |
||
+ | root.buttons(gears.table.join( |
||
+ | awful.button({ }, 3, function () mymainmenu:toggle() end) |
||
+ | )) |
||
+ | -- }}} |
||
=== Xdg-menu によって生成されるメニューエントリが重複する === |
=== Xdg-menu によって生成されるメニューエントリが重複する === |
||
475行目: | 606行目: | ||
=== Xfce4 で一部のショートカットキーが機能しない === |
=== Xfce4 で一部のショートカットキーが機能しない === |
||
+ | |||
以下のコマンドを実行して、"Super L" などの Awesome によって実行されるキーが重なっていないか確認してください: |
以下のコマンドを実行して、"Super L" などの Awesome によって実行されるキーが重なっていないか確認してください: |
||
$ xfce4-keyboard-settings |
$ xfce4-keyboard-settings |
||
+ | |||
+ | === メモリリーク === |
||
+ | |||
+ | [https://github.com/awesomeWM/awesome/issues/2798 メモリリーク] が発生します。多くのウィジェットを使用している場合、最大5MB/分の速度でメモリリークが発生する可能性があります。これを軽減するには、{{ic|~/.config/awesome/rc.lua}} にこれを追加することで、より頻繁なガベージコレクションを強制することができます: |
||
+ | |||
+ | -- Run garbage collector regularly to prevent memory leaks |
||
+ | gears.timer { |
||
+ | timeout = 30, |
||
+ | autostart = true, |
||
+ | callback = function() collectgarbage() end |
||
+ | } |
||
==参照== |
==参照== |
2023年11月21日 (火) 18:02時点における最新版
awesome のウェブサイト より:
- awesome は高度に設定可能な、次世代の X フレームワークウィンドウマネージャです。高速に動作し、拡張しやすく、GNU GPLv2 ライセンスを使っています。awesome はパワーユーザーや開発者など、日常的に PC を使い、きめ細かいグラフィカル環境を求めている全ての人をターゲットにしています。
目次
- 1 インストール
- 2 起動
- 3 設定
- 4 ヒントとテクニック
- 5 トラブルシューティング
- 5.1 rc.lua をデバッグする
- 5.2 ログファイル
- 5.3 Mod4 キー
- 5.4 Java を修正 (GUI がグレーのみ表示される)
- 5.5 Eclipse: メインウィンドウをリサイズ・移動できない
- 5.6 Netbeans: コード予測が間違ったスクリーンに表示される
- 5.7 IntelliJ: メニューが間違った位置に表示されたりウィンドウが開かない
- 5.8 scrot: キーボードショートカットを使ってマウスで選択した範囲のスクリーンショットが取れない
- 5.9 YouTube: バックグラウンドで全画面表示される
- 5.10 マウスのスクロールホイールでタグが変更されないようにする
- 5.11 Xdg-menu によって生成されるメニューエントリが重複する
- 5.12 Xfce4 で一部のショートカットキーが機能しない
- 5.13 メモリリーク
- 6 参照
インストール
awesome パッケージをインストールしてください。開発版を使うには、AUR の awesome-gitAUR をインストールしてください。開発版は不安定で、設定 API が異なっている可能性があります。
起動
xinit を使用して awesome
を実行します。付属の xsession ファイルを使用するには、ディスプレイマネージャ を参照してください。
GNOME を使用する
GNOME をセットアップして、awesome をビジュアルインターフェイスとして使用し、GNOME をバックグラウンドで動作させることができます。awesome-gnomeAUR を参照してください。
XFCE
Xfce#別のウィンドウマネージャを使う を見てください。
設定
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 のドキュメントの設定セクション を見て下さい。
設定のサンプル
rc.lua のサンプルは以下にあります:
拡張
awesome にはいくつか拡張が存在します:
拡張 | 機能性 | バージョン |
---|---|---|
開いているすべてのクライアントのビューを表示する | Awesome 3.5+ | |
動的タグ付け | Awesome 3.5 | |
ポップアップ通知 | Awesome 3.5+ | |
追加 ウィジェット | Awesome 3.5 |
自動実行
XDG Autostart 仕様を実装するには、xorg-xrdb と dex をインストールし、次の行を ~/.config/awesome/rc.lua
に追加します:
~/.config/awesome/rc.lua
awful.spawn.with_shell( 'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' .. 'xrdb -merge <<< "awesome.started:true";' .. -- list each of your autostart commands, followed by ; inside single quotes, followed by .. 'dex --environment Awesome --autostart' )
あるいは、autorun.sh
を 作成 して以下を挿入し実行します:
~/.config/awesome/autorun.sh
#!/bin/sh run() { if ! pgrep -f "$1" ; then "$@"& fi }
次に、それを 実行可能 にします。
自動起動するプログラムを追加するには、run "program [some argument]"
を autorun.sh
に追加するだけです。run
関数は、同じ引数を持つ program
のインスタンスがすでに存在するかどうかを確認し、存在しない場合にのみ program
を実行します。autorun.sh
を実行して確認できます。
$ ~/.config/awesome/autorun.sh
すべて問題なければ、次の行を rc.lua
に追加します:
~/.config/awesome/rc.lua
awful.spawn.with_shell("~/.config/awesome/autorun.sh")
キーボードレイアウトの変更
キーボードレイヤーを設定するには複数の方法があります。
setxkbmap キーボードレイアウトの方法
awesome のデフォルト設定では、レイアウトウィジェットがすでに有効化されています。
複数のレイヤーを一時的に設定するには、次を実行します。
$ setxkbmap -layout "us,de"
ウィジェットをクリックすると、レイアウトが切り替わります。キーコンボでレイアウトを変更したい場合は、-option "grp:alt_shift_toggle"
を追加します。たとえば、Shift+Alt
を押してレイアウトを変更できるようになります。完全なコマンドは次のようになります:
$ setxkbmap -layout "us,de" -option "grp:alt_shift_toggle"
EN および RU レイアウトを音声異体字で設定するには:
$ setxkbmap -model pc105 -option "grp:shifts_toggle,compose:sclk" "us,ru(phonetic_YAZHERTY)"
どこ
- 作成キーは "Scroll Lock"、言語切り替えは 左Shift+右Shift に設定されています。
- キーボードは 105 キーです
LightDM を使用してセッションを開始する場合は、上記のコマンドを .xprofile ファイルに追加します。
rc.lua キーボードレイアウトの方法 (v.4 以降)
awesome 自体を使用して切り替えることができます (v.4 から) Shift+Alt
を押してレイアウトを変更するには、次の 2 行を globalkeys
に追加します。
~/.config/awesome/rc.lua
-- {{{ Key bindings globalkeys = gears.table.join( -- ... awful.key({ "Shift" }, "Alt_L", function () mykeyboardlayout.next_layout(); end), awful.key({ "Mod1" }, "Shift_L", function () mykeyboardlayout.next_layout(); end) )
これには、setxkbmap コマンドまたは X 設定ファイルで切り替えられるキーボードレイアウトをセットアップする必要があります。
レイアウトを設定するための適切なコマンドを見つけたら、それを 自動起動 に追加します。
Xorg の方法
Xorg/キーボード設定 を参照してください。
テーマ
Beautiful という lua ライブラリを使うことで awesome にテーマを適用するのに外部ファイルを使うことができるようになります。rc.lua
を修正せずに動的に awesome のカラーや壁紙を変更できるためとても便利です。
デフォルトテーマは /usr/share/awesome/themes/default
にあります。それを ~/.config/awesome/themes/default
にコピーしてください。(オプションで全てコピーすることもできます)、rc.lua
を変更してください:
-- beautiful.init(gears.filesystem.get_configuration_dir() .. "/themes/default/theme.lua") local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), "default") beautiful.init(theme_path)
テーマオプションについては [1] を参照してください。例えばギャップを追加するには、rc.lua
のテーマセクションに以下を追加します:
beautiful.useless_gap = 5
rc.lua
のテーマセクションの下部にあります。
壁紙
Beautiful が壁紙を管理できるので、.xinitrc
や .xsession
などのファイルで壁紙を設定する必要はありません。またテーマごとに特定の壁紙を使うようにすることもできます。
壁紙を指定するには 2 つの方法があります:
- あなたのテーマ.
theme.lua
:-- absolute path theme.wallpaper = "/path/to/wallpaper.png" -- relative to your themes directory theme.wallpaper = theme_path .. "path/to/wallpaper.png"
- または、
rc.lua
内、Beautiful.init
とlocal function set_wallpaper
の間のどこか:-- absolute path beautiful.wallpaper = "/path/to/wallpaper.png" -- 設定ディレクトリからの相対パス beautiful.wallpaper = awful.util.get_configuration_dir() .. "path/to/wallpaper.png"
背景画像をランダムに表示するには、rc.lua
に [2] を追加します。(v3.5+) 指定したディレクトリから自動的に画像を取得するには、代わりに[3] を使用します。
ヒントとテクニック
wibox を表示・隠す
awesome 4.0 の場合:
awful.key({ modkey }, "b", function () myscreen = awful.screen.focused() myscreen.mywibox.visible = not myscreen.mywibox.visible end, {description = "toggle statusbar"} ),
ModKey が押されている間のみ Wibox を表示する (または他のアクションを実行する) ことは、awesome 内からは不可能ですが、それを行う Python スクリプトがあります: autohidewibox
スクリーンショット
PrtSc
ボタンが正しく割り当てられていることを確認するには、キーボード入力 を参照してください。次に、scrot などの スクリーンキャプチャプログラム をインストールします。
globalkeys
配列に以下を追加します:
awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/screenshots/ 2>/dev/null'", false) end),
この関数はスクリーンショットを ~/screenshots/
内に保存します、必要に応じて編集して下さい。
ウィンドウのギャップを無くす
awesome 3.4 では、ウィンドウ間の小さなギャップを取り除くことが可能です。awful.rules.rules テーブルには properties セクションがあるので、それに追加します。
size_hints_honor = false
透過
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-dfAUR を使って、以下のように 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 [...] )
Widget の間隔
デフォルトの rc.lua
は、キーボードレイアウトや時計を含むウィジェットを Wibox 内にわずかな間隔で配置します。spacing
プロパティを使用して、ウィジェット間に余分な間隔を追加することができます。
{ -- Right widgets layout = wibox.layout.fixed.horizontal, spacing = 10, mykeyboardlayout, ...
ImageMagick
imagemagick の display コマンドで壁紙を設定すると問題が起こるかもしれません、xcompmgr との互換性に問題があるためです。awsetbg に display を使うのは他のオプションを設定していないときだけにしましょう。habak, feh, hsetroot などの代わりのプログラムをインストールしてください (grep -A 1 wpsetters /usr/bin/awsetbg で他のオプションが見れます)。
テキストを 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
また、組み込みの awesome のランチャーの代わりに他のアプリケーションランチャーを起動するには、modkey+R
キーバインドを変更する必要があります。例については、アプリケーション一覧#アプリケーションランチャー を参照してください。また以下を忘れずに追加してください。
properties = { floating = true } }, { rule = { instance = "$yourapplicationlauncher" },
rc.lua
にコピーします。
メニューバーのアプリケーションディレクトリ
awesome には メニューバー が含まれます。デフォルトでは、Mod+p
を押すと、画面上部に dmenu のようなアプリケーションメニューが開きます。このメニューは、$XDG_DATA_DIRS/applications/
および $XDG_DATA_HOME/applications/
にある .desktop
ファイルを検索します。
menubar.menu_gen.all_menu_dirs
を変更することで、これらのディレクトリを拡張または置換できます:
~/.config/awesome/rc.lua
table.insert(menubar.menu_gen.all_menu_dirs, "/path/to/custom/applications/")
{ic|.desktop}} ファイルは awesome が起動するたびに再読み込みされるため、起動が遅くなることに注意してください。プログラムを起動する他の手段を好む場合、local menubar = require("menubar")
やmenubar
変数への参照を削除することで、rc.lua
でメニューバーを無効にすることができます。
ポップアップメニュー
awesome 3 以降、デフォルトでシンプルなメニューがあり、カスタムメニューを簡素化しています。[4] freedesktop.org のメニューが欲しければ、"awesome-freedesktop" を見てください。
awesome アイコンをクリックするか、デスクトップの空いている領域を右クリックするときに外部アプリケーションメニューを使用したい場合は、Xdg-menu#Awesome の手順に従ってください。ただし、プログラムを追加または削除しても、このメニューは更新されません。したがって、必ずコマンドを実行してメニューを更新してください。次のようになります:
$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua
タイトルバー
設定ファイルで変数 titlebars_enabled を true に設定するだけで、awesome でタイトルバーを有効にするのは簡単です。(ルールエリア内)
{ rule_any = {type = { "normal", "dialog" } }, properties = { titlebars_enabled = true } },
しかし、タイトルバーのオン・オフを切り替えたい場合もあるでしょう。その場合は、以下のようなコードをキーバインドに追加してください: (このコードは clientkeys エリアの最後には書かないでください)
-- working toggle titlebar awful.key({ modkey, "Control" }, "t", function (c) awful.titlebar.toggle(c) end, {description = "Show/Hide Titlebars", group="client"}),
最初にタイトルバーを非表示にしたい場合。タイトルバーが作成された直後 ("manage" signal handler の中) に、次のように追加して下さい:
awful.titlebar.hide(c)
バッテリー通知
rc.lua
に追加する簡単なバッテリー通知については、このブログ投稿 を参照してください。通知には naughty が必要であることに注意してください (バージョン 3.5 ではデフォルトでインストールされます) 他の例は wiki で入手できます。
メディアコントロール
(alsa-utils パッケージに含まれている) amixer と playerctl を組み合わせることでボリュームや再生をコントロールできます。rc.lua
設定ファイルのキーバインドセクションに以下を追加してください:
-- Volume Keys awful.key({}, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q -D pulse sset Master 5%-", false) end), awful.key({}, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q -D pulse sset Master 5%+", false) end), awful.key({}, "XF86AudioMute", function () awful.util.spawn("amixer -D pulse set Master 1+ toggle", false) end), -- Media Keys awful.key({}, "XF86AudioPlay", function() awful.util.spawn("playerctl play-pause", false) end), awful.key({}, "XF86AudioNext", function() awful.util.spawn("playerctl next", false) end), awful.key({}, "XF86AudioPrev", function() awful.util.spawn("playerctl previous", false) end)
Steam キーボード
Steam コントローラから使用することができるオンスクリーンの Steam キーボードで文字を入力したときにフリーズすることがあります。入力を受け取るにはクライアントにフォーカスがあたっている必要があり、入力が正しく送信されるまでキーボードが待機するためです。手動で他のクライアントにフォーカスをあてるとそのクライアントに入力が送信され、次の文字が入力されるまでキーボードはフリーズした状態になります。
他のクライアントにフォーカスが移らないようにすることでキーボードを正しく動作させることができます。設定に以下のシグナルを追加してください (あるいは既存のクライアントのフォーカスシグナルに追記してください):
client.connect_signal("focus", function(c) if awful.rules.match(c, { name = "^Steam Keyboard$" }) then awful.client.focus.history.previous() end end)
上記のように設定することでキーボードがフォーカスを受け取ったときに最後のクライアントにフォーカスが移るようになります。キーボード入力は Steam クライアントによって処理されフォーカスは必要ないため、テキストの入力は問題なく行うことができます。
トラブルシューティング
rc.lua をデバッグする
[Xephyr]] を使うと、他の X のクライアントウィンドウの中で X をネストして実行することができます。これにより、現在のデスクトップを壊すことなく rc.lua
をデバッグすることができます。まず、rc.lua
を新しいファイル (例えば rc.lua.new
) にコピーし、必要に応じて変更します。次に、Xephyr で awesome の新しいインスタンスを実行し、設定ファイルとして rc.lua.new
を以下のように指定します:
$ Xephyr :1 -ac -br -noreset -screen 1152x720 & $ DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new
このアプローチの利点は、バグが発生した場合でも、現在の awesome デスクトップを壊すことがなく、X アプリケーションがクラッシュして作業が失われる可能性がないことです。新しい設定に満足したら、rc.lua.new
を rc.lua
にコピーして、awesome を再起動します。
自動リロード
上記の方法に加えて、inotify-tools を使うことで、~/.config/awesome
ディレクトリ内の設定ファイルを更新した際に、自動的に Xephyr 内の Awesome インスタンスをリロードすることができます:
#!/usr/bin/env bash Xephyr :1 -ac -br -noreset -screen 1920x1080 -dpi 96 & sleep 1 DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new & instance=$! while inotifywait -r -e close_write ~/.config/awesome; do kill -s SIGHUP $instance done
awmtt
awmttAUR (Awesome WM Testing Tool) は Xephyr の使いやすいラッパースクリプトです。デフォルトでは ~/.config/awesome/rc.lua.test
を使用します。テストファイルが見つからない場合は、実際の rc.lua
を使用します。テストしたい設定ファイルの場所を指定することもできます:
$ awmtt start -C ~/.config/awesome/rc.lua.new
テストが完了したら、次のコマンドを実行してウィンドウを閉じます:
$ awmtt stop
または、次のコマンドを実行して、設定ファイルに加えた変更をすぐに確認します:
$ awmtt restart
aawmtt
aawmttAUR (別の awesome WM テストツール) は、awmttAUR の代替実装であり、デフォルトで Live-Reload が含まれています。 これは awmtt-ng に似ていますが、awmtt-ng を備えた一部のマシンでは機能しない XOrg ディスプレイ検出に対するいくつかの修正が含まれています。 最初にテストファイルを実行しようとせず、デフォルトの設定を実行するだけであるという点で awmtt とは異なります。
Xephyrのウィンドウを開き、awesome を読み込む:
$ aawmtt
これで、awesome の出力がターミナルに出力され、設定フォルダー内のファイルを変更すると、awesomewm がリロードされます。
ファイルの変更を監視するディレクトリ、または設定ファイルの場所を変更する場合は、次のコマンドを実行します:
$ aawmtt --config "location_of_config_file" --watch "directory_to_watch_for_changes"
変更が監視されるディレクトリはデフォルトで設定ファイルの親ディレクトリになるため、デフォルトでは "~/.config/awesome" になります。
ログファイル
LightDM を使っている場合、awesome はエラーのログを $HOME/.xsession-errors
に出力します。.xinitrc
を使って awesome を起動している場合、FAQ のエントリ の "Where are logs, error messages or something?" が参考になるはずです。
Mod4 キー
Awesome は mod4
を再マップすることを推奨しており、デフォルトでは Super
または "Windows" キーになっているはずです。何らかの理由で mod4
にマッピングされていない場合は、xmodmap を使ってマッピングを調べてください。マッピングを変更するには、xev
を使ってマッピングするキーのキーコードと名前を探します。そして、~/.xinitrc
に以下のような内容を追加します。
xmodmap -e "keycode 115 = Super_L" -e "add mod4 = Super_L" exec awesome
この場合の問題は、一部の xorg インストールではキーコード 115 が認識されるものの、誤って 選択 キーとして認識されることです。上記のコマンドは、キーコード 115 を正しい 'Super_L' キーに明示的に再マップします。
mod4
を setxkbmap
で再マップするには (xmodmap
と競合) を参照してください:
tail -50 /usr/share/X11/xkb/rules/evdev
Caps Lock キーを mod4
として設定するには、以下を ~/.xinitrc
に追加します:
setxkbmap -option caps:hyper
Java を修正 (GUI がグレーのみ表示される)
Java#灰色のウィンドウ、ウィンドウマネージャでアプリがリサイズされない、メニューがすぐに閉じる および [5] を参照してください。
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"
Netbeans: コード予測が間違ったスクリーンに表示される
ディスプレイをふたつ使っていて Netbeans でコード予測 (Ctrl + Space) を使用したときに、誤ったディスプレイのほうにコード予測が表示されることがあります。解決するには:
.config/awesome/rc.lua
awful.rules.rules = { ... { rule_matches = { -- Fix Netbeans class = { "sun-awt-X11-XWindowPeer", "NetBeans IDE 8.2" }, name = { "win1" } }, properties = { screen = 1 } -- even with screen 1 here, this still works on the seccond screen, too (don't know why). }, ... }
IntelliJ: メニューが間違った位置に表示されたりウィンドウが開かない
GitHub issue #2204 を見てください。
解決方法:
.config/awesome/rc.lua
clientbuttons_jetbrains = gears.table.join( awful.button({ modkey }, 1, awful.mouse.client.move), awful.button({ modkey }, 3, awful.mouse.client.resize) ) ... awful.rules.rules = { ... { rule = { class = "jetbrains-.*", }, properties = { focus = true, buttons = clientbuttons_jetbrains } }, { rule = { class = "jetbrains-.*", name = "win.*" }, properties = { titlebars_enabled = false, focusable = false, focus = true, floating = true, placement = awful.placement.restore } }, ... }
scrot: キーボードショートカットを使ってマウスで選択した範囲のスクリーンショットが取れない
scrot を使用する場合、キーボードショートカットにマウス選択オプション (scrot -s
) を割り当てられない問題がおきます。解決するには、以下の行を rc.lua
に追加してください:
awful.key( { modkey, }, <shortcut>, function () awful.util.spawn_with_shell("sleep 0.5 && scrot -s") end)
YouTube: バックグラウンドで全画面表示される
フルスクリーンモードで YouTube ビデオが Web ブラウザのバックグラウンドで表示される場合、またはコントロールが非表示になっている場合は、これを rc.lua
に追加します。
{ rule = { instance = "plugin-container" }, properties = { floating = true } },
Chromium に追加
{ rule = { instance = "exe" }, properties = { floating = true } },
もしくは:
{ rule = { role = "_NET_WM_STATE_FULLSCREEN" }, properties = { floating = true } },
こちらも参照 [6]
マウスのスクロールホイールでタグが変更されないようにする
rc.lua
で、Mouse Bindings セクションを次のように変更します:
-- {{{ Mouse bindings root.buttons(gears.table.join( awful.button({ }, 3, function () mymainmenu:toggle() end) )) -- }}}
/usr/share/applications
から ~/.local/share/applications
にデスクトップファイルをコピーすると、Xdg-menu は重複したエントリを生成します。awk を使って同じ名前のエントリを排除することで解決できます:
$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu | awk -F, '{if (a!=$1) print $a; a=$1}' >~/.config/awesome/archmenu.lua
Xfce4 で一部のショートカットキーが機能しない
以下のコマンドを実行して、"Super L" などの Awesome によって実行されるキーが重なっていないか確認してください:
$ xfce4-keyboard-settings
メモリリーク
メモリリーク が発生します。多くのウィジェットを使用している場合、最大5MB/分の速度でメモリリークが発生する可能性があります。これを軽減するには、~/.config/awesome/rc.lua
にこれを追加することで、より頻繁なガベージコレクションを強制することができます:
-- Run garbage collector regularly to prevent memory leaks gears.timer { timeout = 30, autostart = true, callback = function() collectgarbage() end }
参照
- https://awesomewm.org/apidoc/documentation/90-FAQ.md.html - FAQ
- http://www.lua.org/pil/ - Lua プログラミング (第1版)
- https://awesomewm.org/ - awesome 公式ウェブサイト
- https://awesomewm.org/apidoc/ - awesome API ドキュメント
- https://bbs.archlinux.org/viewtopic.php?id=88926 - share your awesome!