Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Qtileのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Qtile
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:タイル型ウィンドウマネージャ]] [[en:Qtile]] [[fr:Qtile]] [[zh-hans:Qtile]] {{Related articles start}} {{Related|タイル型ウィンドウマネージャの比較}} {{Related|ウィンドウマネージャ}} {{Related articles end}} [http://qtile.org プロジェクトのウェブサイトより]: Qtile はあらゆる機能を備え、ハックしやすい、Python で書かれたタイル型ウィンドウマネージャです。Qtile はシンプルで、小さく、そして拡張性があります。ユーザー定義レイアウト、ウィジェット、そしてビルトインコマンドを簡単に書くことができます。これは完全に Python で記述および設定されているため、言語の能力と柔軟性を最大限に活用してそれぞれのニーズに合わせることができます。 == インストール == 以下のパッケージのどれかを [[インストール]] してください: * {{Pkg|qtile}} 最新の公式リリース * {{AUR|qtile-git}} 開発版 Qtile を [[Wayland]] コンポジターとして実行するには、{{Pkg|python-pywlroots}} をインストールする必要があります。 == 開始 == === Xorg === Qtile を [[X11]] ウィンドウマネージャーとして実行するには、[[xinit]] を指定して {{ic|qtile start}} を実行します。 === Wayland === Qtile は {{ic|qtile start -b wayland}} として [[Wayland]] コンポジタとして起動することもできます。 Qtile の Wayland 開発の進捗状況については、https://github.com/qtile/qtile/discussions/2409 を参照してください。 == 設定 == {{Note|この章では Qtile の基本的な設定のみ紹介しています。より完全な情報については [http://docs.qtile.org/en/latest/ 公式ドキュメント] を御覧ください。}} [https://docs.qtile.org/en/latest/manual/config/#configuration-lookup Configuration Lookup] (または [https://qtile.readthedocs.io/en/stable/manual/config/index.html#configuration-lookup-order 代替ドキュメント]) で説明されているとおり、Qtile は、ユーザー定義の設定ファイルがない場合にデフォルトの設定ファイルを提供します。 デフォルト設定には、新しいターミナル ([https://github.com/qtile/qtile/blob/e762cfeda7b65e80fd7c9a5896ac8832475035ab/libqtile/utils.py#L291 hardcoded list)] を開くためのショートカット {{ic|Super+Enter}} が含まれています、{{ic|Super+Ctrl+q}} を押して Qtile を終了します。 Qtile のカスタマイズを始めるときは、デフォルトの設定ファイルを {{ic|~/.config/qtile/config.py}} にコピーしてください: $ mkdir -p ~/.config/qtile/ $ cp /usr/share/doc/''qtile_dir''/default_config.py ~/.config/qtile/config.py {{ic|''qtile_dir''}} はインストールした AUR パッケージの名前に置き換えてください。 もしくは、最新のデフォルト設定ファイルを git リポジトリの [https://github.com/qtile/qtile/blob/develop/libqtile/resources/default_config.py libqtile/resources/default_config.py] からダウンロードすることもできます。 設定はすべて Python により、{{ic|~/.config/qtile/config.py}} で行われます。'''極めて'''簡単な Python の解説は [https://developers.google.com/edu/python/introduction このチュートリアル] を参照してください。Python の変数、関数、モジュール及び Qtile の設定をすぐに始めるために必要なことが解説されています。 Qtile を再起動するまえに設定ファイルにエラーが無いか次のコマンドで確認することができます: $ python -m py_compile ~/.config/qtile/config.py このコマンドが出力を行わない場合、設定ファイルは正しく記述されています。 === グループ === Qtile では、ワークスペース (あるいはビュー) は'''グループ'''と呼称します。以下のように設定します: {{bc|1= from libqtile.config import Group, Match ... groups = [ Group("term"), Group("irc"), Group("web", matches=[Match(title=["Firefox"])]), ] ... }} === グループルール === 次の例は、title や wm_class などのプロパティに基づいてアプリケーションをワークスペースに自動的に移動する方法を示しています。これらを取得するために X 上で実行している場合は、''xprop'' を使用するとよいでしょう。 {{bc|1= from libqtile.config import Group, Match ... def is_text_editor(window): result = "neovim" in (window.name or "").lower() return result def is_terminal(window): result = "kitty" in (window.name or "").lower() and not is_text_editor(window) return result ... groups = [ Group(name=str(idx), **group) for idx, group in enumerate( [ { "label": "term", # restrict layouts since tiling is handled by kitty "layouts": [layout.Max()], "matches": [ Match(func=is_terminal), ], }, { "label": "browser", "matches": [ Match(role="browser"), ], }, { "label": "music", "matches": [ Match(title="YouTube Music"), ], }, {"label": "text editor", "matches": [Match(func=is_text_editor)]}, {"label": "other"}, ], start=1, ) ] ... }} === キー === ショートカットキーを '''Key''' クラスで記述できます。 これは {{ic|Alt+Shift+q}} でウィンドウマネージャを終了するための設定例です。 {{bc|<nowiki> from libqtile.config import Key from libqtile.command import lazy ... keys = [ Key( ["mod1", "shift"], "q", lazy.shutdown()) ] ...</nowiki> }} [[Xmodmap]] コマンドを使うことで {{ic|modX}} がどのキーと対応しているか調べることができます。 ==== サウンド ==== [[ユーザーとグループ#グループ管理|ユーザーを追加]] を ''audio'' グループに追加し、{{ic|alsamixer}} コマンドラインを使用することで、音量と状態を簡単に制御するショートカットを追加できます。このインターフェースは、{{Pkg|alsa-utils}} パッケージを通じてインストールできます。 {{bc|1= 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")) ] }} ==== 言語 ==== ショートカットを追加すると、[[setxkbmap]] を使用して、さまざまな言語のキーボードレイアウトを簡単に切り替えることができます。たとえば、次のようになります。 {{bc|1= keys= [ ... # Language Key([mod], "F1", lazy.spawn("setxkbmap us"), desc= "Change to US layout"), Key([mod],"F2", lazy.spawn("setxkbmap gr"), desc= "Change to Greek layout"), ] }} === スクリーン === 接続されているモニタそれぞれに対して '''Screen''' クラスを作成してください。Qtile のバーは '''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> }} ==== バーとウィジェット ==== すべての組み込みウィジェットのリストは、[https://docs.qtile.org/en/latest/manual/ref/widgets.html 公式ドキュメント] (または [https://qtile.readthedocs.io/en/stable/manual/ref/widgets.html 代替ドキュメント]) バーにウィジェットを追加したい場合は、上記の例のようにただ追加するだけです ({{ic|WindowName}} ウィジェットの場合) たとえば、 バッテリー通知を追加するには、{{ic|Battery}} ウィジェットを使用できます。 {{bc|1= 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)) ] ... }} ==== Polybar をメインバーとして使用する ==== デフォルトのバーの代わりに [https://github.com/polybar/polybar Polybar] を使用するには、''screen'' クラスのコンテンツを削除する必要があります。 {{bc|1= from libqtile.config import Screen from libqtile import bar, widget ... screens = [ Screen() ] ... }} Qtile を使用して Polybar を再起動するには、{{ic|spawn}} コマンドを使用して Polybar の起動スクリプトを追加し、[[Qtile#キー|キー]] クラスの ''Key'' を再起動します。次に例を示します。 {{bc|1= ... keys = [ Key([mod, "control"], "r", lazy.reload_config(), lazy.spawn("~/.config/polybar/launch.sh"), ] ... }} === スタートアップ === アプリケーションを'''フック'''で起動することができます。具体的には {{ic|startup}} フックを使います。利用可能なフックのリストは [http://docs.qtile.org/en/latest/manual/ref/hooks.html こちら] を参照ください。(またはこちらの [https://qtile.readthedocs.io/en/stable/manual/ref/hooks.html 代替ドキュメント]) 以下はアプリケーションを一度だけ実行する例です: {{bc|1= import os import subprocess from libqtile import hook @hook.subscribe.startup_once def autostart(): home = os.path.expanduser('~') subprocess.Popen([home + '/.config/qtile/autostart.sh']) }} == デバッグ == Qtile はログを {{ic|~/.local/share/qtile/qtile.log}} に書き込みます。 === xinit === 別の ターミナル で Qtile を開始すると、問題の診断に役立ちます。 $ echo "exec qtile start" > /tmp/.start_qtile; xinit /tmp/.start_qtile -- :2 === Xephyr === Qtile は [https://github.com/qtile/qtile/blob/master/scripts/xephyr Xephyr 開発スクリプト] を提供しており、以下を置き換えることでシステムにインストールされたパッケージをインスタンス化するように簡単に変更できます。 env DISPLAY=${XDISPLAY} QTILE_XEPHYR=1 ${PYTHON} "${HERE}"/../bin/qtile start -l ${LOG_LEVEL} $@ & と env DISPLAY=${XDISPLAY} QTILE_XEPHYR=1 qtile start -l ${LOG_LEVEL} $@ & == 参照 == * [http://qtile.org/ Qtile ウェブサイト] * [http://docs.qtile.org/en/latest/ 公式ドキュメント] * [https://qtile.readthedocs.io/en/stable/ 公式ドキュメントの代替ソース] これは、[https://github.com/qtile/qtile/issues/4295 issue 4295] に見られるように、"docs.qtile.org" がダウンしているときに便利です。 * [https://github.com/qtile/qtile-examples/ Qtile サンプル]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Box
(
ソースを閲覧
)
テンプレート:META Box Blue
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
Qtile
に戻る。
検索
検索
Qtileのソースを表示
話題を追加