Я понимаю, что мне нужно добавить что-то вроде:
composeOne [ isFullscreen -?> doFullFloat ]
на мой ManageHook. По крайней мере, согласно этой странице.
Но я не совсем уверен, где добавить его в моем конфиге xmonad. Мои знания Haskell относительно незначительны, и поскольку я использую xmonad с KDE, файл конфигурации выглядит не совсем стандартно.
Мой xmonad.hs выглядит так:
import XMonad
import XMonad.Config.Kde
import qualified XMonad.StackSet as W -- to shift and float windows
import XMonad.Hooks.ManageHelpers
main = xmonad $ kdeConfig
 { modMask = mod4Mask -- use the Windows button as mod
 , manageHook = manageHook kdeConfig <+> myManageHook
 }
 where
   myManageHook = composeAll . concat $
     [ [ className   =? c --> doFloat           | c <- myFloats]
     , [ title       =? t --> doFloat           | t <- myOtherFloats]
     , [ className   =? c --> doF (W.shift "3") | c <- webApps]
     , [ className   =? c --> doF (W.shift "4") | c <- ircApps]
     ]
   myFloats      = ["MPlayer", "Gimp", "Skype", "Plasma-desktop", "VirtualBox"]
   myOtherFloats = ["alsamixer"]
   webApps       = ["Firefox-bin", "Opera"] -- open on desktop 3
   ircApps       = ["Ksirc"]                -- open on desktop 4
Где бы я ни пытался это выразить, я просто получал загадочные сообщения об ошибках, которыми Haskell известен.
