aboutsummaryrefslogtreecommitdiff
path: root/Assistant/Install
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-07-09 20:50:41 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-07-09 20:50:41 -0400
commit68b3beefd87468204a8d8252d3487fae95b43f80 (patch)
treed43f937f543e7601e7952154fe434d9df148e36a /Assistant/Install
parentd6922be2d1cac20b58750e1a76a3db684b8cca01 (diff)
linux standalone auto-install icons
Diffstat (limited to 'Assistant/Install')
-rw-r--r--Assistant/Install/Menu.hs24
1 files changed, 20 insertions, 4 deletions
diff --git a/Assistant/Install/Menu.hs b/Assistant/Install/Menu.hs
index 940a2b32c..41ec855b6 100644
--- a/Assistant/Install/Menu.hs
+++ b/Assistant/Install/Menu.hs
@@ -9,14 +9,20 @@
module Assistant.Install.Menu where
+import Common
+
import Utility.FreeDesktop
-installMenu :: FilePath -> FilePath -> IO ()
-installMenu command file =
+installMenu :: FilePath -> FilePath -> FilePath -> FilePath -> IO ()
+installMenu command menufile iconsrcdir icondir = do
#ifdef darwin_HOST_OS
return ()
#else
- writeDesktopMenuFile (fdoDesktopMenu command) file
+ writeDesktopMenuFile (fdoDesktopMenu command) menufile
+ installIcon (iconsrcdir </> "logo.svg") $
+ iconFilePath (iconBaseName ++ ".svg") "scalable" icondir
+ installIcon (iconsrcdir </> "favicon.png") $
+ iconFilePath (iconBaseName ++ ".png") "16x16" icondir
#endif
{- The command can be either just "git-annex", or the full path to use
@@ -27,5 +33,15 @@ fdoDesktopMenu command = genDesktopEntry
"Track and sync the files in your Git Annex"
False
(command ++ " webapp")
- (Just "git-annex") -- icon base name
+ (Just iconBaseName)
["Network", "FileTransfer"]
+
+installIcon :: FilePath -> FilePath -> IO ()
+installIcon src dest = do
+ createDirectoryIfMissing True (parentDir dest)
+ withBinaryFile src ReadMode $ \hin ->
+ withBinaryFile dest WriteMode $ \hout ->
+ hGetContents hin >>= hPutStr hout
+
+iconBaseName :: String
+iconBaseName = "git-annex"