git-annex/Assistant/Install/AutoStart.hs

42 lines
1,011 B
Haskell
Raw Normal View History

{- Assistant autostart file installation
-
- Copyright 2012 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-tabs #-}
module Assistant.Install.AutoStart where
import Utility.FreeDesktop
2012-09-28 23:18:08 +00:00
#ifdef darwin_HOST_OS
import Utility.OSX
2015-01-09 18:36:02 +00:00
import Utility.Path
import Utility.Directory
2020-11-10 15:16:39 +00:00
import Utility.FileSystemEncoding
2012-09-28 23:18:08 +00:00
#endif
installAutoStart :: FilePath -> FilePath -> IO ()
installAutoStart command file = do
#ifdef darwin_HOST_OS
2020-11-11 12:51:09 +00:00
createDirectoryIfMissing True (fromRawFilePath (parentDir (toRawFilePath file)))
writeFile file $ genOSXAutoStartFile osxAutoStartLabel command
["assistant", "--autostart"]
#else
writeDesktopMenuFile (fdoAutostart command) file
#endif
osxAutoStartLabel :: String
osxAutoStartLabel = "com.branchable.git-annex.assistant"
fdoAutostart :: FilePath -> DesktopEntry
fdoAutostart command = genDesktopEntry
"Git Annex Assistant"
"Autostart"
False
(command ++ " assistant --autostart")
Nothing
[]