You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Teams预览版+XMonad:能否让通知窗口悬浮?

绝对可行!要实现Teams主窗口平铺、仅通知窗口悬浮的效果,核心是精准匹配Teams通知窗口的专属属性,然后给它单独设置doFloat规则,完全不影响主窗口。下面是具体操作步骤:

第一步:获取Teams通知窗口的专属标识

XMonad靠窗口的属性来区分不同窗口,所以首先得搞清楚你的Teams通知窗口有什么独特标记。打开终端运行:

xprop

运行后鼠标会变成十字光标,点击弹出的Teams通知窗口,终端会输出一堆窗口属性。重点关注这几个字段:

  • WM_CLASS(STRING):包含两个值,第一个是resource,第二个是className(比如可能是("teams-for-linux", "Microsoft Teams Preview"))
  • WM_NAME(STRING):窗口的标题(比如可能是"Microsoft Teams Notification")

第二步:添加精准的悬浮规则到ManageHook

根据你查到的属性,在myManageHook里添加针对性规则,下面是几个常见场景的示例:

场景1:通过标题匹配通知窗口

如果通知窗口标题包含"Notification",可以用正则匹配(需要先在配置文件顶部导入正则模块):

-- 配置文件顶部添加导入语句
import Text.Regex.Posix ((=~))

-- 在composeAll列表里新增规则
className =? "Microsoft Teams Preview" <&&> title =~ "Notification" --> doFloat

这个规则的逻辑是:仅当窗口属于Teams,且标题包含"Notification"时,才设置为悬浮,完美避开主窗口。

场景2:通过resource匹配

如果xprop显示通知窗口的resource是专属值(比如"teams-notification"),直接用resource匹配更精准:

resource =? "teams-notification" --> doFloat

场景3:多条件组合匹配

如果想更保险,同时匹配className和resource:

className =? "Microsoft Teams Preview" <&&> resource =? "teams-notification" --> doFloat

把新规则加到你的composeAll列表里即可,比如放在其他doFloat规则之后:

myManageHook = composeAll [
  resource =? "desktop_window" --> doIgnore ,
  className =? "Galculator" --> doFloat ,
  className =? "Steam" --> doFloat ,
  className =? "Gimp" --> doFloat ,
  resource =? "gpicview" --> doFloat ,
  className =? "MPlayer" --> doFloat ,
  -- 新增的Teams通知悬浮规则
  className =? "Microsoft Teams Preview" <&&> title =~ "Notification" --> doFloat ,
  -- , className =? "VirtualBox" --> doShift "6:vm" ,
  className =? "Xchat" --> doShift "7:media" ,
  className =? "stalonetray" --> doIgnore ,
  isFullscreen --> (doF W.focusDown <+> doFullFloat )
]

第三步:重新加载XMonad

修改完配置文件后,按Mod+Q重新加载XMonad,发个Teams测试通知就能看到效果:主窗口保持平铺,通知窗口会乖乖悬浮显示~

如果第一次匹配没成功,再用xprop仔细核对通知窗口的属性,调整规则里的匹配值即可——不同版本的Teams预览版属性可能略有差异,精准匹配是关键。

内容的提问来源于stack exchange,提问作者Konrad Eisele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:22:27