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如何通过名称/类名称关注特定窗口?的主要内容,如果未能解决你的问题,请参考以下文章

java中,如何通过实体类名称获取对应的数据表名称

华为系统管理器类名称检索特定的屏幕/活动

如何在 Salesforce 中重命名我的 Apex 类名称

如何修复 Grails 错误:“找不到名称 PrivacyOptions 的域类。请重试并输入有效的域类名称”

iOS中没有应用程序名称前缀的Xcode类名称

在android中调用方法详细信息,例如行号,方法名称和类名称[重复]