XMonad如何通过名称/类名称关注特定窗口?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XMonad如何通过名称/类名称关注特定窗口?相关的知识,希望对你有一定的参考价值。
我如何专注于像Firefox这样的特定应用程序类型?
我想将它绑定到一个键绑定 - 所以这不会以交互方式完成。
答案
你一定要看看XMonad-Actions-WindowGo,特别是关于raiseNextMaybe
/ raiseNext
/ runOrRaise
就像是
((modMask x .|. mod1Mask, xK_BackSpace), raiseNextMaybe (spawn "google-chrome --profile-directory='Default' --app='https://www.evernote.com/Home.action'") (appName =? "www.evernote.com__Home.action"))
另外,看看xprop
应用程序(它允许获取窗口类和其他属性)
另一答案
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
)
在X ()
背景下:
win' <- findWindows "Chromium"
when (length win' > 0)
(windows $ W.focusWindow $ head win')
当存在多个窗口时,上述似乎表现得非常有用。行为似乎是,返回的第一个窗口是当前在工作区上打开的窗口,或者是该应用程序类型的最后一个交互窗口。
以上是关于XMonad如何通过名称/类名称关注特定窗口?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Salesforce 中重命名我的 Apex 类名称