summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-07-09 20:16:07 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-07-09 20:16:07 -0400
commitd8ac02c206d8a94f222031ef13e1337dcb9c542e (patch)
treeb01a723336af0c7a21203a76cf1ec16588ccbf75
parentffb8a2d9d6140fb50d9d3553be923b0b8f5cffed (diff)
install to ~/.local/icons, not ~/icons
Apparently the Icon Theme Specification no longer matches reality, as implemented by XFCE and xdg-icon-resource.
-rw-r--r--Build/DesktopFile.hs8
-rw-r--r--Utility/FreeDesktop.hs15
2 files changed, 10 insertions, 13 deletions
diff --git a/Build/DesktopFile.hs b/Build/DesktopFile.hs
index 55a22352a..f3293d128 100644
--- a/Build/DesktopFile.hs
+++ b/Build/DesktopFile.hs
@@ -55,10 +55,10 @@ writeFDODesktop command = do
installMenu command
=<< inDestDir (desktopMenuFilePath "git-annex" datadir)
- installIcon "doc/logo.svg" =<< inDestDir
- =<< iconFilePath "git-annex.svg" "scalable" systemwide
- installIcon "doc/favicon.png" =<< inDestDir
- =<< iconFilePath "git-annex.png" "16x16" systemwide
+ installIcon "doc/logo.svg"
+ =<< inDestDir (iconFilePath "git-annex.svg" "scalable" datadir)
+ installIcon "doc/favicon.png"
+ =<< inDestDir (iconFilePath "git-annex.png" "16x16" datadir)
configdir <- if systemwide then return systemConfigDir else userConfigDir
installAutoStart command
diff --git a/Utility/FreeDesktop.hs b/Utility/FreeDesktop.hs
index 6338948d2..9ed92a77b 100644
--- a/Utility/FreeDesktop.hs
+++ b/Utility/FreeDesktop.hs
@@ -93,16 +93,13 @@ autoStartPath :: String -> FilePath -> FilePath
autoStartPath basename configdir =
configdir </> "autostart" </> desktopfile basename
-{- Path to use for an icon file.
+{- Path to use for an icon file, in either the systemDataDir
+ - or the userDatadir.
+ -
- The resolution is something like "48x48" or "scalable". -}
-iconFilePath :: FilePath -> String -> Bool -> IO FilePath
-iconFilePath file resolution systemwide
- | systemwide = return $ systemDataDir </> "icons" </> subpath
- | otherwise = do
- home <- myHomeDir
- return $ home </> ".icons" </> subpath
- where
- subpath = "hicolor" </> resolution </> "apps" </> file
+iconFilePath :: FilePath -> String -> FilePath -> FilePath
+iconFilePath file resolution datadir = datadir </> "icons" </>
+ "hicolor" </> resolution </> "apps" </> file
desktopfile :: FilePath -> FilePath
desktopfile f = f ++ ".desktop"