git-annex/doc/tips/file_manager_integration.mdwn
http://johan.kiviniemi.name/ 49a3cd32f1 Protect file parameters with --
2014-04-01 10:04:59 +00:00

100 lines
3.1 KiB
Markdown

Integrating git-annex and your file manager provides an easy way to select
annexed files to get or drop.
[[!toc]]
## GNOME (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"
## KDE (Dolphin/Konqueror)
Create a file `~/.kde4/share/kde4/services/ServiceMenus/git-annex.desktop` with the following contents:
[Desktop Entry]
Type=Service
ServiceTypes=all/allfiles
MimeType=all/all;
Actions=GitAnnexGet;GitAnnexDrop;
X-KDE-Priority=TopLevel
X-KDE-Submenu=Git-Annex
X-KDE-Icon=git-annex
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
[Desktop Action GitAnnexGet]
Name=Get
Icon=git-annex
Exec=git-annex get --notify-start --notify-finish -- %U
[Desktop Action GitAnnexDrop]
Name=Drop
Icon=git-annex
Exec=git-annex drop --notify-start --notify-finish -- %U
## XFCE (Thunar)
XFCE uses the Thunar file manager, which can also be easily configured to allow for custom actions. Just go to the "Configure custom actions..." item in the "Edit" menu, and create a custom action for get and drop with the following commands:
git-annex drop --notify-start --notify-finish -- %F
for drop, and for get:
git-annex drop --notify-start --notify-finish -- %F
This gives me the resulting config on disk, in `.config/Thunar/uca.xml`:
<action>
<icon>git-annex</icon>
<name>git-annex get</name>
<unique-id>1396278104182858-3</unique-id>
<command>git-annex get --notify-start --notify-finish -- %F</command>
<description>get the files from a remote git annex repository</description>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon>git-annex</icon>
<name>git-annex drop</name>
<unique-id>1396278093174843-2</unique-id>
<command>git-annex drop --notify-start --notify-finish -- %F</command>
<description>drop the files from the local repository</description>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
The complete instructions on how to setup actions is [in the XFCE documentation](http://docs.xfce.org/xfce/thunar/custom-actions).
## 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.