2012-08-10 14 views
5

Come descritto nel numero this e this, le mie finestre mobili vengono talvolta visualizzate dietro ad altre finestre quando si utilizza xmonad insieme a compton. Una soluzione possibile che voglio provare è fare in modo che xmonad sposti leggermente le nuove finestre flottanti, cosa che dovrebbe renderle sopra altre finestre. Tuttavia, essendo nuovo a xmonad e Haskell, non ho idea di come ottenere ciò.xmonad: sposta nuove finestre fluttuanti

Come dire a xmonad "Quando viene creata una nuova finestra mobile, spostarla di un pixel verso destra"?

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

risposta

1

Per le persone che vengono qui che vogliono davvero a spostare una finestra, ecco come si fa:

nella directory $ HOME/.xmonad.xmonad.hs:

aggiungere un po 'le importazioni (si può saltare esistenti, nota l'importazione qualificato di Xmonad.StackSet e la "W.shift" di seguito, si dovrà regolare il nome se è stato importato con un altro nome)

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

e aggiungere

manageHook = xPropManageHook xPropMatches 

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

che dovrebbe funzionare per tutte le finestre. Se si desidera controllare la corrispondenza,

(const True) 

possono essere sostituiti con tutto ciò che ha il tipo

String -> Bool 

esempio ecc

Fonte

("Vimperator" `isInfixOf`) 

: XPropManage

+0

Grazie per la grande risposta alla domanda effettiva. Contrassegnato come la soluzione. – Xyrox