xmonad中的KDE弹出通知

时间:2012-08-24 18:36:04

标签: notifications kde xmonad

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

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

一般来说,和

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

在myManageHook中。

但是现在,因为'className =? “等离子桌面”过于笼统,开始时会发生很奇怪的事情。如果在加载KDE后将此行添加到配置中,一切正常。 有没有办法找到确切的通知窗口,或只在完全加载KDE后使用这一行,或者,可能是,任何更好的方式使通知工作?

谢谢你,对不好的英语感到抱歉。

1 个答案:

答案 0 :(得分: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

...