「Qtile」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
8行目: 8行目:
 
{{Related articles end}}
 
{{Related articles end}}
 
[http://qtile.org/ Qtile のウェブサイト] より:
 
[http://qtile.org/ Qtile のウェブサイト] より:
:''Qtile はすべての機能を備え、ハックしやすい、Python で書かれたタイル型ウィンドウマネージャです。Qtile はシンプルで、小さく、そして拡張性があります。ユーザ自身のレイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。Python で全ての設定が出来るため、すべての力を柔軟にあなたのために発揮することができます。''
+
:''Qtile はあらゆる機能を備え、ハックしやすい、Python で書かれたタイル型ウィンドウマネージャです。Qtile はシンプルで、小さく、そして拡張性があります。ユーザー定義レイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。Python で全ての設定が出来るため、Python 力を最大限に発揮することが可能です。''
   
 
== インストール ==
 
== インストール ==
29行目: 29行目:
 
$ cp /usr/share/doc/''qtile_dir''/default_config.py ~/.config/qtile/config.py
 
$ cp /usr/share/doc/''qtile_dir''/default_config.py ~/.config/qtile/config.py
   
{{ic|''qtile_dir''}} はインストールした AUR パッケージの名前に置き換えてください。
+
{{ic|''qtile_dir''}} はインストールした AUR パッケージの名前に置き換えてください。
   
 
もしくは、最新のデフォルト設定ファイルを git リポジトリの [https://github.com/qtile/qtile/blob/develop/libqtile/resources/default_config.py libqtile/resources/default_config.py] からダウンロードすることもできます。
 
もしくは、最新のデフォルト設定ファイルを git リポジトリの [https://github.com/qtile/qtile/blob/develop/libqtile/resources/default_config.py libqtile/resources/default_config.py] からダウンロードすることもできます。
37行目: 37行目:
 
Qtile を再起動するまえに設定ファイルにエラーが無いか次のコマンドで確認することができます:
 
Qtile を再起動するまえに設定ファイルにエラーが無いか次のコマンドで確認することができます:
 
$ python2 -m py_compile ~/.config/qtile/config.py
 
$ python2 -m py_compile ~/.config/qtile/config.py
このコマンドが出力を行わない場合、設定ファイル正しく記述されていることを表します。
+
このコマンドが出力を行わない場合、設定ファイル正しく記述されています。
   
=== Groups ===
+
=== グループ ===
Qtileでは、workspace (あるいは views) は '''Groups''' と呼称されます。以下のように設定します:
+
Qtile では、ワークスペース (あるいはビュー) は'''グループ'''と呼称ます。以下のように設定します:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
from libqtile.config import Group, Match
 
from libqtile.config import Group, Match
52行目: 52行目:
 
}}
 
}}
   
=== Keys ===
+
=== キー ===
 
ショートカットキーを '''Key''' クラスで記述できます。
 
ショートカットキーを '''Key''' クラスで記述できます。
 
これは {{ic|Alt+Shift+q}} でウィンドウマネージャを終了するための設定例です。
 
これは {{ic|Alt+Shift+q}} でウィンドウマネージャを終了するための設定例です。
69行目: 69行目:
   
 
=== スクリーンとバー ===
 
=== スクリーンとバー ===
接続されているモニタそれぞれに対して '''Screen''' クラスを作成してください。Qtile の bar は '''Screen''' クラスで以下の例のように設定することができます:
+
接続されているモニタそれぞれに対して '''Screen''' クラスを作成してください。Qtile のバーは '''Screen''' クラスで以下の例のように設定することができます:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
from libqtile.config import Screen
 
from libqtile.config import Screen
84行目: 84行目:
 
}}
 
}}
   
=== 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}} ウィジェットを使うことができます:
+
もしバーにウィジェットを追加したい場合、単にそのウィジェットを以下のように {{ic|WindowName}} に記述することで出来ます。例えば、バッテリー通知を行いたい場合、{{ic|Battery}} ウィジェットを使うことができます:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
from libqtile.config import Screen
 
