J'ai une petite application ci-dessous qui fait simplement une fenêtre x et une petite fenêtre à l'intérieur. Plus tard, je prévois de créer un IDE expérimental où toutes les barres d'outils et les menus sont des sous-fenêtres et où l'on peut choisir le gestionnaire de fenêtres que l'on veut gérer. Ce que je voudrais faire est de démarrer une instance de xmonad et de le rendre non-reparent et de contrôler les fenêtres de la fenêtre racine, mais de réparer et de contrôler les fenêtres dans la fenêtre de mon application.Comment puis-je modifier la fenêtre xmonad reparents?
Est-ce possible?
P.S. Voici l'application.
module Main where
import Graphics.X11.Xlib
y f = w where w = f w
main = do
display <- openDisplay ""
let screen = defaultScreen display
root <- rootWindow display screen
mainWindow <- createSimpleWindow
display
root
0 0 100 100
1
(blackPixel display screen)
(whitePixel display screen)
setTextProperty display mainWindow "Subwindows" wM_NAME
subWindow <- createSimpleWindow
display
mainWindow
0 0 100 100
1
(whitePixel display screen)
(blackPixel display screen)
mapWindow display subWindow
mapWindow display mainWindow
y $ \loop -> allocaXEvent $ \eventPointer -> do
nextEvent display eventPointer
event <- get_EventType eventPointer
case() of
_ | event == expose -> loop
| otherwise -> return()
Mieux encore, je vais voir si je peux utiliser Xephyr directement. –