This prevents an unnecessary refresh. That refresh would normally be harmless but it does reset the input focus, which happens to upset some non-conforming clients such as https://github.com/flameshot-org/flameshot. Flameshot is an interactive screenshot tool that creates an override-redirect fullscreen window to let the user select a rectangle to capture and then allows drawing and adding text and so on, but it unfortunately doesn't follow ICCCM recommendations: > If it is necessary for a client to receive keystrokes on an > override-redirect window, either the client must grab the keyboard, or > the client must have another top-level window that is not > override-redirect and that has selected the Locally Active or Globally > Active focus model. Instead, it just takes input focus and hopes for the best. And it also sends an entirely useless _NET_WM_STATE_FULLSCREEN request, which would trigger a refresh and take that focus away. This commit works around that by not handling that useless _NET_WM_STATE_FULLSCREEN for unmanaged windows and thus preventing that refresh. It's just a workaround, however: if a legitimate refresh is necessary at any point, the focus _will_ be taken away. Fixes: https://github.com/xmonad/xmonad-contrib/issues/550 Fixes: https://github.com/flameshot-org/flameshot/issues/773
xmonad-contrib: Third Party Extensions to the xmonad Window Manager
You need the ghc compiler and xmonad window manager installed in order to use these extensions.
For installation and configuration instructions, please see the xmonad website, the documents included with the xmonad source distribution, and the online haddock documentation.
Getting or Updating XMonadContrib
-
Latest release: https://hackage.haskell.org/package/xmonad-contrib
-
Git version: https://github.com/xmonad/xmonad-contrib
(To use git xmonad-contrib you must also use the git version of xmonad.)
Contributing
Haskell code contributed to this repo should live under the
appropriate subdivision of the XMonad
namespace (currently includes
Actions
, Config
, Hooks
, Layout
, Prompt
, and Util
). For
example, to use the Grid layout, one would import:
XMonad.Layout.Grid
For further details, see the documentation for the
XMonad.Doc.Developing
module, XMonad's CONTRIBUTING.md and the xmonad website.
License
Code submitted to the contrib repo is licensed under the same license as xmonad itself, with copyright held by the authors.