Doslej smo domnevali, da so vsi vtičniki vedno smiselni in vsi nameščeni v glavnem meniju. Vendar so nekateri vtičniki smiselni samo (ali dodatno) v določenem kontekstu. Na primer vtičnik za izvoz vsebine datoteke R Grafična naprava X11 je očitno najbolj uporabna, če jo postavite v meni naprave X11, ne v glavno menijsko vrstico. Prav tako mora tak vtičnik vedeti za številko naprave, na kateri naj deluje, ne da bi o tem vprašal uporabnika.
Takim vtičnikom pravimo, da so odvisni od konteksta. Skladno s tem v .pluginmap datoteko, niso (ali ne samo) postavljeni v glavno <hierarchy>, temveč v element <context>. Zaenkrat sta podprta samo dva različna konteksta (več jih bo na voljo pozneje): x11 in uvoz datotek. Te bomo obravnavali po vrsti. Tudi če vas zanima le uvozni kontekst, preberite tudi razdelek o kontekstu x11, saj je nekoliko bolj dodelan.
Če želite uporabiti vtičnik v kontekstu naprave x11 – to pomeni, da ga postavite v menijsko vrstico okna, ki se prikaže, ko pokličete x11() v konzoli, ga najprej deklarirajte kot običajno v .pluginmap datoteki:
<document [...]>
<components>
[...]
<component id="my_x11_plugin" file="my_x11_plugin.xml" label="An X11 context plugin"/>
[...]
</components>
Vendar vam ga ni treba definirati v hierarhiji (lahko, če jesmiseln tudi kot vtičnik najvišje ravni):
<hierarchy>
[...]
</hierarchy>
Namesto tega dodajte definicijo konteksta "x11" in jo dodajte v menije tja:
<context id="x11">
[...]
<menu id="edit">
[...]
<entry id="my_x11_plugin"/>
</menu>
</context>
</document>
V logičnem razdelku vtičnika xml lahko zdaj deklarirate dve lastnosti <external>: devnum in context. context (če je deklariran) bo nastavljen na »x11«, ko bo vtičnik priklican v tem kontekstu. devnum bo nastavljen na številko grafične naprave za delovanje. In to je vse.
Preden preberete ta razdelek, obvezno preberite razdelek o kontekstu naprave X11, saj pojasnjuje osnovne pojme.
Kontekst »import« se uporablja za deklaracijo vtičnikov filtrov za uvoz datotek. Preprosto jih postavite v kontekst z id="import" v datoteko .pluginmap. Vendar pa je pri deklaraciji teh vtičnikov še en dodaten zasuk: če želite ponuditi poenoteno pogovorno okno za izbiro datotek za vse podprte vrste datotek, morate deklarirati en dodaten bit informacij o svoji komponenti:
<document [...]>
<components>
[...]
<component id="my_xyz_import_plugin" file="my_xyz_import_plugin.xml" label="Import XYZ files">
<attribute id="format" value="*.xyz *.zyx" label="XYZ data files"/>
</component>
[...]
</components>
<hierarchy>
[...]
</hierarchy>
<context id="import">
[...]
<menu id="import">
[...]
<entry id="my_xyz_import_plugin"/>
</menu>
</context>
[...]
</document>
Vrstica atributa preprosto pravi, da so povezane pripone imena datotek za datoteke XYZ *.xyz ali *.zyx in da filter naj bo v pogovornem oknu za izbiro datoteke označen z “Podatkovne datoteke XYZ”.
V svojem vtičniku lahko deklarirate dve lastnosti <external>. filename bo nastavljen na izbrano ime datoteke, context pa bo nastavljen na "import".