Заміна xmonad Fade неактивний для вікна


0

Я використовую програму Fade Inactive та xcompmgr, щоб зробити нефокусовані вікна прозорими.

Інколи мені хочеться, щоб неактивне вікно було повністю непрозорим, як, наприклад, під час перегляду відео.

Хтось має стратегію створення декількох непрозорих вікон за допомогою Fade Inactive?

Відповіді:


0

Я працюю над цим. :) Якщо ви працюєте з xmonad від darcs, спробуйте http://www.ece.cmu.edu/~allbery/FadeWindows.tgz . (Зверніть увагу, що одне, що ви будете тестувати, полягає в тому, чи має він більше залежностей, ніж включено в тарбол; це все ще незавершене виробництво.) Потрібен останній виправлення до ядра xmonad, в чому я не зовсім впевнений, що це було застосовано до цього часу.

Цей архів повинен бути розпакований у вашому ~/.xmonadфайлі та розмістити два вихідних файли Haskell ~/.xmonad/lib/XMonad/Hooks. (Сміливо розпаковуйте десь інше та переконайтесь, перш ніж скопіювати їх у потрібне місце.) Документація - це розмітка Haddock lib/XMonad/Hooks/FadeWindows.hs. Особливо зверніть увагу, як перевірити необхідний патч ManageHook.


2
До речі, як швидкий злом ви можете прив’язати ключ до spawn "xprop -set _NET_WINDOW_OPACITY 4294967295"; коли ви запустите його, курсор зміниться на перехрестя, натисніть на вікно, яке ви хочете зробити непрозорим. Зазвичай вам доведеться повторити це після зміни фокусу чи робочої області, тому це злом, а не рішення.
geekosaur

Я зіткнувся з деякими проблемами зі збиранням MoreManagerHelpers у ваших пакунках, використовуючи платформу Haskell
2011.2.0.0

Вставте їх та / або відвідайте #xmonadна FreeNode.
geekosaur

0

Я вирішив рішення за допомогою прикладів Xmonad.hs

http://code.google.com/p/xmonad/isissue/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
  ]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.