<div dir="auto">Thank you for the explanation. <div>I have thought about removing that for a few years now, but just never had. <div><br></div><div>All is working fine now.  On to my other, less important, breaking changes.</div><div>Maybe a good time to clean things up a bit. </div><div><br></div><div>Eric</div><div><br><br>Envoyé depuis ma tablette Huawei</div></div></div><div style="line-height:1.5"><br><br>-------- Message original --------<br>De : Tony Zorman <soliditsallgood@mailbox.org><br>Date : sam. 22 oct. 2022 à 01:09<br>À : "Eric.a" <e.a.gebhart@gmail.com>, xmonad@haskell.org<br>Objet : Re: [xmonad] scratchpads broken after upgrade.<br><blockquote>Hi Eric,<br><br>the problem is the following line:<br><br>> myScratchpadManageHook =<br>>     manageScratchPad <+><br>>     namedScratchpadManageHook scratchpads<br><br>As Brandon said, the X.U.Scratchpad module is deprecated at this point<br>(and should have been for 0.17.1 but we didn't notice this in time...).<br>If you remove your usage of it, everything should work fine.<br><br>If you're interested in the boring explanation: what happens in the<br>background is that X.U.Scratchpad just latches onto X.U.NamedScratchpad<br>(NSP) functionality, so `scratchpadManageHook' is really just a call to<br>`namedScratchpadManageHook' with a custom query (which is one of the<br>reasons we deprecated it).<br><br>Now, in order to make NSP more extensible, we shuffled some internals<br>around and made the scratchpad functions ignore the scratchpad argument<br>they are given, instead referring to some that *that is filled by the<br>NSP manageHook*.  This is a bit of a hack, but was necessary to<br>facilitate backwards compatibility—it is one of the most used modules.<br>However, since the manageHook runs quite often, we don't want to fill up<br>the state every time, so there's a small check whether *something* is<br>there already.  Now, the `(<+>)' operator (which is really `(<>)')<br>associates to the left, so when running the code `manageScratchPad' will<br>be executed first, fill up the state with a single unnamed scratchpad,<br>and call it a day.<br><br>Best,<br>  Tony<br><br>-- <br>Tony Zorman | https://tony-zorman.com/<br></blockquote></div>