from libqtile.config import Screen
101行目: 101行目:
 
}}
 
}}
   
=== Startup ===
+
=== スタートアップ ===
アプリケーションを '''hooks''' で起動すること出来ます。具体的には {{ic|startup}} hook を使います。利用可能な hooks のリストは [http://docs.qtile.org/en/latest/manual/ref/hooks.html こちら] を御覧ください。
+
アプリケーションを'''フック'''で起動すること出来ます。具体的には {{ic|startup}} フックを使います。利用可能なフックのリストは [http://docs.qtile.org/en/latest/manual/ref/hooks.html こちら] を御覧ください。
   
これはアプリケーションを一度だけ実行する例です:
+
以下はアプリケーションを一度だけ実行する例です:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
import subprocess, re
 
import subprocess, re
128行目: 128行目:
 
}}
 
}}
   
=== Sound ===
+
=== サウンド ===
音量と状態を簡単に操作するためのショートカットを '''audio''' グループに[[ユーザーとグループ#グループ管理|ユーザを追加]]して {{ic|alsamixer}} のコマンドラインインタフェースを使うことで出来ます
+
'''audio''' グループに[[ユーザーとグループ#グループ管理|ユーザを追加]]して {{ic|alsamixer}} のコマンドラインインタフェースを使うことで、音量と状態を簡単に操作するためのショートカットが使えます:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
keys= [
 
keys= [
141行目: 141行目:
   
 
== デバッグ ==
 
== デバッグ ==
もしソースの中の問題箇所を発見したい場合、以下の行をターミナルで実行してください:
+
問題箇所を発見したい場合、以下をターミナルで実行してください:
 
echo "exec qtile" > /tmp/.start_qtile ; xinit /tmp/.start_qtile -- :2
 
echo "exec qtile" > /tmp/.start_qtile ; xinit /tmp/.start_qtile -- :2
   

2016年1月2日 (土) 16:29時点における版

関連記事

Qtile のウェブサイト より:

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

インストール

以下のパッケージのどれかをインストールしてください:

  • qtileAUR: 最新の公式リリース。Python 3 で動作。
  • qtile-python2AUR: 最新の公式リリース。Python 2 で動作。
  • qtile-python3-gitAUR: 最新の git コミット。Python 3 で動作。
  • qtile-gitAUR: 最新の git コミット。Python 2 で動作。

Qtile の開始

Qtile を開始するには exec qtile~/.xinitrc に追加し、Xorg を起動します。デフォルト設定では Super+Enter を押すと xterm ターミナルが起動します。Qtile を終了するには Super+Ctrl+q です。

設定

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

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

このコマンドが出力を行わない場合、設定ファイルは正しく記述されています。

グループ

Qtile では、ワークスペース (あるいはビュー) はグループと呼称します。以下のように設定します:

from libqtile.config import Group, Match
...
groups = [
    Group("term"),
    Group("irc"),
    Group("web", match=Match(title=["Firefox"])),
   ]
...

キー

ショートカットキーを Key クラスで記述できます。 これは Alt+Shift+q でウィンドウマネージャを終了するための設定例です。

from libqtile.config import Key
from libqtile.command import lazy
...
keys = [
    Key(
        ["mod1", "shift"], "q",
        lazy.shutdow())
   ]
...

Xmodmap コマンドを使うことで modX がどのキーと対応しているか調べることができます。

スクリーンとバー

接続されているモニタそれぞれに対して Screen クラスを作成してください。Qtile のバーは 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))
   ]
...

ウィジェット

公式ドキュメント ですべてのビルトインウィジェットを確認することができます。

もしバーにウィジェットを追加したい場合、単にそのウィジェットを以下のように 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 フックを使います。利用可能なフックのリストは こちら を御覧ください。

以下はアプリケーションを一度だけ実行する例です:

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

サウンド

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

参照