CVE and update status of the FreeBSD ports tree3,295 unaddressed CVEs in 670 portsAll times are CET
Port details

x11-wm/qtile 0.33.0

Small, flexible, scriptable tiling window manager written in Python

Port info

Maintainer
ericbsd@FreeBSD.org
Packages
latest: 0.33.0
Upstream
Higher version available: 0.37.1
Last update
to 0.33.0 · 50c92ea83a
Quarterly
2026Q4: 0.33.0
WWW
http://qtile.org
Links
cgit · VuXML

Install

Package
# pkg install py312-qtile
installs 0.33.0 from latest; from quarterly (2026Q4) 0.33.0
Port
# cd /usr/ports/x11-wm/qtile && make install clean
# make -C /usr/ports/x11-wm/qtile config  # change options first
Size
999 KiB download · 6.3 MiB installed
Depends on
audio/pulseaudio 17.0_6, devel/gettext-runtime 1.0_1, devel/glib20 2.88.3,2, devel/py-cffi 2.1.1, devel/py-dbus 1.4.0_1, devel/py-pygobject 3.58.0, devel/py-six 1.17.0, graphics/py-cairocffi 1.7.1_1, lang/python312 3.12.15, x11-toolkits/pango 1.57.1, x11/py-xcffib 1.11.2
License
MIT
Options
1 of 1 on in the package: DOCS

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 160.33.00.33.0–
FreeBSD 150.33.00.33.0–
FreeBSD 140.33.00.33.00.33.0

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 150.33.00.33.0–
FreeBSD 140.33.00.33.00.33.0

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 0.33.0.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (44)

Eric Turgeon (ericbsd) · 0.33.0
x11-wm/qtile: Update to 0.33.0
50c92ea83a
Charlie Li (vishwin) · 0.18.1_5
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc

EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.

Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.

Introduce PYTHON_SOABI to align with PEP 3149's specification of a
tag, which consists of implementation name, shorthand version and
any ABI flags present (this and PYTHON_TAG are identical without
ABI flags). This is meant for compiled extension module objects and
other files that depend on a specific Python ABI for the same
version.

Add documentation for these variables that our PYTHON_EXT_SUFFIX
never had.

PR: 274671
Event: Kitchener-Waterloo Hackathon 202506
4f0eba1efd
Charlie Li (vishwin) · 0.18.1_5
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal

Any missed ports, feel free to bump.

Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
06a08e69f3
Charlie Li (vishwin) · 0.18.1_4
devel/py-pygobject: bump consumer PORTREVISIONs after port rename

With hat: gnome
PR: 273722
32a55d206d
Charlie Li (vishwin) · 0.18.1_3
devel/py-setuptools-scm: update to 8.0.4

Directory and PORTNAME changed to match normalised name in release
tarball; consumers updated to match.

Although setuptools itself is specified as a run dependency in the
Python package metadata, it is currently left out here to prevent
environment pollution until at least PR 270510 is committed.
Additionally, this version of setuptools-scm requires setuptools>=61,
which means this version is only meant for USE_PYTHON=pep517 ports
as all USE_PYTHON=distutils ports will switch to devel/py-setuptools58
also after PR 270510. science/py-emmet-core is switched to
devel/py-setuptools_scm7 accordingly, as it specifies setuptools-scm<8.
devel/py-{flit-scm,hatch-vcs} have ${PY_SETUPTOOLS} added to
RUN_DEPENDS to compensate.

Further details: https://wiki.freebsd.org/Python/setuptools

Reported by: yuri
Co-authored by: matthew
Exp-run by: antoine (earlier iteration)
Approved by: yuri (science/py-emmet-core, previous iteration)
PR: 272134
Differential Revision: https://reviews.freebsd.org/D39288
5d4139f8bd
Gleb Popov (arrowd) · 0.18.1_3
audio/pulseaudio: Update to 16.1

Bump PORTREVISION on consumers.

Sponsored by:	Serenity Cybersecurity, LLC

