install autostart file too

This commit is contained in:
Joey Hess 2012-08-01 23:31:53 -04:00
parent ffeb060002
commit 23fe661d37
3 changed files with 41 additions and 19 deletions

View file

@ -14,8 +14,12 @@ module Utility.FreeDesktop (
genDesktopEntry,
buildDesktopMenuFile,
writeDesktopMenuFile,
userDesktopMenuFilePath,
systemDesktopMenuFilePath
desktopMenuFilePath,
autoStartPath,
systemDataDir,
systemConfigDir,
userDataDir,
userConfigDir
) where
import Utility.Exception
@ -70,18 +74,23 @@ writeDesktopMenuFile d file = do
createDirectoryIfMissing True (parentDir file)
writeFile file $ buildDesktopMenuFile d
userDesktopMenuFilePath :: String -> IO FilePath
userDesktopMenuFilePath basename = do
datadir <- userDataDir
return $ datadir </> "applications" </> desktopfile basename
desktopMenuFilePath :: String -> FilePath -> FilePath
desktopMenuFilePath basename datadir =
datadir </> "applications" </> desktopfile basename
systemDesktopMenuFilePath :: String -> FilePath
systemDesktopMenuFilePath basename =
"/usr/share/applications" </> desktopfile basename
autoStartPath :: String -> FilePath -> FilePath
autoStartPath basename configdir =
configdir </> "autostart" </> desktopfile basename
desktopfile :: FilePath -> FilePath
desktopfile f = f ++ ".desktop"
systemDataDir :: FilePath
systemDataDir = "/usr/share"
systemConfigDir :: FilePath
systemConfigDir = "/etc/xdg"
userDataDir :: IO FilePath
userDataDir = do
dir <- xdgEnv "DATA_HOME" =<< myHomeDir
@ -89,7 +98,7 @@ userDataDir = do
userConfigDir :: IO FilePath
userConfigDir = do
dir <- xdgEnv "DATA_HOME" =<< myHomeDir
dir <- xdgEnv "CONFIG_HOME" =<< myHomeDir
return $ dir </> ".config"
xdgEnv :: String -> String -> IO String