Переопределить xmonad исчезают неактивным окном

Я использую Xmonad-contrib Fade Inactive и xcompmgr, чтобы сделать не сфокусированные окна прозрачными.

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

есть ли у кого-нибудь стратегия иметь несколько непрозрачных окон с использованием Fade Inactive?

11
задан Zaki Manian
15.02.2023 14:14 Количество просмотров материала 2550
Распечатать страницу

2 ответа

Я работаю над этим. :) Если вы используете xmonad от darcs, попробуйте http://www.ece.cmu.edu-allbery / FadeWindows.tgz. (Обратите внимание, что одна вещь, которую вы будете тестировать, - это то, имеет ли она больше зависимостей, чем включено в архив; это все еще работа.) Для этого требуется недавний патч для ядра xmonad, который я не совсем уверен, что он был применен до сих пор.

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

0
отвечен geekosaur 2023-02-16 22:02

Я нашел решение с помощью этого Xmonad.примеры УГ

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
  ]
0
отвечен Zaki Manian 2023-02-17 00:19

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх