l xephyrify: add minimal xmonad
This commit is contained in:
parent
bec10e329b
commit
02f67eed44
|
@ -1,9 +1,42 @@
|
||||||
{ writeDashBin, coreutils, xorg, virtualgl, ... }:
|
{ writeDashBin, writeHaskell, coreutils, xorg, virtualgl, ... }:
|
||||||
|
|
||||||
writeDashBin "xephyrify" ''
|
let
|
||||||
|
|
||||||
|
minimalXmonad = writeHaskell "minimalXmonad" {
|
||||||
|
executables.xmonad = {
|
||||||
|
extra-depends = [
|
||||||
|
"containers"
|
||||||
|
"xmonad"
|
||||||
|
];
|
||||||
|
text = /* haskell */ ''
|
||||||
|
module Main where
|
||||||
|
import XMonad
|
||||||
|
import qualified Data.Map as Map
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
xmonad def
|
||||||
|
{ workspaces = [ "1" ]
|
||||||
|
, layoutHook = myLayoutHook
|
||||||
|
, keys = myKeys
|
||||||
|
, normalBorderColor = "#000000"
|
||||||
|
, focusedBorderColor = "#000000"
|
||||||
|
}
|
||||||
|
|
||||||
|
myLayoutHook = Full
|
||||||
|
myKeys _ = Map.fromList []
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in writeDashBin "xephyrify" ''
|
||||||
NDISPLAY=:$(${coreutils}/bin/shuf -i 100-65536 -n 1)
|
NDISPLAY=:$(${coreutils}/bin/shuf -i 100-65536 -n 1)
|
||||||
|
echo "using DISPLAY $NDISPLAY"
|
||||||
${xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable $NDISPLAY &
|
${xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable $NDISPLAY &
|
||||||
XEPHYR_PID=$!
|
XEPHYR_PID=$!
|
||||||
|
DISPLAY=$NDISPLAY ${minimalXmonad}/bin/xmonad &
|
||||||
|
XMONAD_PID=$!
|
||||||
DISPLAY=$NDISPLAY ${virtualgl}/bin/vglrun "$@"
|
DISPLAY=$NDISPLAY ${virtualgl}/bin/vglrun "$@"
|
||||||
|
kill $XMONAD_PID
|
||||||
kill $XEPHYR_PID
|
kill $XEPHYR_PID
|
||||||
''
|
''
|
||||||
|
|
Loading…
Reference in New Issue
Block a user