2012-08-24 68 views
6

我使用xmonad與KDE,並且想要使用它的彈出通知。默認情況下,第一個彈出窗口顯示正確,但在消失後,下一個彈出窗口不會顯示。如果我添加一個新的「通知」窗口小部件 - 它可以再顯示一個彈出窗口,但是之後會出現相同的情況。 如果添加這樣的行xmonad配置(我不太瞭解,它是如何工作),符合市場預期彈出窗口開始工作:xmonad中的KDE popup通知

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

,並

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

但現在,因爲'className =? 「等離子桌面」的狀況過於普遍,開始時會發生非常奇怪的事情。如果在KDE加載後添加這行到配置,一切工作正常。 有沒有什麼方法可以找到確切的通知窗口,或只有在完整的KDE加載後才使用這些行,或者可能是任何更好的方式來使通知工作?

謝謝你,對不起英語不好。

回答

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 

...