7

KDE で xmonad を使用しており、そのポップアップ通知を使用したいと考えています。デフォルトでは、最初のポップアップは正しく表示されますが、消えた後、次のポップアップは表示されません。新しい「通知」ウィジェットを追加すると、もう1つのポップアップが表示されますが、その後は同じ状況になります。そのような行を xmonad config に追加すると (どのように機能するのかよくわかりません)、ポップアップが期待どおりに機能し始めます:

, 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 に答える