Difference between revisions of "Qtile"
m |
m (Adding resources and more on installation) |
||
| Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
| − | |||
| − | |||
"Qtile is a full-featured, hackable tiling window manager written in Python. | "Qtile is a full-featured, hackable tiling window manager written in Python. | ||
| Line 10: | Line 8: | ||
The Qtile community is active and growing, so there's always someone to lend a hand when you need help. | The Qtile community is active and growing, so there's always someone to lend a hand when you need help. | ||
| − | Qtile is free and open-source software, distributed under the permissive MIT license | + | Qtile is free and open-source software, distributed under the permissive MIT license"<ref>[http://qtile.org Qtile]</ref> |
=== The Qtile Community === | === The Qtile Community === | ||
| + | |||
==== IRC ==== | ==== IRC ==== | ||
| − | < | + | <nowiki>#qtile on OFTC</nowiki> |
| + | |||
==== Mailing List ==== | ==== Mailing List ==== | ||
qtile-dev on Google Groups | qtile-dev on Google Groups | ||
| + | |||
==== Twitter ==== | ==== Twitter ==== | ||
@qtile on Twitter | @qtile on Twitter | ||
=== Troubleshooting === | === Troubleshooting === | ||
| − | https://github.com/qtile/qtile/issues | + | [https://github.com/qtile/qtile/issues Issues] |
=== Documentation === | === Documentation === | ||
| − | + | [http://docs.qtile.org/en/latest/index.html# Qtile Documentation] | |
== Installation == | == Installation == | ||
| Line 32: | Line 33: | ||
=== Manual (Github) === | === Manual (Github) === | ||
| + | This section is taken from the documents from Qtile.<ref>[http://docs.qtile.org/en/latest/manual/install/gentoo.html Installation on Gentoo]</ref> | ||
| + | |||
==== Dependencies ==== | ==== Dependencies ==== | ||
USE flags and keyword changes may have to be made for the packages taken from portage. | USE flags and keyword changes may have to be made for the packages taken from portage. | ||
| + | |||
===== libxcb ===== | ===== libxcb ===== | ||
libxcb can be emerged from portage. | libxcb can be emerged from portage. | ||
| − | < | + | |
| + | <pre style="color:green"># emerge libxcb</pre> | ||
| + | |||
===== xpyb ===== | ===== xpyb ===== | ||
xpyb can be emerge from portage. Make sure that you are emerging xpyb-1.3.1 | xpyb can be emerge from portage. Make sure that you are emerging xpyb-1.3.1 | ||
| − | < | + | |
| + | <pre style="color:green"># emerge xpyb</pre> | ||
| + | |||
===== cairo ===== | ===== cairo ===== | ||
cairo can be emerged from portage. | cairo can be emerged from portage. | ||
| − | < | + | |
| + | <pre style="color:green"># emerge cairo</pre> | ||
| + | |||
===== pygtk ===== | ===== pygtk ===== | ||
pygtk can be emerge from portage. | pygtk can be emerge from portage. | ||
| − | < | + | |
| + | <pre style="color:green"># emerge pygtk</pre> | ||
| + | |||
| + | ===== py2cairo ===== | ||
| + | <pre style="color:green"># git clone git://git.cairographics.org/git/py2cairo | ||
| + | # cd py2cairo | ||
| + | # ./autogen.sh –enable-xcb | ||
| + | # ./configure --prefix=/path/to/virtualenv | ||
| + | # make | ||
| + | # sudo make install</pre> | ||
| + | |||
| + | ===== qtile ===== | ||
| + | <pre style="color:green"># git clone git://github.com/qtile/qtile | ||
| + | # cd qtile | ||
| + | # sudo python setup.py install --record files_uninstall.txt</pre> | ||
| + | |||
== Setup == | == Setup == | ||
| + | Copy either a config from the examples directory in the cloned qtile (including a default config), a config you have found elsewhere, or create your own config. | ||
| + | <pre style="color:green"># cp /path/to/cloned-qtile/examples/config/cortesi-config.py ~/.config/qtile/config.py | ||
| + | # cp /path/to/cloned-qtile/examples/config/dgroups.py ~/.config/qtile/config.py | ||
| + | # cp /path/to/cloned-qtile/examples/config/roger-config.py ~/.config/qtile/config.py | ||
| + | # cp /path/to/cloned-qtile/examples/config/tailhook-config.py ~/.config/qtile/config.py</pre> | ||
| + | |||
| + | My config is [https://github.com/akiress/dotfiles/blob/master/qtile/config.py config.py] | ||
| + | |||
| + | The config I have based mine off of is [https://github.com/dmpayton/dotfiles/blob/master/qtile/config.py dmpayton's config.py] | ||
| + | |||
| + | For further information, see the Documentation section. | ||
| + | |||
| + | === dmenu === | ||
| + | Qtile uses dmenu as the application launcher. | ||
| + | <pre style="color:green"># emerge dmenu</pre> | ||
| + | You can run dmenu from a keybind in the config.py. | ||
=== xinitrc === | === xinitrc === | ||
=== X and RandR === | === X and RandR === | ||
| − | |||
'''NOTE: RandR and Xinerama do not play together. Use one or the other.''' | '''NOTE: RandR and Xinerama do not play together. Use one or the other.''' | ||
| Line 57: | Line 97: | ||
Install xrandr: | Install xrandr: | ||
| − | < | + | <pre style="color:green"># emerge x11-apps/xrandr</pre> |
and if you want a GUI with xrandr: | and if you want a GUI with xrandr: | ||
| − | < | + | <pre style="color:green"># emerge x11-misc/arandr</pre> |
| − | If you do not have X configured yet, follow the link on the http://en.gentoo-wiki.com/wiki/X.Org Gentoo Wiki | + | If you do not have X configured yet, follow the link on the [http://en.gentoo-wiki.com/wiki/X.Org Gentoo Wiki] |
My xorg.conf.d folder for example: [https://github.com/akiress/dotfiles/blob/master/etc/X11/xorg.conf.d/30-screen.conf 30-screen.conf] | My xorg.conf.d folder for example: [https://github.com/akiress/dotfiles/blob/master/etc/X11/xorg.conf.d/30-screen.conf 30-screen.conf] | ||
| Line 68: | Line 108: | ||
Once you have X configured however you like: | Once you have X configured however you like: | ||
| − | <pre># startx</pre> | + | <pre style="color:green"># startx</pre> |
| − | == | + | == Notes == |
| + | <references/> | ||
| − | == | + | == Resources == |
| + | [https://github.com/qtile/qtile Qtile on Github] | ||
| − | + | [https://github.com/qtile/qtile/tree/master/examples/config Sample Configurations] | |
| − | + | ||
| − | + | [http://docs.qtile.org/en/latest/manual/hacking.html Hacking Qtile] | |
| − | + | ||
[[Category:Desktop]] | [[Category:Desktop]] | ||
Revision as of 04:22, 28 May 2012
Contents |
Introduction
"Qtile is a full-featured, hackable tiling window manager written in Python.
Qtile is simple, small, and extensible. It's easy to write your own layouts, widgets, and built-in commands.
Qtile is written and configured entirely in Python, which means you can leverage the full power and flexibility of the language to make it fit your needs.
The Qtile community is active and growing, so there's always someone to lend a hand when you need help.
Qtile is free and open-source software, distributed under the permissive MIT license"[1]
The Qtile Community
IRC
#qtile on OFTC
Mailing List
qtile-dev on Google Groups
@qtile on Twitter
Troubleshooting
Documentation
Installation
Portage
The ebuild on portage is broken for now.
Manual (Github)
This section is taken from the documents from Qtile.[2]
Dependencies
USE flags and keyword changes may have to be made for the packages taken from portage.
libxcb
libxcb can be emerged from portage.
# emerge libxcb
xpyb
xpyb can be emerge from portage. Make sure that you are emerging xpyb-1.3.1
# emerge xpyb
cairo
cairo can be emerged from portage.
# emerge cairo
pygtk
pygtk can be emerge from portage.
# emerge pygtk
py2cairo
# git clone git://git.cairographics.org/git/py2cairo # cd py2cairo # ./autogen.sh –enable-xcb # ./configure --prefix=/path/to/virtualenv # make # sudo make install
qtile
# git clone git://github.com/qtile/qtile # cd qtile # sudo python setup.py install --record files_uninstall.txt
Setup
Copy either a config from the examples directory in the cloned qtile (including a default config), a config you have found elsewhere, or create your own config.
# cp /path/to/cloned-qtile/examples/config/cortesi-config.py ~/.config/qtile/config.py # cp /path/to/cloned-qtile/examples/config/dgroups.py ~/.config/qtile/config.py # cp /path/to/cloned-qtile/examples/config/roger-config.py ~/.config/qtile/config.py # cp /path/to/cloned-qtile/examples/config/tailhook-config.py ~/.config/qtile/config.py
My config is config.py
The config I have based mine off of is dmpayton's config.py
For further information, see the Documentation section.
Qtile uses dmenu as the application launcher.
# emerge dmenu
You can run dmenu from a keybind in the config.py.
xinitrc
X and RandR
NOTE: RandR and Xinerama do not play together. Use one or the other.
I use an AMD HD 6870 with 3 monitors (2 DVI and 1 with an AMD validated Mini DisplayPort™ to DVI dongle).
Install xrandr:
# emerge x11-apps/xrandr
and if you want a GUI with xrandr:
# emerge x11-misc/arandr
If you do not have X configured yet, follow the link on the Gentoo Wiki
My xorg.conf.d folder for example: 30-screen.conf
Since the names of the monitors are already known in xrandr, I just use those names in my 30-screen.conf configuration. It doesn't matter what you use in your X configuration however.
Once you have X configured however you like:
# startx