मैंने इस Xmonad.hs उदाहरणों की मदद से एक समाधान निकाला
http://code.google.com/p/xmonad/issues/attachmentText?id=393&aid=4341235945524725336&name=xmonad.hs&token=cc0422d6dd7c329bce14d1f4ca93a3db
आप FadeIf के माध्यम से फीका नहीं है कि खिड़कियों की एक सूची बना सकते हैं
एक उदाहरण xmonad.hs इस तरह दिखेगा
import XMonad
import XMonad.Hooks.FadeInactive
import Control.Monad (filterM,liftM, join)
import Data.IORef
import Data.List
import qualified Data.Set as S
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig(additionalKeys,removeKeys)
myFadeHook toggleFadeSet = fadeOutLogHook $ fadeIf (testCondition toggleFadeSet) 0.7
doNotFadeOutWindows = title =? "Call with " <||> className =? "xine" <||> className =? "MPlayer"
testCondition :: IORef (S.Set Window) -> Query Bool
testCondition floats =
liftM not doNotFadeOutWindows <&&> isUnfocused
<&&> (join . asks $ \w -> liftX . io $ S.notMember w `fmap` readIORef floats)
toggleFadeOut :: Window -> S.Set Window -> S.Set Window
toggleFadeOut w s | w `S.member` s = S.delete w s
| otherwise = S.insert w s
main = do
toggleFadeSet <- newIORef S.empty
xmonad $ defaultConfig
{
logHook = myFadeHook toggleFadeSet
, modMask = mod4Mask
} `additionalKeys`
[
((mod4Mask, xK_f), withFocused $ io . modifyIORef toggleFadeSet . toggleFadeOut
]
spawn "xprop -set _NET_WINDOW_OPACITY 4294967295"
; जब आप इसे चलाते हैं, तो कर्सर क्रॉसहेयर में बदल जाएगा, उस विंडो पर क्लिक करें जिसे आप अपारदर्शी बनाना चाहते हैं। फ़ोकस या कार्यक्षेत्र परिवर्तनों के बाद आपको आमतौर पर इसे दोहराना होगा, यही कारण है कि यह एक हैक है और समाधान नहीं है।