Isso pode ser útil, o seguinte é do tipo X ()
, portanto, pode ser vinculado a uma associação de teclas.
withWindowSet $ (\ws ->
case W.stack . W.workspace . W.current $ ws of
Just w' ->
mapM_ (\w -> do
s <- withDisplay $ \d -> fmap resClass $ liftIO $ getClassHint d w
case (s) of
"Emacs" -> do
windows $ W.focusWindow w
"Lxterminal" -> do
wmName <- withDisplay $ \d -> getStringProperty d w "WM_NAME"
case wmName of
Just "ranger" -> windows $ W.focusWindow w
) $ W.integrate w'
_ -> return ()
)
)
As linhas importantes são:
"Lxterminal" -> do
wmName <- withDisplay $ \d -> getStringProperty d w "WM_NAME"
case wmName of
Just "ranger" -> windows $ W.focusWindow w
Então, primeiro comparamos por WM_CLASS
e, em seguida, WM_NAME
.