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

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

Revision as of 16:31, 15 June 2013

Qtile web site より:

Qtile はすべての機能を備え、ハックしやすい、Python で書かれたタイル型ウィンドウマネージャです。Qtile はシンプルで、小さく、そして拡張性があります。ユーザ自身のレイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。Python で全ての設定が出来るため、すべての力を柔軟にあなたのために発揮することができます。

インストール

qtile-gitAURArch User Repository からインストールします。

デフォルトの設定ファイルは git リポジトリで提供されています。以下のようにして ~/.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 を開始するには exec qtile~/.xinitrc に追加し、Xorg を起動します。デフォルト設定では Template:Keypress 押すと xterm ターミナルを起動します。

設定

Note: この章では Qtile の基本的な設定のみ紹介しています。より完全な情報については 公式ドキュメント を御覧ください。

設定はすべて 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 クラスで記述できます。 これは Template:Keypress でウィンドウマネージャを終了するための設定例です。

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"))
   ]

Debugging

もしソースの中の問題箇所を発見したい場合、以下の行をターミナルで実行してください:

echo "exec qtile" > /tmp/.start_qtile ; xinit /tmp/.start_qtile -- :2

参照