2012-08-10 12 views
5

Jak opisano w wydaniu this i this, moje ruchome okna są czasami renderowane za innymi oknami podczas używania xmonad razem ze skrótem. Jednym możliwym obejściem, którego chcę spróbować, jest sprawienie, aby Xmonad nieznacznie przenosił nowe okna pływające, co powinno renderować je ponad inne okna. Jednak będąc nowym użytkownikiem Xmonada i Haskella, nie mam pojęcia, jak to osiągnąć.xmonad: przenieś nowe pływające okna

Jak powiedzieć xmonad "Kiedy zostanie utworzone nowe ruchome okno, przesuń je o jeden piksel w prawo"?

(xmonad-0.10 i xmonad-contrib-0,10)

Odpowiedz

1

Dla osób przybywających tutaj którzy naprawdę chcą przesunąć okno, oto jak to zrobić:

W swoim $ HOME/.xmonad.xmonad.hs:

dodać kilka importu (można pominąć istniejących, należy zwrócić uwagę na wykwalifikowaną import Xmonad.StackSet i „W.shift” poniżej, trzeba będzie dostosować nazwę jeśli importowany go pod inną nazwą)

import XMonad.Hooks.XPropManage 
import qualified XMonad.StackSet as W 
import XMonad.Actions.TagWindows 
import Data.List 

i dodać

manageHook = xPropManageHook xPropMatches 

xPropMatches :: [XPropMatch] 
xPropMatches = [ ([(wM_CLASS, any (const True))], (return (W.shift "2"))) ] 

, które powinno działać dla wszystkich okien. Jeśli chcesz kontrolować dopasowanie,

(const True) 

można zastąpić czymkolwiek, które ma typ

String -> Bool 

przykład

("Vimperator" `isInfixOf`) 

itp

Źródło: XPropManage

+0

Dzięki za wielką odpowiedzi na rzeczywiste pytania. Oznaczone jako rozwiązanie. – Xyrox