「Qtile」の版間の差分
細 (1版 をインポートしました) |
|
(相違点なし)
|
2015年1月6日 (火) 21:23時点における版
Qtile のウェブサイト より:
- Qtile はすべての機能を備え、ハックしやすい、Python で書かれたタイル型ウィンドウマネージャです。Qtile はシンプルで、小さく、そして拡張性があります。ユーザ自身のレイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。Python で全ての設定が出来るため、すべての力を柔軟にあなたのために発揮することができます。
目次
インストール
qtileAUR, qtile-gitAUR, qtile-gitAUR のどれかを Arch User Repository からインストールします。
Qtile の開始
Qtile を開始するには exec qtile
を ~/.xinitrc
に追加し、Xorg を起動します。デフォルト設定では Alt+Enter
押すと xterm
ターミナルを起動します。
設定
Configuration Lookup で説明されているように、Qtile ではユーザーが定義した設定ファイルがないときに使われるデフォルトの設定ファイルがあります。Qtile のカスタマイズを始めるときは、デフォルトの設定ファイルを ~/.config/qtile/config.py
にコピーしてください:
$ mkdir -p ~/.config/qtile/ $ cp /usr/share/doc/qtile_dir/default_config.py ~/.config/qtile/config.py
qtile_dir
はインストールした AUR パッケージの名前に置き換えてください。
もしくは、最新のデフォルト設定ファイルを git リポジトリの libqtile/resources/default_config.py からダウンロードすることもできます。
設定はすべて Python により、~/.config/qtile/config.py
で行われます。極めて簡単な Python の解説は このチュートリアル を参照してください。Python の変数、関数、モジュール及び Qtile の設定をすぐに始めるために必要なことが解説されています。
Qtile を再起動するまえに設定ファイルにエラーが無いか次のコマンドで確認することができます:
$ python2 -m py_compile ~/.config/qtile/config.py
このコマンドが出力を行わない場合、設定ファイルが正しく記述されていることを表します。
Groups
Qtileでは、workspace (あるいは views) は Groups と呼称されます。以下のように設定します:
from libqtile.config import Group, Match ... groups = [ Group("term"), Group("irc"), Group("web", match=Match(title=["Firefox"])), ] ...
Keys
ショートカットキーを Key クラスで記述できます。
これは Alt+Shift+q
でウィンドウマネージャを終了するための設定例です。
from libqtile.config import Key from libqtile.command import lazy ... keys = [ Key( ["mod1", "shift"], "q", lazy.shutdow()) ] ...
Xmodmap コマンドを使うことで modX
がどのキーと対応しているか調べることができます。
Screens と Bars
接続されているモニタそれぞれに対して Screen' クラスを作成してください。Qtile の bar は' Screen クラスで以下の例のように設定することができます:
from libqtile.config import Screen from libqtile import bar, widget ... screens = [ Screen( bottom=bar.Bar([ # add a bar to the bottom of the screen widget.GroupBox(), # display the current Group widget.WindowName() # display the name of the window that currently has focus ], 30)) ] ...
Widgets
公式ドキュメント ですべてのビルトインウィジェットを確認することができます。
もし bar にウィジェットを追加したい場合、単にそのウィジェットを以下のように WindowName
に記述することで出来ます。例えば、バッテリー通知を行いたい場合、Battery
ウィジェットを使うことができます:
from libqtile.config import Screen from libqtile import bar, widget ... screens = [ Screen(top=bar.Bar([ widget.GroupBox(), # display the current Group widget.Battery() # display the battery state ], 30)) ] ...
Startup
アプリケーションを hooks で起動することで出来ます。具体的には startup
hook を使います。利用可能な hooks のリストは こちら を御覧ください。
これはアプリケーションを一度だけ実行する例です:
import subprocess, re def is_running(process): s = subprocess.Popen(["ps", "axw"], stdout=subprocess.PIPE) for x in s.stdout: if re.search(process, x): return True return False def execute_once(process): if not is_running(process): return subprocess.Popen(process.split()) # start the applications at Qtile startup @hook.subscribe.startup def startup(): execute_once("parcellite") execute_once("nm-applet") execute_once("dropboxd") execute_once("feh --bg-scale ~/Pictures/wallpapers.jpg")
Sound
音量と状態を簡単に操作するためのショートカットを audio グループにユーザを追加して alsamixer
のコマンドラインインタフェースを使うことで出来ます。
keys= [ ... # Sound Key([], "XF86AudioMute", lazy.spawn("amixer -q set Master toggle")), Key([], "XF86AudioLowerVolume", lazy.spawn("amixer -c 0 sset Master 1- unmute")), Key([], "XF86AudioRaiseVolume", lazy.spawn("amixer -c 0 sset Master 1+ unmute")) ]
デバッグ
もしソースの中の問題箇所を発見したい場合、以下の行をターミナルで実行してください:
echo "exec qtile" > /tmp/.start_qtile ; xinit /tmp/.start_qtile -- :2