Qtile

Latest version: v0.25.0

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

Scan your dependencies

Page 2 of 6

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

0.16.0

!!! Config breakage !!!
- Imports from libqtile.widget are now made through a function
proxy to avoid the side effects of importing all widgets at
once. If you subclass a widget in your config, import it from
its own module.
e.g. from libqtile.widget.pomodoro import Pomodoro
* features
- added `guess_terminal` in utils
- added keybinding cheet sheet image generator
- custom keyboardlayout display
- added native support for key chords
- validate config before restart and refuse to restart with a bad
config
- added a bunch of type annotations to config objects (more to come)
* bugfixes
- major focus rework; Java-based IDEs such as PyCharm, NetBrains, etc.
now focus correctly
- fix a bug where spotify (or any window with focus-to=parent) was
closed, nothing would be focused and no hotkeys would work
- support windows unsetting the input hint
- respects window's/user's location setting if present (WM_SIZE_HINTS)
- fixed YahooWeather widget for new API
- fix a bug where _NET_WM_DESKTOPS wasn't correctly updated when
switching screens in some cases
- fix a crash in the BSP layout
- fix a stacktrace when unknown keysyms are encounted
- make qtile --version output more sane
- fix a rendering issue with special characters in window names
- keyboard widget no longer re-sets the keyboard settings every second
- fix qtile-top with the new IPC model
- Image widget respects its background setting now
- correctly re-draw non-focused screens on qtile restart
- fix a crash when decoding images
- fix the .when() constraint for lazy objects

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.