448 lines
21 KiB
Plaintext
448 lines
21 KiB
Plaintext
qtile x.x.x, released xxxx-xx-xx:
|
|
!!! Config breakage !!!
|
|
- Many internal things were renamed from camel case to snake case. If
|
|
your config uses main(), or any lazy.function() invocations that
|
|
interact directly with the qtile object, you may need to forward port
|
|
them. Also note that we do *not* consider the qtile object to be a
|
|
stable api, so you will need to continue forward porting these things
|
|
for future refactorings (for wayland, etc.). A better approach may be
|
|
to add an upstream API for what you want to do ;)
|
|
- Maildir's subFolder and maildirPath changed to maildir_path and
|
|
sub_folder.
|
|
|
|
qtile 0.13.0, released 2018-12-23:
|
|
!!! deprecation warning !!!
|
|
- wmii layout is deprecated in terms of columns layout, which has the
|
|
same behavior with different defaults, see the wmii definition for
|
|
more details
|
|
* features
|
|
- add svg handling for images
|
|
- allow addgroup command to set the layout
|
|
- add command to get current log level
|
|
- allow groupbox to hide unused groups
|
|
- add caps lock indicator widget
|
|
- add custom_command to check_update widget
|
|
* bugfixes
|
|
- better shutdown handling
|
|
- fix clientlist current client tracking
|
|
- fix typo in up command on ratiotile layout
|
|
- various fixes to check_update widget
|
|
- fix 0 case for resize screen
|
|
|
|
qtile 0.12.0, released 2018-07-20:
|
|
!!! Config breakage !!!
|
|
- Tile layout commands up/down/shuffle_up/shuffle_down changed to be
|
|
more consistent with other layouts
|
|
- move qcmd to qtile-cmd because of conflict with renameutils, move
|
|
dqcmd to dqtile-cmd for symmetry
|
|
* features
|
|
- add `add_after_last` option to Tile layout to add windows to the end
|
|
of the list.
|
|
- add new formatting options to TaskList
|
|
- allow Volume to open app on right click
|
|
* bugfixes
|
|
- fix floating of file transfer windows and java drop-downs
|
|
- fix exception when calling `cmd_next` and `cmd_previous` on layout
|
|
without windows
|
|
- fix caps lock affected behaviour of key bindings
|
|
- re-create cache dir if it is deleted while qtile is running
|
|
- fix CheckUpdates widget color when no updates
|
|
- handle cases where BAT_DIR does not exist
|
|
- fix the wallpaper widget when using `wallpaper_command`
|
|
- fix Tile layout order to not reverse on reset
|
|
- fix calling `focus_previous/next` with no windows
|
|
- fix floating bug is BSP layout
|
|
|
|
qtile 0.11.1, released 2018-03-01:
|
|
* bug fix
|
|
- fixed pip install of qtile
|
|
|
|
qtile 0.11.0, released 2018-02-28:
|
|
!!! Completely changed extension configuration, see the documentation !!!
|
|
!!! `extention` subpackage renamed to `extension` !!!
|
|
!!! `extentions` configuration variable changed to `extension_defaults` !!!
|
|
* features
|
|
- qshell improvements
|
|
- new MonadWide layout
|
|
- new Bsp layout
|
|
- new pomodoro widget
|
|
- new stock ticker widget
|
|
- new `client_name_updated` hook
|
|
- new RunCommand and J4DmenuDesktop extension
|
|
- task list expands to fill space, configurable via `spacing` parameter
|
|
- add group.focus_by_name() and group.info_by_name()
|
|
- add disk usage ratio to df widget
|
|
- allow displayed group name to differ from group name
|
|
- enable custom TaskList icon size
|
|
- add qcmd and dqcmd to extend functionality around qtile.command
|
|
functionality
|
|
- add ScratchPad group that has configurable drop downs
|
|
* bugfixes
|
|
- fix race condition in Window.fullscreen
|
|
- fix for string formatting in qtile_top
|
|
- fix unicode literal in tasklist
|
|
- move mpris2 initialization out of constructor
|
|
- fix wlan widget variable naming and division
|
|
- normalize behavior of layouts on various commands
|
|
- add better fallback to default config
|
|
- update btc widget to use coinbase
|
|
- fix cursor warp when using default layout implementation
|
|
- don't crash when using widget with unmet dependencies
|
|
- fix floating window default location
|
|
|
|
qtile 0.10.7, released 2017-02-14:
|
|
* features
|
|
- new MPD widget, widget.MPD2, based on `mpd2` library
|
|
- add option to ignore duplicates in prompt widget
|
|
- add additional margin options to GroupBox widget
|
|
- add option to ignore mouse wheel to GroupBox widget
|
|
- add `watts` formatting string option to Battery widgets
|
|
- add volume commands to Volume widget
|
|
- add Window.focus command
|
|
* bugfixes
|
|
- place transient windows in the middle of their parents
|
|
- fix TreeTab layout
|
|
- fix CurrentLayoutIcon in Python 3
|
|
- fix xcb handling for xcffib 0.5.0
|
|
- fix bug in Screen.resize
|
|
- fix Qtile.display_kb command
|
|
|
|
qtile 0.10.6, released 2016-05-24:
|
|
!!! qsh renamed to qshell !!!
|
|
This avoids name collision with other packages
|
|
* features
|
|
- Test framework changed to pytest
|
|
- Add `startup_complete` hook
|
|
* bugfixes
|
|
- Restore dynamic groups on restart
|
|
- Correct placement of transient_for windows
|
|
- Major bug fixes with floating window handling
|
|
* file path changes (XDG Base Directory specification)
|
|
- the default log file path changed from ~/.qtile.log to
|
|
~/.local/share/qtile/qtile.log
|
|
- the cache directory changed from ~/.cache to ~/.cache/qtile
|
|
- the prompt widget's history file changed from ~/.qtile_history to
|
|
~/.cache/qtile/prompt_history
|
|
|
|
qtile 0.10.5, released 2016-03-06:
|
|
!!! Python 3.2 support dropped !!!
|
|
!!! GoogleCalendar widget dropped for KhalCalendar widget !!!
|
|
!!! qtile-session script removed in favor of qtile script !!!
|
|
* features
|
|
- new Columns layout, composed of dynamic and configurable columns of
|
|
windows
|
|
- new iPython kernel for qsh, called iqsh, see docs for installing
|
|
- new qsh command `display_kb` to show current key binding
|
|
- add json interface to IPC server
|
|
- add commands for resizing MonadTall main panel
|
|
- wlan widget shows when you are disconnected and uses a configurable
|
|
format
|
|
* bugfixes
|
|
- fix path handling in PromptWidget
|
|
- fix KeyboardLayout widget cycling keyboard
|
|
- properly guard against setting screen to too large screen index
|
|
|
|
qtile 0.10.4, released 2016-01-19:
|
|
!!! Config breakage !!!
|
|
- positional arguments to Slice layout removed, now `side` and `width`
|
|
must be passed in as keyword arguments
|
|
* features
|
|
- add alt coin support to BitcoinTracker widget
|
|
* bugfixes
|
|
- don't use six.moves assignment (fix for >=setuptools-19.3)
|
|
- improved floating and fullscreen handling
|
|
- support empty or non-charging secondary battery in BatteryWidget
|
|
- fix GoogleCalendar widget crash
|
|
|
|
qtile 0.10.3, released 2015-12-25:
|
|
* features
|
|
- add wmii layout
|
|
- add BSD support to graph widgets
|
|
* bugfixes
|
|
- fix (some) fullscreen problems
|
|
- update google calendar widget to latest google api
|
|
- improve multiple keyboard layout support
|
|
- fix displaying Systray widget on secondary monitor
|
|
- fix spawn file descriptor handling in Python 3
|
|
- remove duplicate assert code in test_verticaltile.py
|
|
- allow padding_{x,y} and margin_{x,y} widget attrs to be set to 0
|
|
|
|
qtile 0.10.2, released 2015-10-19:
|
|
* features
|
|
- add qtile-top memory monitoring
|
|
- GroupBox can set visible groups
|
|
- new GroupBox highlighting, line
|
|
- allow window state to be hidden on WindowName widget
|
|
- cmd_togroup can move to current group when None sent
|
|
- added MOC playback widget
|
|
- added memory usage widget
|
|
- log truncation, max log size, and number of log backups configurable
|
|
- add a command to change to specific layout index
|
|
(lazy.to_layout_index(index))
|
|
* bugfixes
|
|
- fixed memory leak in dgroups
|
|
- margin fixes for MonalTall layout
|
|
- improved cursor warp
|
|
- remove deprecated imp for Python >= 3.3
|
|
- properly close file for NetGraph
|
|
- fix MondadTall layout grow/shrink secondary panes for Python 2
|
|
- Clock widget uses datetime.now() rather than .fromtimestamp()
|
|
- fix Python 3 compatibility of ThermalSensor widget
|
|
- various Systray fixes, including implementing XEMBED protocol
|
|
- print exception to log during loading config
|
|
- fixed xmonad layout margins between main and secondary panes
|
|
- clear last window name from group widgets when closed
|
|
- add toggleable window border to single xmonad layout
|
|
* config breakage
|
|
- layouts.VerticalTile `windows` is now `clients`
|
|
- layouts.VerticalTile focus_next/focus_previous now take a single
|
|
argument, similar to other layouts
|
|
|
|
qtile 0.10.1, released 2015-07-08:
|
|
This release fixes a problem that made the PyPI package uninstallable,
|
|
qtile will work with a pip install now
|
|
|
|
qtile 0.10.0, released 2015-07-07:
|
|
!!! Config breakage !!!
|
|
- various deprecated commands have been removed:
|
|
Screen.cmd_nextgroup: use cmd_next_group
|
|
Screen.cmd_prevgroup: use cmd_prev_group
|
|
Qtile.cmd_nextlayout: use cmd_next_layout
|
|
Qtile.cmd_prevlayout: use cmd_prev_layout
|
|
Qtile.cmd_to_next_screen: use cmd_next_screen
|
|
Qtile.cmd_to_prev_screen: use cmd_prev_screen
|
|
- Clock widget: remove fmt kwarg, use format kwarg
|
|
- GmailChecker widget: remove settings parameter
|
|
- Maildir widget: remove maildirPath, subFolders, and separator kwargs
|
|
* Dependency updates
|
|
- cffi>=1.1 is now required, along with xcffib>=0.3 and cairocffi>=0.7
|
|
(the cffi 1.0 compatible versions of each)
|
|
- Care must be taken that xcffib is installed *before* cairocffi
|
|
* features
|
|
- add support for themed cursors using xcb-cursor if available
|
|
- add CheckUpdate widget, for checking package updates, this deprecates
|
|
the Pacman widget
|
|
- add KeyboardKbdd widget, for changing keyboard layouts
|
|
- add Cmus widget, for showing song playing in cmus
|
|
- add Wallpaper widget, for showing and cycling wallpaper
|
|
- add EzConfig classes allowing shortcuts to define key bindings
|
|
- allow GroupBox urgent highlighting through text
|
|
- Bar can be placed vertically on sides of screens (widgets must be
|
|
adapted for vertical viewing)
|
|
- add recognizing brightness keys
|
|
* bugfixes
|
|
- deprecation warnings were not printing to logs, this has been fixed
|
|
- fix calculation of y property of Gap
|
|
- fix focus after closing floating windows and floating windows
|
|
- fix various Python 3 related int/float problems
|
|
- remember screen focus across restarts
|
|
- handle length 1 list passed to Drawer.set_source_rgb without raising
|
|
divide by zero error
|
|
- properly close files opened in Graph widget
|
|
- handle _NET_WM_STATE_DEMANDS_ATTENTION as setting urgency
|
|
- fix get_wm_transient_for, request WINDOW, not ATOM
|
|
|
|
qtile 0.9.1, released 2015-02-13:
|
|
This is primarily a unicode bugfix release for 0.9.0; there were several
|
|
nits related to the python2/3 unicode conversion that were simply wrong.
|
|
This release also adds license headers to each file, which is necessary for
|
|
distro maintainers to package Qtile.
|
|
* bugfixes
|
|
- fix python2's importing of gobject
|
|
- fix unicode handling in several places
|
|
|
|
qtile 0.9.0, released 2015-01-20:
|
|
* !!! Dependency Changes !!!
|
|
New dependencies will need to be installed for qtile to work
|
|
- drop xpyb for xcffib (XCB bindings)
|
|
- drop py2cairo for cairocffi (Cairo bindings)
|
|
- drop PyGTK for asyncio (event loop, pangocairo bindings managed
|
|
internally)
|
|
- qtile still depends on gobject if you want to use anything that uses
|
|
dbus (e.g. the mpris widgets or the libnotify widget)
|
|
* features
|
|
- add Python 3 and pypy support (made possible by dependency changes)
|
|
- new layout for vertical monitors
|
|
- add startup_once hook, which is called exactly once per session (i.e.
|
|
it is not called when qtile is restarted via lazy.restart()). This
|
|
eliminates the need for the execute_once() function found in lots of
|
|
user configs.
|
|
- add a command for showing/hiding the bar (lazy.hide_show_bar())
|
|
- warn when a widget's dependencies cannot be imported
|
|
- make qtile.log more useful via better warnings in general, including
|
|
deprecation and various other warnings that were previously
|
|
nonexistent
|
|
- new text-polling widget super classes, which enable easy
|
|
implementation of various widgets that need to poll things outside
|
|
the event loop.
|
|
- add man pages
|
|
- large documentation update, widget/layout documentation is now
|
|
autogenerated from the docstrings
|
|
- new ImapWidget for checking imap mailboxes
|
|
* bugfixes
|
|
- change default wmname to "LG3D" (this prevents some java apps from
|
|
not working out of the box)
|
|
- all code passes flake8
|
|
- default log level is now WARNING
|
|
- all widgets now use our config framework
|
|
- windows with the "About" role float by default
|
|
- got rid of a bunch of unnecessary bare except: clauses
|
|
|
|
qtile 0.8.0, released 2014-08-18:
|
|
* features
|
|
- massive widget/layout documentation update
|
|
- new widget debuginfo for use in qtile development
|
|
- stack has new autosplit, fair options
|
|
- matrix, ratiotile, stack, xmonad, zoomy get 'margin' option
|
|
- new launchbar widget
|
|
- support for matching WM_CLASS and pid in Match
|
|
- add support for adding dgroups rules dynamically and via ipc
|
|
- Clock supports non-system timezones
|
|
- new mpris2 widget
|
|
- volume widget can use emoji instead of numbers
|
|
- add an 'eval' function to qsh at every object level
|
|
- bar gradients support more colors
|
|
- new Clipboard widget (very handy!)
|
|
* bugfixes
|
|
- bitcoin ticker widget switched from MtGox (dead) to btc-e
|
|
- all widgets now use qtile's defaults system, so their defaults are
|
|
settable globally, etc.
|
|
- fix behavior when screens are cloned
|
|
- all widgets use a unified polling framework
|
|
- "dialog" WM_TYPEs float by default
|
|
- respect xrandr --primary
|
|
- use a consistent font size in the default config
|
|
- default config supports mouse movements and floating
|
|
- fix a bug where the bar was not redrawn correctly in some multiscreen
|
|
environments
|
|
- add travis-ci support and make tests vastly more robust
|
|
* config breakage
|
|
- libqtile.layout.Stack's `stacks` parameter is now `num_stacks`
|
|
|
|
qtile 0.7.0, released 2014-03-30:
|
|
* features
|
|
- new disk free percentage widget
|
|
- new widget to display static image
|
|
- per core CPU graphs
|
|
- add "screen affinity" in dynamic groups
|
|
- volume widget changes volume linear-ly instead of log-ly
|
|
- only draw bar when idle, vastly reducing the number of bar draws and
|
|
speeding things up
|
|
- new Gmail widget
|
|
- Tile now supports automatically managing master windows via the
|
|
`master_match` parameter.
|
|
- include support for minimum height, width, size increment hints
|
|
* bugfixes
|
|
- don't crash on any exception in main loop
|
|
- don't crash on exceptions in hooks
|
|
- fix a ZeroDivisionError in CPU graph
|
|
- remove a lot of duplicate and unused code
|
|
- Steam windows are placed more correctly
|
|
- Fixed several crashes in qsh
|
|
- performance improvements for some layouts
|
|
- keyboard layout widget behaves better with multiple keyboard
|
|
configurations
|
|
* config breakage
|
|
- Tile's shuffleMatch is renamed to resetMaster
|
|
|
|
qtile 0.6, released 2013-05-11:
|
|
!!! Config breakage !!!
|
|
This release breaks your config file in several ways:
|
|
- The Textbox widget no longer takes a ``name'' positional parameter,
|
|
since it was redundant; you can use the ``name'' kwarg to define it.
|
|
- manager.Group (now _Group) is not used to configure groups any more;
|
|
config.Group replaces it. For simple configurations (i.e.
|
|
Group("a") type configs), this should be a drop in replacement.
|
|
config.Group also provides many more options for showing and hiding
|
|
groups, assigning windows to groups by default, etc.
|
|
- The Key, Screen, Drag, and Click objects have moved from the manager
|
|
module to the config module.
|
|
- The Match object has moved from the dgroups module to the config
|
|
module.
|
|
- The addgroup hook now takes two parameters: the qtile object and the
|
|
name of the group added:
|
|
@hook.subscribe
|
|
def addgroup_hook(qtile, name):
|
|
pass
|
|
- The nextgroup and prevgroup commands are now on Screen instead of
|
|
Group.
|
|
For most people, you should be able to just:
|
|
sed -i -e 's/libqtile.manager/libqtile.config' config.py
|
|
...dgroups users will need to go to a bit more work, but hopefully
|
|
configuration will be much simpler now for new users.
|
|
* features
|
|
- New widgets: task list,
|
|
- New layout: Matrix
|
|
- Added ability to drag and drop groups on GroupBox
|
|
- added "next urgent window" command
|
|
- added font shadowing on widgets
|
|
- maildir widget supports multiple folders
|
|
- new config option log_level to set logging level (any of
|
|
logging.{DEBUG, INFO, WARNING, ERROR, CRITICAL})
|
|
- add option to battery widget to hide while level is above a certain
|
|
amount
|
|
- vastly simplify configuration of dynamic groups
|
|
- MPD widget now supports lots of metadata options
|
|
* bugfixes
|
|
- don't crash on restart when the config has errors
|
|
- save layout and selected group state on restart
|
|
- varous EWMH properties implemented correctly
|
|
- fix non-black systray icon backgrounds
|
|
- drastically reduce the number of timeout_add calls in most widgets
|
|
- restart on RandR attach events to allow for new screens
|
|
- log level defaults to ERROR
|
|
- default config options are no longer initialized when users define
|
|
their corresponding option (preventing duplicate widgets, etc.)
|
|
- don't try to load config in qsh (not used)
|
|
- fix font alignment across Textbox based widgets
|
|
|
|
qtile 0.5, released 2012-11-11:
|
|
(Note, this is not complete! Many, many changes have gone in to 0.5, by a
|
|
large number of contributors. Thanks to everyone who reported a bug or
|
|
fixed one!)
|
|
* features
|
|
- Test framework is now nose
|
|
- Documentation is now in sphinx
|
|
- Several install guides for various OSes
|
|
- New widgets: battery based icon, MPRIS1, canto, current layout, yahoo
|
|
weather, sensors, screen brightness, notifiy, pacman, windowtabs,
|
|
she, crashme, wifi.
|
|
- Several improvements to old widgets (e.g. battery widget displays low
|
|
battery in red, GroupBox now has a better indication of which screen
|
|
has focus in multi-screen setups, improvements to Prompt, etc.)
|
|
- Desktop notification service.
|
|
- More sane way to handle configuration files
|
|
- Promote dgroups to a first class entity in libqtile
|
|
- Allow layouts to be named on an instance level, so you can:
|
|
layouts = [
|
|
# a layout just for gimp
|
|
layout.Slice('left', 192, name='gimp', role='gimp-toolbox',
|
|
fallback=layout.Slice('right', 256, role='gimp-dock',
|
|
fallback=layout.Stack(stacks=1, **border_args)))
|
|
]
|
|
...
|
|
|
|
dynamic_groups = { 'gimp': {'layout': 'gimp'} }
|
|
|
|
Dgroups(..., dynamic_groups, ...)
|
|
- New Layout: Zoomy
|
|
- Add a session manager to re-exec qtile if things go south
|
|
- Support for WM_TAKE_FOCUS protocol
|
|
- Basic .desktop file for support in login managers
|
|
- Qsh reconnects after qtile is restarted from within it
|
|
- Textbox supports pango markup
|
|
- Examples moved to qtile-examples repository.
|
|
|
|
* bugfixes
|
|
- Fix several classes of X races in a more sane way
|
|
- Minor typo fixes to most widgets
|
|
- Fix several crashes when drawing systray icons too early
|
|
- Create directories for qtile socket as necessary
|
|
- PEP8 formatting updates (though we're not totally there yet)
|
|
- All unit tests pass
|
|
- Lots of bugfixes to MonadTall
|
|
- Create IPC socket directory if necessary
|
|
- Better error if two widgets have STRETCH length
|
|
- Autofloat window classes can now be overridden
|
|
- xkeysyms updated
|