7

我将 xmonad 与 KDE 一起使用,并希望使用它的弹出通知。默认情况下,第一个弹窗显示正确,但它消失后,下一个弹窗将不会显示。如果我添加一个新的“通知”小部件 - 它可以再显示一个弹出窗口,但之后会出现相同的情况。如果将这些行添加到 xmonad 配置(我不太明白,它是如何工作的),弹出窗口将按预期开始工作:

, manageHook = ((className =? "krunner" <||> className =? "Plasma-desktop") >>= return .
    not --> manageHook kde4Config) <+>
    (kdeOverride --> doFloat) <+> myManageHook

在一般情况下,和

[ className =? "Plasma-desktop"      --> doFloat <+> doF W.focusDown ]

在 myManageHook 中。

但是现在,因为'className =? “Plasma-desktop”' 条件太一般,启动时会发生非常奇怪的事情。如果在 KDE 加载后将此行添加到配置中,一切正常。有没有办法找到确切的通知窗口,或者只有在完全加载 KDE 后才使用此行,或者可能是使通知工作的更好方法?

谢谢你,抱歉英语不好。

4

1 回答 1

2

我还使用 xmonad 和 kde,以下对我有用。

import XMonad  
import XMonad.Config.Desktop
import XMonad.Hooks.EwmhDesktops  
import XMonad.Hooks.ManageDocks -- dock/tray mgmt  
import XMonad.Hooks.DynamicLog -- statusbar  
import XMonad.Actions.CycleWS -- workspace-switching  
import XMonad.Util.EZConfig -- append key/mouse bindings  
import XMonad.Util.Run(spawnPipe)  
import XMonad.Config.Kde  
import XMonad.Layout  
import XMonad.Layout.NoBorders ( noBorders, smartBorders )  
import XMonad.Layout.Spacing  
import System.IO  

myManageHook = composeAll  
  [ className =? "yakuake" --> doFloat  
  , className =? "Yakuake" --> doFloat  
  , className =? "Kmix" --> doFloat  
  , className =? "kmix" --> doFloat  
  , className =? "plasma" --> doFloat  
  , className =? "Plasma" --> doFloat  
  , className =? "plasma-desktop" --> doFloat  
  , className =? "Plasma-desktop" --> doFloat  
  , className =? "krunner" --> doFloat  
  , className =? "ksplashsimple" --> doFloat  
  , className =? "ksplashqml" --> doFloat  
  , className =? "ksplashx" --> doFloat  
  ]  

...
...

main = do  
  xmonad $ ewmh desktopConfig  
    { modMask = mod4Mask  
    , terminal = "konsole"  
    , manageHook = manageDocks <+> myManageHook <+> manageHook desktopConfig  
    , borderWidth = 1
    , normalBorderColor = "#abc123"
    , focusedBorderColor = "#456def"
    , layoutHook = avoidStruts myLayout
    , workspaces = myWorkspaces
    , startupHook = startupHook desktopConfig
    , logHook = logHook' xmproc
    }
    `additionalKeysP` myKeys

...
于 2013-11-21T00:19:00.253 回答