Changelog for
qtile-0.26.0-1.1.x86_64.rpm :
* Sat Jun 08 2024 Soc Virnyl Estela
- Attempt to remove mypy for now as this might be the cause of failed tests (?) * need to confirm from upstream * Thu Jun 06 2024 Soc Virnyl Estela - Add gtk-layer-shell and dbus-1-tools for tests and remove the bcond macro * Thu May 30 2024 Soc Virnyl Estela - Make the wlroots version more specific so we don\'t get false ideas of build failures * Sun May 26 2024 Soc Virnyl Estela - Update to version 0.26.0 - this release drops support for python 3.9 - deleted the (very old) libqtile/command_ * deprecation wrappers - SIGUSR2 no longer restarts qtile, instead it dumps stack traces - lazy..when(when_floating=X) now behaves differently: the lazy call will be executed independently of the current window\'s float state by default, and can be limited to when it is floating or tiled by passing when_floating as True or False respectively. - Dropped support for KDE idle protocol on Wayland - Qtile\'s Wayland backend now requires wlroots 0.17.x, pywlroots 0.17.x and pywayland >= 0.4.17. - We currently do not build for pypy-3.10 as there seems to be a resolution error in either pypy or pip (https://github.com/pypy/pypy/issues/4956) - For Wayland you can now set the cursor theme and size to forcefully use in Qtile, set `wl_xcursor_theme` and `wl_xcursor_size` in the configuration - automatically lift types to their annotated type when specified via the `qtile cmd-obj` command line - Add `Plasma` layout. The original layout (https://github.com/numirias/qtile-plasma) appears to be unmaintained so we have added this to the main codebase. - Add ability to specify muted and unmuted formats for `Volume` and `PulseVolume` widgets. - Add back server-side opacity support for Wayland backend- Attempt to use tests without xvfb * Tue May 21 2024 Soc Virnyl Estela - Update to version 0.25.0: * features - The Battery widget now supports dynamic charge control, allowing for protecting battery life. - To support the above (plus the other widgets that modify sysfs), qtile now ships with its own udev rules, located at /resources/99-qtile.rules; distro packagers will probably want to install this rule set. * bugfixes - Fix groups marked with `persist=False` not being deleted when their last window is moved to another group. - Fallback icon in StatusNotifier widget * Tue Apr 09 2024 Bernhard Wiedemann - Require python3-cairocffi-pixbuf at runtime * Fri Mar 01 2024 Soc Virnyl Estela - Update specfile * add python3-isort for tests * Thu Feb 29 2024 Soc Virnyl Estela - Update specfile * add python3-libcst for tests * Thu Feb 29 2024 Soc Virnyl Estela - Update to version 0.24.0 !!! config breakage/changes !!! - Matches no longer use \"include/substring\" style matching. But match the string exactly. Previously on X11, if the WM_TYPE of a spawned window is e.g. dialog a match with wm_type dialognoonereadschangelogs would return true. Additionally a window with an empty WM_CLASS (which can happen) would match anything. If you rely this style of substring matching, pass a regex to your match or use a function with func=. Using a list of strings inside Match with role, title, wm_class, wm_instance_class, wm_type are also deprecated, use a regex. Right now we replace the property with a regex if it\'s a list and warn with a deprecation message. You can use \"qtile migrate\" to migrate your config to this. * features - Change how `tox` runs tests. See https://docs.qtile.org/en/latest/manual/contributing.html#running-tests-locally for more information on how to run tests locally. - Add `ScreenSplit` layout which allows multiple layouts per screen. Also adds `ScreenSplit` widget to display name of active split. - Updated `Bluetooth` widget which allows users to manage multiple devices in a single widget - Add `align` option to `Columns` layout so new windows can be added to left or right column. - `.when()` have two new parameters: - `func: Callable`: Enable call when the result of the callable evaluates to True - `condition: bool`: a boolean value to determine whether the lazy object should be run. Unlike `func`, the condition is evaluated once when the config file is first loaded. - Add ability to have bar drawns over windows by adding `reserve=False` to bar\'s config to stop the bar reserving screen space. - Add ability for third-party code (widgets, layouts) to create hooks - Add ability to create user-defined hooks which can be fired from external scripts * bugfixes - Fix two bugs in stacking transient windows in X11 - Checking configs containing `qtile.core.name` with `python config.py` don\'t fail anymore (but `qtile.core.name` will be `None`) - Fix an error if a wayland xwindow has unknown wm_type * Mon Jan 29 2024 Andreas Schwab - Remove unneeded constraints * Sun Dec 17 2023 Soc Virnyl Estela - Reenable tests.- Added python-importlib-resources and python-importlib-metadata as part of tests.- Update required and recommended dependencies. * Sun Dec 17 2023 Soc Virnyl Estela - Update alternatives is done wrong in postuninstall. fixed. * Wed Nov 15 2023 Dominique Leuenberger - Do not use the pythons flavor expansion, as this package simply relies on the default python version, which is always provided as python3- *. All Build- and runtime dependencies were already set accordingly. Use python3_pyproject_wheel instead of pyproject_wheel macros during build/install phase to make this work. * Sun Nov 05 2023 Soc Virnyl Estela - Use latest python with primary_python macro * Mon Oct 30 2023 Soc Virnyl Estela - Remove the following suggestions.: * python3-jupyter_console * python3-jupyter_ipykernel * python3-tk- Add the following suggestions: * xdg-desktop-portal-wlr * xdg-desktop-portal-gtk * xdg-desktop-portal-hyprland- Move pyxdg to requires- Add qtile-portals.conf for XDP * Sun Oct 29 2023 Soc Virnyl Estela - Cleanup specfile * Sun Oct 29 2023 Soc Virnyl Estela - Fix wayland backend build * Tue Oct 24 2023 Soc Virnyl Estela - Disabled tests for now. Undeterministic and random fails. Might be VM related. * Tue Oct 24 2023 Soc Virnyl Estela - Requires pycairo >= 1.25.1 to prevent crashes * Tue Oct 24 2023 Soc Virnyl Estela - update _constraints to avoid oom: * physical memory to 24G * Wed Oct 18 2023 Soc Virnyl Estela - Requires python xcffib >= 1.4.0 * Wed Oct 18 2023 Soc Virnyl Estela - Requires now python-cairocffi >=1.6.0- Reenable tests * Wed Oct 04 2023 Soc Virnyl Estela - Change recommends from pulseaudio to pipewire and pipewire-pulseaudio- Qtile requires python-pywayland and python-pywlroots for it to run on wayland backend * Tue Oct 03 2023 Soc Virnyl Estela - Disabled tests again since it requires https://github.com/leifgehrmann/pangocffi which openSUSE does not have yet. * Tue Oct 03 2023 Soc Virnyl Estela - Reenable tests in specfile.- Update to version 0.23.0 !!! Dependency Changes !!! - xcffib must be upgraded to >= 1.4.0 - cairocffi must be upgraded to >= 1.6.0 - New optional dependency `pulsectl-asyncio` required for `PulseVolume` widget !!! Notice for packagers - wlroots (optional dependency) bump !!! - Qtile\'s wayland backend now requires on wlroots 0.16 (and pywlroots 0.16) !!! config breakage/changes !!! - The `cmd_` prefix has been dropped from all commands (this means command names are common when accessed via the command interface or internal python objects). - Custom widgets should now expose command methods with the `AATTexpose_command` decorator (available via `from libqtile.command.base import expose_command`). - Some commands have been renamed (in addition to dropping the \'cmd_\' prefix): `hints` -> `get_hints` `groups` -> `get_groups` `screens` -> `get_screens` - Layouts need to rename some methods: - `add` to `add_client` - `cmd_next` to `next` - `cmd_previous` to `previous` - Layouts or widgets that redefine the `commands` property need to update the signature: `AATTexpose_command()` `def commands(self) -> list[str]:` - `Window.getsize` has been renamed `Window.get_size` (i.e. merged with the get_size command). - `Window.getposition` has been renamed `Window.get_position` (i.e. merged with the get_position command). - The `StockTicker` widget `function` option is being deprecated: rename it to `func`. - The formatting of `NetWidget` has changed, if you use the `format` parameter in your config include `up_suffix`, `total_suffix` and `down_suffix` to display the respective units. - The `Notify` widget now has separate `default_timeout` properties for differenct urgency levels. Previously, `default_timeout` was `None` which meant that there was no timeout for all notifications (unless this had been set by the client sending the notification). Now, `default_timeout` is for normal urgency notifications and this has been set to a default of 10 seconds. `default_timeout_urgent`, for critical notifications, has a timeout of `None`. - The `PulseVolume` widget now depends on a third party library, `pulsectl-asyncio`, to interact with the pulse audio server. Users will now see an `ImportError` until they install that library. * features - Add ability to set icon size in `LaunchBar` widget. - Add \'warp_pointer\' option to `Drag` that when set will warp the pointer to the bottom right of the window when dragging begins. - Add `currentsong` status to `Mpd2` widget. - Add ability to disable group toggling in `GroupBox` widget - Add ability to have different border color when windows are stacked in Stack layout. Requires setting `border_focus_stack` and `border_normal_stack` variables. - Add ability to have different single border width for Columns layout by setting \'single_border_width\' key. - Add ability to have different border and margin widths when VerticalTile layout only contains 1 window by setting \'single_border_width\' and \'single_margin\' keys. - New widget: GenPollCommand - Add `format` and `play_icon` parameters for styling cmus widget. - Add ability to add a group at a specified index - Add ability to spawn the `WidgetBox` widget opened. - Add ability to swap focused window based on index, and change the order of windows inside current group - Add ability to update the widget only once if `update_interval` is None. - Add `move_to_slice` command to move current window to single layout in `Slice` layout - Made the `NetWidget` text formattable. - Qtile no longer floods the log following X server disconnection, instead handling those errors. - `Key` and `KeyChord` bindings now have another argument `swallow`. It indicates whether or not the pressed keys should be passed on to the focused client. By default the keys are not passed (swallowed), so this argument is set to `True`. When set to `False`, the keys are passed to the focused client. A key is never swallowed if the function is not executed, e.g. due to failing the `.when()` check. - Add ability to set custom \"Undefined\" status key value to `Mpd2Widget`. - `Mpd2Widget` now searches for artist name in all similar keys (i.e `albumartist`, `performer`, etc.). - Add svg support to `CustomLayoutIcon` - added layering controls for X11 (Wayland support coming soon!): - `lazy.window.keep_above()/keep_below()` marks windows to be kept above/below other windows permanently. Calling the functions with no arguments toggles the state, otherwise pass `enable=True` or `enable=False`. - `lazy.window.move_up()/move_down()` moves windows up and down the z axis. - added `only_focused` setting to Max layout, allowing to draw multiple clients on top of each other when set to False - Add `suspend` hook to run functions before system goes to sleep. * bugfixes - Fix bug where Window.center() centers window on the wrong screen when using multiple monitors. - Fix `Notify` bug when apps close notifications. - Fix `CPU` precision bug with specific version of `psutil` - Fix config being reevaluated twice during reload (e.g. all hooks from config were doubled) - Fix `PulseVolume` high CPU usage when update_interval set to 0. - Fix `Battery` widget on FreeBSD without explicit `battery` index given. - Fix XMonad layout faulty call to nonexistent _shrink_up - Fix setting tiled position by mouse for layouts using _SimpleLayoutBase. To support this in other layouts, add a swap method taking two windows. - Fix unfullscreening bug in conjunction with Chromium based clients when auto_fullscreen is set to `False`. - Ensure `CurrentLayoutIcon` expands paths for custom folders. - Fix vertical alignment of icons in `TaskList` widget - Fix laggy resize/positioning of floating windows in X11 by handling motion notify events later. We also introduced a cap setting if you want to limit these events further, e.g. for limiting resource usage. This is configurable with the x11_drag_polling_rate variable for each `Screen` which is set to None by default, indicating no cap. * python version support - We have added support for python 3.11 and pypy 3.9. - python 3.7, 3.8 and pypy 3.7 are not longer supported. - Fix bug where `StatusNotifier` does not update icons * Wed Jun 21 2023 Soc Virnyl Estela - Remove 0000-fix-and-new-features-on-latest-wlroots.patch. * Mon Jun 19 2023 Soc Virnyl Estela - Disable tests. I get a lot of build workers disliking it * Fri Jun 16 2023 Soc Virnyl Estela - Add mypy to tests. * Fri Jun 16 2023 Soc Virnyl Estela - Disable tests on wayland temporarily. Reenable if PR for 0.16.x support lands. * Fri Jun 16 2023 Soc Virnyl Estela - Migrate back to python hosted sources through py2pack. * Thu Jun 15 2023 Soc Virnyl Estela - Disable patch for now.- Use wlroots10-devel, also called wlroots 0.15.1. Patch is still draft after all.- Change to upstream sources * Thu Jun 15 2023 Soc Virnyl Estela - Add 0000-fix-and-new-features-on-latest-wlroots.patch. * * ATTENTION * * This is a temporary fix for building qtile on latest wlroots. The PR is still a draft. * Thu May 18 2023 Soc Virnyl Estela - Fix CFLAGS in spec to include wlroots. * Tue Feb 07 2023 Soc Virnyl Estela - Excluded arm because lots of failures. * Sat Feb 04 2023 Soc Virnyl Estela - Set wlroots less than 0.16.0- Set required memory to 8GB to enable other architectures.- Use %optflags macro and pkg-config as values for CFLAGs. * Tue Oct 18 2022 pgajdosAATTsuse.com- python-six is not required https://trello.com/c/MO53MocR/143-remove-python3-six * Fri Oct 14 2022 John Vandenberg - Update to v0.22.1 * GitHub tag is signed for those who need it- from v0.22.0 * !!! Config breakage !!! lazy.qtile.display_kb() no longer receives any arguments. If you passed it any arguments (which were ignored previously), remove them. * If you have a custom startup Python script that you use instead of `qtile start` and run init_log manually, the signature has changed. Please check the source for the updated arguments. * `KeyChord`\'s signature has changed. ``mode`` is now a boolean to indicate whether the mode should persist. The ``name`` parameter should be used to name the chord (e.g. for the ``Chord`` widget). * Add ability to draw borders and add margins to the `Max` layout. * The default XWayland cursor is now set at startup to left_ptr, so an xsetroot call is not needed to avoid the ugly X cursor. * Wayland: primary clipboard should now behave same way as with X after selecting something it should be copied into clipboard * Add `resume` hook when computer resumes from sleep/suspend/hibernate. * Add `text_only` option for `LaunchBar` widget. * Add `force_update` command to `ThreadPoolText` widgets to simplify updating from key bindings * Add scrolling ability to `_TextBox`-based widgets. * Add player controls (via mouse callbacks) to `Mpris2` widget. * Wayland: input inhibitor protocol support added (pywayland>=0.4.14 & pywlroots>=0.15.19) * Add commands to control Pomodoro widget. * Add icon theme support to `TaskList` widget (available on X11 and Wayland backends). * Wayland: Use `qtile cmd-obj -o core -f get_inputs` to get input device identifiers for configuring inputs. Also input configs will be updated by config reloads (pywlroots>=0.15.21) * Widgets that are incompatible with a backend (e.g. Systray on Wayland) will no longer show as a ConfigError in the bar. Instead the widget is silently removed from the bar and a message included in the logs. * Reduce error messages in `StatusNotifier` widget from certain apps. * Reset colours in `Chord` widget * Prevent crash in `LaunchBar` when using SVG icons * Improve scrolling in `Mpris2` widget (options to repeat scrolling etc.) * Sun Aug 21 2022 John Vandenberg - Added _constraints file as tests need more memory- Disabled many of the new tests due to failures reported upstream- Update to v0.21.0: * Add `lazy.window.center()` command to center a floating window on the screen. * Wayland: added power-output-management-v1 protocol support, added idle protocol, added idle inhibit protocol * Add MonadThreeCol layout based on XMonad\'s ThreeColumns. * Add `lazy.screen.set_wallpaper` command. * Added ability to scale the battery icon\'s size * Add Spiral layout * Add `toggle` argument to `Window.togroup` with the same functionality as in `Group.toscreen`. * Added `margin_on_single` and `border_on_single` to Bsp layout * Fix `Systray` crash on `reconfigure_screens`. * Fix bug where widgets can\'t be mirrored in same bar. * Fix various issues with setting fullscreen windows floating and vice versa. * Fix a bug where a .when() check for lazy functions errors out when matching on focused windows when none is focused. By default we do not match on focused windows, to change this set `if_no_focused` to True. * Widget with duplicate names will be automatically renamed by appending numeric suffixes * Fix resizing of wallpaper when screen scale changes (X11) * Two small bugfixes for `StatusNotifier` - better handling of Ayatana indicators * Fix bug where StatusNotifierItem crashes due to invalid object paths (e.g. Zoom)- from v0.20.0 * 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. * Remove non-commandable windows from IPC. Fixes bug where IPC would fail when trying to get in on all windows but Systray has icons (which are non-commandable _Windows.) * 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.- from v0.19.0 * 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. * Thu Dec 23 2021 Dominique Leuenberger - Do only pull in default python3 providers: this package does not provide any python module, so there is no reason in pulling all python flavors into the buildroot. * Wed Sep 22 2021 Dawid Respondek - Update to version 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. * Mon Sep 06 2021 Dawid Respondek - Update to version 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). * Thu May 27 2021 Petr Cervinka - Update to version 0.17.0: * 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.- Update qtile-rpmlintrc, remove warning related to dqtile-cmd, ignore zero-length for py.typed- Remove shebang in cmd_obj.py- Add typelib(Notify) to test requirements- Remove man pages (dropped in upstream)- Add sensors to recommends- Disable tests test_qtile_cmd (unstable in obs, works fine in local build osc environment)