open disp
    | take 11 disp == "/tmp/launch" = do
        fd <- fromMaybe (error "couldn't open socket") <$> openUnix "" disp
        hndl <- socketToHandle fd ReadWriteMode
        return (hndl, Nothing, launchDDisplayInfo disp)
open disp
    | take 11 disp == "/tmp/launch" = do
        fd <- fromMaybe (error "couldn't open socket") <$> openUnix "" disp
        hndl <- socketToHandle fd ReadWriteMode
        return (hndl, Nothing, launchDDisplayInfo disp)
open disp
    | take 11 disp == "/tmp/launch" = do
        fd <- fromMaybe (error "couldn't open socket") <$> openUnix "" disp
        hndl <- socketToHandle fd ReadWriteMode
        return (hndl, Nothing, launchDDisplayInfo disp)