Difference between revisions of "Qtile (日本語)"

From ArchWiki
Jump to: navigation, search
m (Fix category. See Help:Category.)
m (external ja redirect)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Tiling WMs (日本語)]]
+
#redirect[[ja:Qtile]]
[[en:Qtile]]
+
From [http://qtile.org/ Qtile web site]:
+
:''Qtile はすべての機能を備え、ハックしやすい、Pythonで書かれたタイル型ウィンドウマネージャです。Qtileはシンプルで、小さく、そして拡張性があります。ユーザ自身のレイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。Pythonで全ての設定が出来るため、すべての力を柔軟にあなたのために発揮することができます。''
+
 
+
== インストール ==
+
{{AUR|qtile-git}}を[[Arch User Repository]]からインストールします。
+
 
+
デフォルトの設定ファイルは[https://github.com/qtile/qtile/blob/master/libqtile/resources/default_config.py  gitリポジトリ]で提供されています。以下のようにして{{ic|~/.config/qtile/config.py}}にコピーしてください:
+
$ mkdir -p ~/.config/qtile/
+
$ wget https://raw.github.com/qtile/qtile/master/libqtile/resources/default_config.py -O - > ~/.config/qtile/config.py
+
 
+
== Qtileの開始 ==
+
Qtileを開始するには{{ic|exec qtile}}を{{ic|~/.xinitrc}}に追加し、[[Xorg]]を起動します。デフォルト設定では{{Keypress|Alt+Enter}}押下で{{ic|xterm}}ターミナルを起動します。
+
== 設定 ==
+
{{Note|この章ではQtileの基本的な設定のみ紹介しています。より完全な情報については[http://docs.qtile.org/en/latest/ 公式ドキュメント]を御覧ください。}}
+
 
+
設定はすべてPythonにより、{{ic|~/.config/qtile/config.py}}で行われます。'''極めて'''簡単なPythonの解説は[https://developers.google.com/edu/python/introduction このチュートリアル]を参照してください。Pythonの変数、関数、モジュール及びQtileの設定をすぐに始めるために必要なことが解説されています。
+
 
+
Qtileを再起動するまえに設定ファイルにエラーが無いか次のコマンドで確認することができます:
+
$ python2 -m py_compile ~/.config/qtile/config.py
+
このコマンドが出力を行わない場合、設定ファイルが正しく記述されていることを表します。
+
 
+
=== Groups ===
+
Qtileでは、workspace(あるいはviews)は'''Groups'''と呼称されます。以下のように設定します:
+
{{bc|<nowiki>
+
from libqtile.config import Group, Match
+
...
+
groups = [
+
    Group("term"),
+
    Group("irc"),
+
    Group("web", match=Match(title=["Firefox"])),
+
  ]
+
...</nowiki>
+
}}
+
 
+
=== Keys ===
+
ショートカットキーを'''Key'''クラスで記述できます。
+
これは{{Keypress|Alt+Shift+q}}でウィンドウマネージャを終了するための設定例です。
+
{{bc|<nowiki>
+
from libqtile.config import Key
+
from libqtile.command import lazy
+
...
+
keys = [
+
    Key(
+
        ["mod1", "shift"], "q",
+
        lazy.shutdow())
+
  ]
+
...</nowiki>
+
}}
+
You can find out which {{ic|modX}} corresponds to which key with the command [[Xmodmap]].
+
 
+
=== ScreensとBars ===
+
接続されているモニタそれぞれに対して'''Screen'''クラスを作成してください。Qtileのbarは'''Screen'''クラスで以下の例のように設定することができます:
+
{{bc|<nowiki>
+
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))
+
  ]
+
...</nowiki>
+
}}
+
 
+
=== Widgets ===
+
[http://docs.qtile.org/en/latest/manual/ref/widgets.html 公式ドキュメント]ですべてのビルトインウィジェットを確認することができます。
+
 
+
もしbarにウィジェットを追加したい場合、単にそのウィジェットを以下のように{{ic|WindowName}}に記述することで出来ます。例えば、バッテリー通知を行いたい場合、{{ic|Battery}}ウィジェットを使うことができます:
+
{{bc|<nowiki>
+
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))
+
  ]
+
...</nowiki>
+
}}
+
 
+
=== Startup ===
+
アプリケーションを'''hooks'''で起動することで出来ます。具体的には{{ic|startup}}hookを使います。利用可能なhooksのリストは[http://docs.qtile.org/en/latest/manual/ref/hooks.html こちら]を御覧ください。
+
 
+
これはアプリケーションを一度だけ実行する例です:
+
{{bc|<nowiki>
+
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")</nowiki>
+
}}
+
 
+
=== Sound ===
+
音量と状態を簡単に操作するためのショートカットを'''audio'''グループに[[Users_and_Groups#Group_management|ユーザを追加]]して{{ic|alsamixer}}のコマンドラインインタフェースを使うことで出来ます。
+
{{bc|<nowiki>
+
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"))
+
  ]</nowiki>
+
}}
+
 
+
== Debugging ==
+
もしソースの中の問題箇所を発見したい場合、以下の行をターミナルで実行してください:
+
echo "exec qtile" > /tmp/.start_qtile ; xinit /tmp/.start_qtile -- :2
+
 
+
== See Also ==
+
* [http://qtile.org/ Qtile website]
+
* [http://docs.qtile.org/en/latest/ The official documentation]
+
* [[Comparison of Tiling Window Managers]]
+
* [[xinitrc]]
+

Latest revision as of 08:23, 4 March 2015

Redirect to: