From f6eb967f1e2667289e78eb4d23ea47a23c7f094c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 22 Mar 2014 15:51:30 -0400 Subject: [PATCH] webapp: Automatically install Nautilus integration scripts to get and drop files. This commit was sponsored by Gian-Maria Daffre. --- Assistant/Install.hs | 31 ++++++++++++++++++++++++- debian/changelog | 2 ++ doc/assistant/downloadnotification.png | Bin 0 -> 4550 bytes doc/assistant/nautilusmenu.png | Bin 0 -> 59867 bytes doc/related_software.mdwn | 1 - doc/tips/file_manager_integration.mdwn | 31 +++++++++++++++++++++++++ 6 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 doc/assistant/downloadnotification.png create mode 100644 doc/assistant/nautilusmenu.png create mode 100644 doc/tips/file_manager_integration.mdwn diff --git a/Assistant/Install.hs b/Assistant/Install.hs index d29cefb8cd..ff30022219 100644 --- a/Assistant/Install.hs +++ b/Assistant/Install.hs @@ -35,11 +35,14 @@ standaloneAppBase = getEnv "GIT_ANNEX_APP_BASE" - - Note that this is done every time it's started, so if the user moves - it around, the paths this sets up won't break. + - + - Nautilus hook script installation is done even for packaged apps, + - since it has to go into the user's home directory. -} ensureInstalled :: IO () ensureInstalled = go =<< standaloneAppBase where - go Nothing = noop + go Nothing = installNautilus "git-annex" go (Just base) = do let program = base "git-annex" programfile <- programFile @@ -78,6 +81,32 @@ ensureInstalled = go =<< standaloneAppBase viaTmp writeFile shim content modifyFileMode shim $ addModes [ownerExecuteMode] + installNautilus program + +installNautilus :: FilePath -> IO () +#ifdef linux_HOST_OS +installNautilus program = do + scriptdir <- (\d -> d "nautilus" "scripts") <$> userDataDir + genscript scriptdir "get" + genscript scriptdir "drop" + where + genscript scriptdir action = + installscript (scriptdir scriptname action) $ unlines + [ "#!/bin/sh" + , autoaddedcomment + , program ++ " " ++ action ++ " --notify-start --notify-finish \"$@\"" + ] + scriptname action = "git-annex " ++ action + installscript f c = whenM (safetoinstallscript f) $ do + writeFile f c + modifyFileMode f $ addModes [ownerExecuteMode] + safetoinstallscript f = catchDefaultIO True $ + elem autoaddedcomment . lines <$> readFileStrict f + autoaddedcomment = "# Automatically added by git-annex, do not edit. (To disable, chmod 600 this file.)" +#else +installNautilus _ = noop +#endif + {- Returns a cleaned up environment that lacks settings used to make the - standalone builds use their bundled libraries and programs. - Useful when calling programs not included in the standalone builds. diff --git a/debian/changelog b/debian/changelog index 7addf4ae78..20b559324f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ git-annex (5.20140321) UNRELEASED; urgency=medium (using the dbus Desktop Notifications Specification) * --notify-start switch will show desktop notifications when each file upload/download starts. + * webapp: Automatically install Nautilus integration scripts + to get and drop files. -- Joey Hess Fri, 21 Mar 2014 14:08:41 -0400 diff --git a/doc/assistant/downloadnotification.png b/doc/assistant/downloadnotification.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb3961d991660b579e9da9d89b23d50a6365db1 GIT binary patch literal 4550 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 literal 0 HcmV?d00001 diff --git a/doc/assistant/nautilusmenu.png b/doc/assistant/nautilusmenu.png new file mode 100644 index 0000000000000000000000000000000000000000..d7926e34f2bf0c72b4efe304a3986cb590f7ca16 GIT binary patch literal 59867 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

Ui{c|E6jbKH2GyGTU=3jd!o_SPS-$Y=miz z@|C1YM%1+wfhZiKg;+Jpcm-wUlzt9J2te|T>{0D;p(afNAWJgWyXz>wE11?c1Jvgi zR*l?WG3Tb2)6Vqu7$)8gc{a+T7ZckkTN0ToZ+Uii6r5iN(0$MrjAfL@aL%Vo1oIxnFZQTyFcwT|o zpsemfb82*QI_n#@AR$P-me!vLt;Q6FXS zQpsI@t;zAf+s{BW|7|}D%rh3SZYjkT{@iIpfGR-~uc4+^=a*-@RQ4*;4zwK^&uy1^ z__{;rSZS`%?(wZvg8Kr=0icR;&o1R1#Jg<#gYECz%;wBjY(FmLyt0R)NK*RBd~VC} zyR6v(Cm8#rHnZo3^E;X6?{x0~+}|LW}6<7g+ki zA5P=yFujHzmp4zD7R$J}n47hFE9`5TZENMNpmjVZt3#6Plah-sE8gcl@nqp&XB(P8 z6z(oJ;52xkq%giM!muM2WT}^^weiwDVA@H*|7+N=->$y-^{m91Md0z}9vyo{fdfmx z^1)*wZ=CY&M0?_fDWwe)Ri=ccI`#Fz<2I~a044(Vdopat(_kiO1u@--;f#$MVN_Sg zU{!xA0cu_4dEV8uzK*7`d)#OKDb8snqLU&lQ%gk$QTlydy9$tX&`m7GasLpj;*|7U zmD84^TDeX^5x`FuCzYSbpxaPikAloin1S;5Sw!3grgrpDIgKp{x%cC z`crfqoQ1#XXglfKRkD79%AOn_)tm63a%=f%>n~sGcfo!N&0&+t#6o;`TaW*5x8V6s z1NJXuOtN>Cfs;{00%h8Y^71lM29Y^-8~|1Hm)S-~OA(@mbf;O5em{nC`W z#>z0krIqEwjZV+f3Y!(dOf0CZ5X4ZF)*jj@&FP-#&I zhXy+A2t74l*aC1fh#`-u6Cy9%;bPuKE1 z-VA-KpPnEHVt_Fnm2S;C-!7%IUbANwNpsngmnd`G(6(92r341tQ$muGI{D4w!BcEA+f%!juh`u^=IaE>_c^LJ(wiT+SX|Api zjOBRIVq&R6?5rKc?)bp#VkP#4Loo*@qO`STTwF^X{OM|cJGSR0NXm#^Uf{Cj4)%9E zU&MWKeKBSf8EEMK+#Rn@I=QvKytmY`^cw>on-mq1tW!-Z#G3lmJv+9dfA$6oE<{#U z)gR>&t)J@n;{Hk_|I{QZu99(JEp?xzV)8^ut*xx67%GRHQil7;Vn^|DWYv@NB!7MQ zOR3pFjdG888XWcc0HG-80KKuFp9Y|hUdzEX4``t#*E%B#`84a%5v?Cdm+L24Pa8X00u={mxReD?V@{&}8&;)_A!| zMOm3JWCIOwy*&;4fKiH%)^hkDv6A{fn;bB1cy=sJ|4y7Z5}zkJnUqAW=-C ztN>RwD0;`>Eb^5tN>6I1RTLHIhet-75@NO0)v1}$!T5@$?)7SM-Gn6)gl);ASneGN zujcddH}flTfYXK7x$-@t;&1AihzNJz9rLcVY(+~aECfx>YtWJEP)Lf zkB-+mqSjlp$PXB!YN9?Q?QOi-%gN#{;&_B;=IZ%a(~gE6Py4#55S!qRN2&Oj(OsZx zMbS`2Noms5hvgzGmB`!Jrv#2{Y&m)KH?xnNDLjf0xb%S{CU0Y6@H>i%>=le*kBcD_ z`*36Ev*Yx4McSG1SuBKJDV%yW;<;N^oQ)Qg6zgrMK(VaCqS@-gpeLw

Vj$;znsy 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 literal 0 HcmV?d00001 diff --git a/doc/related_software.mdwn b/doc/related_software.mdwn index 1b55796287..66abad8df9 100644 --- a/doc/related_software.mdwn +++ b/doc/related_software.mdwn @@ -11,4 +11,3 @@ designed to interoperate with it. utility, with a `-A` switch that enables git-annex support. * Emacs Org mode can auto-commit attached files to git-annex. * [git annex darktable integration](https://github.com/xxv/darktable-git-annex) -* [Nautilus file manager ingegration](https://gist.github.com/ion1/9660286) diff --git a/doc/tips/file_manager_integration.mdwn b/doc/tips/file_manager_integration.mdwn new file mode 100644 index 0000000000..18210b8ee9 --- /dev/null +++ b/doc/tips/file_manager_integration.mdwn @@ -0,0 +1,31 @@ +Integrating git-annex and your file manager provides an easy way to select +annexed files to get or drop. + +## nautilus + +Recent git-annex comes with built-in nautilus integration. Just pick the +action from the menu. + +[[!img assistant/nautilusmenu.png]] + +[[!img assistant/downloadnotification.png]] + +This is set up by making simple scripts in +`~/.local/share/nautilus/scripts`, with names like "git-annex get" + +## your file manager here + +Edit this page and add instructions! + +## general + +If your file manager can run a command on a file, it should be easy to +integrate git-annex with it. A simple script will suffice: + + #!/bun/sh + git-annex get --notify-start --notify-finish "$@" + +The --notify-start and --notify-stop options make git-annex display a +desktop notification. This is useful to give the user an indication that +their action took effect. Desktop notifications are currently only +implenented for Linux.