packages feed

apelsin-1.0: src/Constants.hs

{-# LANGUAGE CPP #-}
module Constants where
import Data.String
import System.Environment.XDG.BaseDir
import System.FilePath
import System.Directory
import System.IO

#ifdef CABAL_PATH
import Paths_apelsin
#endif

configName, programName, fullProgramName :: IsString s => s
configName = "apelsin"
programName = "Apelsin"
fullProgramName = "Apelsin Tremulous Browser"

inCacheDir, inConfDir :: FilePath -> IO FilePath

inCacheDir x = do
	dir <- getUserCacheDir configName
	createDirectoryIfMissing True dir
	return (dir </> x)

inConfDir x = do
	dir <- getUserConfigDir configName
	createDirectoryIfMissing True dir
	return (dir </> x)


getDataDir :: IO FilePath 
#ifdef CABAL_PATH
getDataDir = dropTrailingPathSeparator `fmap` getDataFileName ""
#else
getDataDir = getCurrentDirectory
#endif

trace :: String -> IO ()
defaultTremulousPath, defaultTremulousGPPPath :: FilePath
#if defined(mingw32_HOST_OS) || defined(__MINGW32__)
defaultTremulousPath	= "C:\\Program Files\\Tremulous\\tremulous.exe"
defaultTremulousGPPPath	= "C:\\Program Files\\Tremulous\\tremulous-gpp.exe"
trace _			= return ()
#else
defaultTremulousPath	= "tremulous"
defaultTremulousGPPPath	= "tremulous-gpp"
trace 			= hPutStrLn stderr
#endif


spacing, spacingHalf, spacingBig :: Integral i => i
spacing		= 4
spacingHalf	= 2
spacingBig	= 8