install autostart file too
This commit is contained in:
parent
ffeb060002
commit
23fe661d37
3 changed files with 41 additions and 19 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue