2012-08-24 18 views
6

Uso xmonad con KDE y deseo usar sus notificaciones emergentes. De forma predeterminada, la primera ventana emergente se muestra a la derecha, pero después de que desaparece, la siguiente ventana emergente no se mostrará. Si agrego un nuevo widget de "Notificaciones", puede mostrar una ventana emergente más, pero después será la misma situación. Si añadir estas líneas a xmonad config (que no entiendo muy bien, ¿cómo funciona), ventanas emergentes empiezan a trabajar como se esperaba:Notificaciones emergentes de KDE en xmonad

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

, en parte, en general, y

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

en myManageHook.

Pero ahora, porque 'className =? "Plasma-desktop" es una condición demasiado general, ocurren cosas muy extrañas al inicio. Si agrega estas líneas a la configuración después de la carga de KDE, todo funciona bien. ¿Hay alguna manera de encontrar ventanas de notificaciones exactas, o usar estas líneas solo después de la carga completa de KDE, o puede ser una forma mejor de hacer que las notificaciones funcionen?

Gracias, y perdón por el mal inglés.

Respuesta

2

También uso xmonad y kde y las siguientes obras me sirven.

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 

... 
Cuestiones relacionadas