Qtile

Latest version: v0.26.0

Safety actively analyzes 638379 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.20.0

* features
- Add `place_right` option in the TreeTab layout to place the tab panel on the right side
- X11: Add support for _NET_DESKTOP_VIEWPORT. E.g. can be used by rofi to map on current output.
- Wayland: Bump wlroots version. 0.15.x wlroots and 0.15.2+ pywlroots are required.
- Add XWayland support to the Wayland backend. XWayland will start up as needed, if it is installed.
* bugfixes
- Remove non-commandable windows from IPC. Fixes bug where IPC would fail when trying to get info
on all windows but Systray has icons (which are non-commandable `_Window`s.)
- Fix bug where bars were not reconfigured correctly when screen layout changes.
- Fix a Wayland bug where layer-shell surface like dunst would freeze up and stop updating.
- Change timing of `screens_reconfigured` hook. Will now be called ONLY if `cmd_reconfigure_screens`
has been called and completed.
- Fix order of icons in Systray widget when restarting/reloading config.
- Fix rounding error in PulseVolume widget's reported volume.
- Fix bug where Volume widget did not load images where `theme_path` had been set in `widget_defaults`.
- Remove ability to have multiple `Systray` widgets. Additional `Systray` widgets will result in a
ConfigError.
- Release notification name from dbus when finalising `Notify` widget. This allows other notification
managers to request the name.
- Fix bug where `Battery` widget did not retrieve `background` from `widget_defaults`.
- Fix bug where widgets in a `WidgetBox` are rendered on top of bar borders.

- Add ability to swap focused window based on index, and change the order of windows inside current group

0.19.0

* features
- Add ability to draw borders to the Bar. Can customise size and colour per edge.
- Add `StatusNotifier` widget implementing the `StatusNotifierItem` specification.
NB Widget does not provide context menus.
- Add `total` bandwidth format value to the Net widget.
- Scratchpad groups could be defined as single so that only one of the scratchpad in the group is visible
at a given time.
- All scratchpads in a Scratchpad group can be hidden with hide_all() function.
- For saving states of scratchpads during restart, we use wids instead of pids.
- Scratchpads can now be defined with an optional matcher to match with window properties.
- `Qtile.cmd_reload_config` is added for reloading the config without completely restarting.
- Window.cmd_togroup's argument `groupName` should be changed to
`group_name`. For the time being a log warning is in place and a
migration is added. In the future `groupName` will fail.
- Add `min/max_ratio` to Tile layout and fix bug where windows can extend offscreen.
- Add ability for widget `mouse_callbacks` to take `lazy` calls (similar to keybindings)
- Add `aliases` to `lazy.spawncmd()` which takes a dictionary mapping convenient aliases
to full command lines.
- Add a new 'prefix' option to the net widget to display speeds with a static unit (e.g. MB).
- `lazy.group.toscreen()` now does not toggle groups by default. To get this behaviour back, use
`lazy.group.toscreen(toggle=True)`
- Tile layout has new `margin_on_single` and `border_on_single` option to specify
whether to draw margin and border when there is only one window.
- Thermal zone widget.
- Allow TextBox-based widgets to display in vertical bars.
- Added a focused attribute to `lazy.function.when` which can be used to Match on focused windows.
- Allow to update Image widget with update() function by giving a new path.
* bugfixes
- Windows are now properly re-ordered in the layouts when toggled on and off fullscreen

0.18.1

* features
- All layouts will accept a list of colors for border_* options with which
they will draw multiple borders on the appropriate windows.

0.18.0

!!! Config breakage !!!
- The `qtile` entry point doesn't run `qtile start` by default anymore
- New optional dependency for dbus related features: dbus-next.
Replaces previous reliance on dbus/Glib and allows qtile to use async
dbus calls within asyncio's eventloop.
- widget.BatteryIcon no longer has a fallback text mode; use
widget.Battery instead
- MonadX layout key new_at_current is deprecated, use new_client_position.
- `libqtile.window` has been moved to `libqtile.backend.x11.window`; a migration has been added for this.
!!! deprecation warning !!!
- 'main' config functions, deprecated in 0.16.1, will no longer be executed.
!!! Notice for packagers - new dependencies !!!
- Tests now require the 'dbus-next' python module plus 'dbus-launch' and 'notify-send' applications
* features
- added transparency in x11 and wayland backends
- added measure_mem and measure_swap attributes to memory widget to allow user to choose measurement units.
- memory widget can now be displayed with decimal values
- new "qtile migrate" command, which will attempt to upgrade previous
configs to the current version in the case of qtile API breaks.
- A new `reconfigure_screens` config setting. When `True` (default) it
hooks `Qtile.reconfigure_screens` to the `screen_change` hook,
reconfiguring qtile's screens in response to randr events. This
removes the need to restart qtile when adding/removing external
monitors.
- improved key chord / sequence functionality. Leaving a chord with `mode`
set brings you to a named mode you activated before, see 2264.
A new command, `lazy.ungrab_all_chords`, was introduced to return to the root bindings.
The `enter_chord` hook is now always called with a string argument.
The third argument to `KeyChord` was renamed from `submaping` to `submapping` (typo fix).
- added new argument for CheckUpdates widget: `custom_command_modify` which allows user to modify the
the line count of the output of `custom_command` with a lambda function (i.e. `lambda x: x-3`).
Argument defaults to `lambda x: x` and is overridden by `distro` argument's internal lambda.
- added new argument for the WindowName, WindowTabs and Tasklist widgets: `parse_text` which allows users to
define a function that takes a window name as an input, modify it in some way (e.g. str.replace(), str.upper() or regex)
and show that modification on screen.
- A Wayland backend has been added which can be used by calling `qtile start -b wayland` directly in your TTY.
It requires the latest releases of wlroots, python-xkbcommon, pywayland and pywlroots. It is expected to be
unstable so please let us know if you find any bugs!
- The 'focus` argument to `Click` and `Drag` objects in your config are no longer necessary (and are ignored).

