2012-08-10 9 views
5

Wie in this und this Problem beschrieben, werden meine schwebenden Fenster manchmal hinter anderen Fenstern gerendert, wenn xmonad zusammen mit Compton verwendet wird. Eine mögliche Problemumgehung, die ich versuchen möchte, ist, xmonad dazu zu bringen, neue schwebende Fenster leicht zu verschieben, was sie über anderen Fenstern rendern sollte. Da ich neu bei xmonad und Haskell bin, weiß ich nicht, wie ich das erreichen soll.xmonad: verschiebe neue schwebende Fenster

Wie sage ich xmonad "Wenn ein neues schwebendes Fenster erstellt wird, verschieben Sie es um ein Pixel nach rechts"?

(xmonad-0,10 und xmonad-contrib-0,10)

Antwort

1

Für Leute hier kommen, die wirklich ein Fenster verschieben wollen, hier ist, wie Sie es tun:

In $ HOME/.xmonad.xmonad.hs:

einige Importe hinzufügen (Sie können überspringen

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

bestehende, den qualifizierten Import von Xmonad.StackSet und dem „W.shift“ weiter unten beachten Sie, dass Sie den Namen neu einstellen müssen, wenn Sie es unter einem anderen Namen) importiert und fügen

manageHook = xPropManageHook xPropMatches 

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

das sollte für alle Fenster funktionieren. Wenn Sie die passende steuern möchten,

(const True) 

kann mit nichts zu ersetzen, der den Typ hat

String -> Bool 

z.B.

("Vimperator" `isInfixOf`) 

etc

Quelle: XPropManage

+0

Danke für die tolle Antwort auf die eigentliche Frage. Als Lösung gekennzeichnet. – Xyrox