PR:		262713
b1ecad53b0
Rene Ladan (rene) · 0.18.1_2
all: remove explicit versions in USES=python for "3.x+"

The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++ -DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable -Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi -Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings -Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x -MT _quickfix_la-QuickfixPython.lo -MD -MP -MF .deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o .libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
3d9a815d9c
Christian Weisgerber (naddy) · 0.18.1_2
audio/opus: bump consumers after update to 1.4
feb1fa34f5
Dmitry Marakasov (amdmi3) · 0.18.1_1
*/*: rename CHEESESHOP to PYPI in MASTER_SITES

PR:			267994
Differential revision:	D37518
Approved by:		bapt
77d68471ad
Stefan Eßer (se) · 0.18.1_1
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
fb16dfecae
Stefan Eßer (se) · 0.18.1_1
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
b7f05445c0
Tobias C. Berner (tcberner) · 0.18.1_1
x11-wm: remove 'Created by' lines

A big Thank You to the original contributors of these ports:

  *  Adam Weinberger
  *  Alejandro Pulver <alepulver@FreeBSD.org>
  *  Alexey Dokuchaev <danfe@FreeBSD.org>
  *  Alexey Dokuchaev <danfe@regency.nsu.ru>
  *  Andreas Kohn <andreas@syndrom23.de>
  *  Anton Tornqvist <antont@inbox.lv>
  *  Aragon Gouveia <aragon@phat.za.net>
  *  Babak Farrokhi <babak@farrokhi.net>
  *  Brett Taylor <brett@peloton.physics.montana.edu>
  *  Brian Handy <handy@physics.montana.edu>
  *  Bruce A. Mah <bmah@ca.sandia.gov>
  *  Dennis Herrmann <adox@mcx2.org>
  *  Dennis Herrmann <dhn@FreeBSD.org>
  *  Dima Sivachenko <dima@chg.ru>
  *  Dominik Rothert <dr@domix.de>
  *  Douglas Carmichael <dcarmich@mcs.com>
  *  Eric Anholt <anholt@FreeBSD.org>
  *  Felix Palmen <felix@palmen-it.de>
  *  Florent Thoumie <flz@xbsd.org>
  *  Garrett Rooney <rooneg@electricjellyfish.net>
  *  George Reid <greid@ukug.uk.freebsd.org>
  *  Gergely Nagy <8@free.bsd.hu>
  *  Gustau Perez i Querol <gustau.perez@gmail.com>
  *  J Han <hjh@photino.com>
  *  Jakub Lach <jakub_lach@mailplus.pl>
  *  James Earl <jdearl@telus.net>
  *  Jean-Yves Lefort <jylefort@brutele.be>
  *  Jeroen Schot <schot@a-eskwadraat.nl>
  *  Jim Mock <jim@FreeBSD.org>
  *  Matt Lancereau <matt@rimasec.net>
  *  Matthieu Guegan <matt.guegan@free.fr>
  *  Maxim Sobolev <sobomax@FreeBSD.org>
  *  Michael Ebert <ebert@informatik.unibw-muenchen.de>
  *  Michael Johnson <ahze@ahze.net>
  *  Neil Blakey-Milner
  *  Nikos Ntarmos <ntarmos@ceid.upatras.gr>
  *  Olivier Duchateau
  *  Patrick Seal <patseal@hyperhost.net>
  *  Pawel Worach <pawel.worach@gmail.com>
  *  Peter Pentchev <roam@FreeBSD.org>
  *  Robert Noland <rnoland@FreeBSD.org>
  *  Roman Bogorodskiy <bogorodskiy@inbox.ru>
  *  Rudolf Polzer <freebsd-dr@durchnull.de>
  *  Rusmir Dusko <nemysis@FreeBSD.org>
  *  Stefan Zehl <sec@42.org>
  *  Tommy Scheunemann <net@arrishq.org>
  *  V. Jahns <vj562001@yahoo.de>
  *  Will Andrews <andrews@technologist.com>
  *  William Grzybowski <wg@FreeBSD.org>
  *  William Grzybowski <william88@gmail.com>
  *  Yukihiro Nakai <Nakai@Mlab.t.u-tokyo.ac.jp>
  *  Yukihiro Nakai <nakai@FreeBSD.org>
  *  alepulver
  *  anders@hack.org
  *  asami
  *  chinsan
  *  gahr
  *  gpalmer
  *  hrkfrd@gmail.com
  *  jfitz@FreeBSD.org
  *  lab@fnurt.net
  *  peter
  *  spn
  *  torstenb
  *  trevor
  *  vanilla

With hat:	portmgr
f65f20b278
Po-Chuan Hsieh (sunpoet) · 0.18.1_1
x11-wm/qtile: Remove devel/py-asyncio from RUN_DEPENDS

- Bump PORTREVISION for dependency change

The asyncio package has been included in the standard library since Python 3.4.

With hat:	python
b4f5c62799
Tobias Kortkamp (tobik) · 0.18.1
*: apply refactor.remove-consecutive-empty-lines

Submitted by:	portedit
ce1af7fdc2
Eric Turgeon (ericbsd) · 0.18.1
x11-wm/qtile: update it to 0.18.1

PR:		258634
Reported by:	Evgeniy Khramtsov
53681f2fc5
Eric Turgeon (ericbsd) · 0.17.0
x11-wm/qtile: updated to 0.17.0
82e5fed3a9
Mathieu Arnold (mat) · 0.14.2
Remove # $FreeBSD$ from Makefiles.
305f148f48
Eric Turgeon (ericbsd) · 0.14.2
update x11-wm/qtile to 0.14.2
0cfd8c7ab3
Tobias Kortkamp (tobik) · 0.13.0
x11*: Add missing USES={gl,gnome,mate}
b132573e49
Eric Turgeon (ericbsd) · 0.13.0
bump cairocffi to 0.9 in x11-wm/qtile Makefile and remove broken

Approved by:	mentor (implicit)
1468973b1e
Mathieu Arnold (mat) · 0.13.0
Mark BROKEN: tries to download during configure phase

===>  Configuring for qtile-0.13.0
Download error on https://pypi.org/simple/cairocffi/: [Errno 65] No route to host -- Some packages may not be found!
Download error on https://pypi.org/simple/: [Errno 65] No route to host -- Some packages may not be found!
No local packages or working download links found for cairocffi>=0.9[xcb]

Reported by:	pkg-fallout
0c1f9ccef3
Eric Turgeon (ericbsd) · 0.13.0
remove broken states of x11-wm/qtile

Approved by:	mentors (implicit)
84bdd6534d
Eric Turgeon (ericbsd) · 0.13.0
adding plist file with missing _ffi_xcursors.py and _ffi_pango.py to x11-wm/qtile

Approved by:	mentors (implicit)
f128914fc0
Antoine Brodin (antoine) · 0.13.0
Mark BROKEN: tries to download during configure phase

===>  Configuring for qtile-0.13.0
Download error on https://pypi.org/simple/cairocffi/: [Errno 65] No route to host -- Some packages may not be found!
Download error on https://pypi.org/simple/: [Errno 65] No route to host -- Some packages may not be found!
No local packages or working download links found for cairocffi>=0.9[xcb]

Reported by:	pkg-fallout
f2ecef934c
Eric Turgeon (ericbsd) · 0.13.0
update x11-wm/qtile to 0.13.0
3f183f0cc2
Antoine Brodin (antoine) · 0.12.0
Allow building with different versions of python3
a8467ac2a7
Eric Turgeon (ericbsd) · 0.12.0
updating x11-wm/qtile to 0.12.0 and ericbsd is taking the maintanership

Approved by:	mentors (implicit)
3cda503c8d
Antoine Brodin (antoine) · 0.6_1
Deprecate ports broken for more than 6 months
0ac0d71edc
Tobias Kortkamp (tobik) · 0.6_1
Mark x11-wm/qtile as deprecated too

It has been non-functional for over a year.

PR:		222363
83004f3fee
Tobias Kortkamp (tobik) · 0.6_1
Explicitly mark x11-wm/qtile as broken

It's already being skipped now since x11/xpyb was marked as broken
in ports r471180, but qtile previously died with an xcb.Exception,
so mark it as broken anyway by request of Michael.

While here also reset maintainer due to the long timeout.

PR:		222363
Submitted by:	Michael Reim <kraileth@elderlinux.org>
Approved by:	wg (maintainer timeout, 1 year)
ca96d1197d
Mathieu Arnold (mat) · 0.6_1
Use PY_FLAVOR for dependencies.

FLAVOR is the current port's flavor, it should not be used outside of
this scope.

Sponsored by:	Absolight
4376dbbb58
Mathieu Arnold (mat) · 0.6_1
Convert Python ports to FLAVORS.

Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
551be3c723
Mathieu Arnold (mat) · 0.6_1
Remove ${PORTSDIR}/ from dependencies, categories v, w, x, y, and z.

With hat:	portmgr
Sponsored by:	Absolight
72ea7e696b
Dmitry Marakasov (amdmi3) · 0.6_1
- Add LICENSE_FILE - Add NO_ARCH - Switch to options helpers

Approved by:	portmgr blanket
d813b5429f
Mathieu Arnold (mat) · 0.6_1
Update ports in the remaining categories to not use GH_COMMIT.

With minor cleanups to make things simpler.

With hat:	portmgr
Sponsored by:	Absolight
fb4deed873
Marcus von Appen (mva) · 0.6_1
- Convert ports from korean/, shells/, x11/, x11-clocks/, x11-fm/,   x11-fonts/, x11-toolkits and x11-wm to new USES=python

Approved by:	portmgr (implicit)
a5f9cc91c2
Emanuel Haupt (ehaupt) · 0.6_1
Remove trailing whitespaces from category x11-wm
f9b77521fd
Emanuel Haupt (ehaupt) · 0.6_1
According to the Porter's Handbook (5.12.2.3.) default options must be added to OPTIONS_DEFINE. This policy has been implemented only recently that's why we have many ports violating this policy.

This patch adds the default options specified in the Porter's Handbook to
OPTIONS_DEFINE where they are being used. Ports maintained by
gnome@FreeBSD.org, kde@FreeBSD.org and x11@FreeBSD.org have been excluded.

Approved by:    portmgr (bapt)
5005b67362
William Grzybowski (wg) · 0.6_1
x11-wm/qtile: allow staging and minor fixes

- Allow staging
- Switch from easy_install to install
- Install docs unconditionally (stage will handle it)
- Unmute docs install command
- Do not install LICENSE
52fcc76fe5
Baptiste Daroussin (bapt) · 0.6
Add NO_STAGE all over the place in preparation for the staging support (cat: x11-wm)
c30de17205
William Grzybowski (wg) · 0.6
- Update to 0.6 - USE_GNOME for pygobject and pygtk2 [1] - Remove leading article from COMMENT

Changes: https://github.com/qtile/qtile/blob/8b133d46/CHANGELOG

Submitted by:	rm (via email) [1]
Approved by:	culot (mentor)
8b462fd846
William Grzybowski (wg) · 0.5
- Change MAINTAINER address of all my ports

Approved by:	culot (mentor)
ac3b2bec7c
William Grzybowski (wg) · 0.5
Fix RUN_DEPENDS

PR:		ports/177516
Submitted by:	Green Dog <fiziologus@gmail.com>
Approved by:	portmgr (tabthorpe), mentor (jpaetzel), maintainer (wg)
db4c84e3fd
Felippe de Meirelles Motta (lippe) · 0.5
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.

WWW: http://qtile.org

PR:		ports/177448
Submitted by:	William Grzybowski <william88@gmail.com>
fc39de2831