0.17.0

!!! Python version breakage !!!
- Python 3.5 and 3.6 are no longer supported
!!! Config breakage !!!
- Pacman widget has been removed. Use CheckUpdates instead.
- Mpris widget has been removed. Use Mpris2 instead.
- property "masterWindows" of Tile layout renamed to master_length
- Match objects now only allow one string argument for their wm
name/class/etc. properties. to update your config, do e.g.
Group('www', spawn='firefox', layout='xmonad',
- matches=[Match(wm_class=['Firefox', 'google-chrome', 'Google-chrome'])]),
+ matches=[Match(wm_class='Firefox'), Match(wm_class='google-chrome'), Match(wm_class='Google-chrome')]),
- properties wname, wmclass and role of Slice-layout replaced by Match-
type property "match"
- rules specified in `layout.Floating`'s `float_rules` are now evaluated with
AND-semantics instead of OR-semantics, i.e. if you specify 2 different
property rules, both have to match
- check the new `float_rules` for `floating_layout` in the default config and
extend your own rules appropriately: some non-configurable auto-floating rules
were made explicit and added to the default config
- using `dict`s for `layout.Floating`'s `float_rules` is now deprecated, please
use `config.Match` objects instead
- `no_reposition_match` in `layout.Floating` has been removed; use the list of
`config.Match`-objects `no_reposition_rules` instead
- Command line has been modernized to a single entry point, the `qtile`
binary. Translations are below:
qtile -> qtile start
qtile-cmd -> qtile cmd-obj
qtile-run -> qtile run-cmd
qtile-top -> qtile top
qshell -> qtile shell
iqshell and dqtile-cmd are no longer distributed with the
package, as they were either user or developer scripts. Both are
still available in the qtile repo in /scripts.

Running `qtile` without arguments will continue to work for the
forseeable future, but will be eventually deprecated. qtile prints a
warning when run in this configuration.
- Qtile.cmd_focus_by_click is no longer an available command.
- Qtile.cmd_get_info is no longer an available command.
- libqtile.command_* has been deprecated, it has been moved to
libqtile.command.*
- libqtile.widget.base.ThreadedPollText has been removed; out of tree
widgets can use ThreadPoolText in the same package instead.
- the YahooWeather widget was removed since Yahoo retired their free
tier of the weather API
- Deprecated hook `window_name_change` got removed, use
`client_name_updated` instead.
- show_state attribute from WindowName widget has been removed. Use format attribute instead.
show_state = True -> format = '{state}{name}'
show_state = False -> format = '{name}'
- mouse_callbacks no longer receives the qtile object as an argument
(they receive no arguments); import it via `from libqtile import
qtile` instead.
* features
- new WidgetBox widget
- new restart and shutdown hooks
- rules specified in `layout.Floating`'s `float_rules` are now evaluated with
AND-semantics, allowing for more complex and specific rules
- Python 3.9 support
- switch to Github Actions for CI
- Columns layout has new `margin_on_single` option to specify margin
size when there is only one window (default -1: use `margin` option).
- new OpenWeather widget to replace YahooWeather
- new format attribute for WindowName widget
- new max_chars attribute for WindowName widget
- libqtile now exports type information
- add a new `qtile check` subcommand, which will check qtile configs
for various things:
- validates configs against the newly exported type information
if mypy is present in the environment
- validates that qtile can import the config file (e.g. that
syntax is correct, ends in a .py extension, etc.)
- validates Key and Mouse mod/keysym arguments are ok.
- Columns layout now enables column swapping by using swap_column_left and swap_column_right
!!! warning !!!
- When (re)starting, Qtile passes its state to the new process in a
file now, where previously it passed state directly as a string. This
fixes a bug where some character encodings (i.e. in group names) were
getting messed up in the conversion to/from said string. This change
will cause issues if you update Qtile then restart it, causing the
running old version to pass state in the previous format to the new
process which recognises the new.

0.16.1

!!! Config breakage !!!
- Hooks 'addgroup', 'delgroup' and 'screen_change' will no longer
receive the qtile object as an argument. It can be accessed directly
at libqtile.qtile.
!!! deprecation warning !!!
- defining a main function in your config is deprecated. You should use
hook.subscribe.startup_complete instead. If you need access to the
qtile object, import it from libqtile directly.
* bugfixes
- include tests in the release for distros to consume
- don't resize 0th screen incorrectly on root ConfigureNotify
- expose qtile object as libqtile.qtile (note that we still consider
anything not prefixed with cmd_ to be a private API)
- fix transparent borders
- MonadTall, MonadWide, and TreeTab now work with Slice

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.