Difference between revisions of "Xmonad/Notable changes since 0.12"

From HaskellWiki
Jump to navigation Jump to search
(note also dzen -dock)
(state file bug)
Line 12: Line 12:
   
 
There is still a bug in the new strut code, insofar as it only detects struts on windows with the EWMH <code>NET_WM_WINDOW_TYPE_DOCK</code> window type (there is code to handle other windows, but it does not appear to be being used). Notably, this means that if you use <code>dzen</code>, you will need to add the <code>-dock</code> parameter for struts to work.
 
There is still a bug in the new strut code, insofar as it only detects struts on windows with the EWMH <code>NET_WM_WINDOW_TYPE_DOCK</code> window type (there is code to handle other windows, but it does not appear to be being used). Notably, this means that if you use <code>dzen</code>, you will need to add the <code>-dock</code> parameter for struts to work.
  +
  +
== State file bug ==
  +
  +
The 0.13 release included a change to pass state information across mod-q via a file instead of as command line parameters, which fixes some bugs related to overly long command lines (usually seen when using something like <code>XMonad.Actions.Plane</code>, or very many or very long <code>spawnOnce</code> invocations). Unfortunately, the release version did not remove the file after reading it, causing old state information to be added to new sessions.
  +
  +
This bug has been fixed in git, and can be worked around by removing the state file <code>~/.xmonad/xmonad.state</code> (or, if you are using pseudo-XDG mode, <code>~/.config/xmonad/xmonad.state</code>) before starting xmonad as part of session startup.

Revision as of 00:13, 15 June 2017

This page is for keeping a record of significant changes in git xmonad and xmonad-contrib since the 0.12 releases (Dec 18, 2015). See git log in the source repositories for the patches and more details covering documentation and bug fixes not noted here.

non-breaking changes

(to come)

breaking changes

ManageDocks changes

The XMonad.Hooks.ManageDocks strut cache, introduced (buggily) in 0.12, has been rewritten. The current version requires, in addition to docksEventHook which became required in 0.12), addition of docksStartupHook to initialize the strut cache from existing windows.

A new docks combinator was also added; it adds all of the hooks needed to a config. This is now the preferred way to use ManageDocks, as it can be kept up to date with any new hooks that might be added in the future without requiring user config changes.

There is still a bug in the new strut code, insofar as it only detects struts on windows with the EWMH NET_WM_WINDOW_TYPE_DOCK window type (there is code to handle other windows, but it does not appear to be being used). Notably, this means that if you use dzen, you will need to add the -dock parameter for struts to work.

State file bug

The 0.13 release included a change to pass state information across mod-q via a file instead of as command line parameters, which fixes some bugs related to overly long command lines (usually seen when using something like XMonad.Actions.Plane, or very many or very long spawnOnce invocations). Unfortunately, the release version did not remove the file after reading it, causing old state information to be added to new sessions.

This bug has been fixed in git, and can be worked around by removing the state file ~/.xmonad/xmonad.state (or, if you are using pseudo-XDG mode, ~/.config/xmonad/xmonad.state) before starting xmonad as part of session startup.