No xmonad, como posso ligar um atalho de teclado para focar um aplicativo específico?

2

Por exemplo Eu quero ligar Mod + Deslocar + m para me trazer para a janela cujo className é "Emacs", para que eu possa mudar instantaneamente para essa aplicativo independente de qual espaço de trabalho eu estou e em qual janela estou focando.

    
por Chris Stryczynski 11.04.2017 / 13:23

1 resposta

0

link

module WindowFinder where

import XMonad
import qualified XMonad.StackSet as W
import Control.Monad
import Data.Bool  (bool)

findWindows :: String -> X [Window]
findWindows name = do
  withWindowSet $ (\ws -> do
    forM (W.allWindows ws)
      (\w -> do
            s <- withDisplay $ \d -> fmap resClass . liftIO $ getClassHint d w
            return $ bool [] [w] (s == name) :: X [Window]
      ) >>= return . join
    )

Com o módulo acima importado, você pode definir a seguinte ligação de teclas:

          , ((modm, xK_c), do
            win' <- findWindows "Chromium"
            when (length win' > 0)
              (windows $ W.focusWindow $ head win')
          )
    
por 19.05.2018 / 19:08