&DCOP;-grænsefladen i &k3b; &k3b; tilbyder, som mange andre &kde;-programmer, en &DCOP;-grænseflade som gør det muligt at styre den del af dets funktioner fra f.eks. et skalscript. For at bruge &DCOP;-funktionerne, kan du enten bruge kommandolinjeprogrammet dcop, eller det bekvemmere program Kdcop. Begge sørger for samme funktioner, så det er mest et spørgsmål om smag og brugsområde hvad der vælges. Dette kapitel antager at du bruger kommandolinjeprogrammet dcop. For at få adgang til &k3b;s &DCOP;-funktioner, skal du sørge for at &k3b; er startet og skriv derefter noget i retning af dette i en terminal: # dcop [funktion] Foruden de generelle &DCOP;-funktioner som er tilgængelige i alle &kde;-programmer, består DCOP-grænsefladen i &k3b; hovedsageligt af to dele som beskrives nedenfor. Standard K3bInterface Standard K3b DCOP-grænsefladen sørger for funktioner såsom copyCD, formatDVD og metoder til at oprette nye projekter. DCOPRef createDataCDProject() DCOPRef createAudioCDProject() DCOPRef createMixedCDProject() DCOPRef createVideoCDProject() DCOPRef createMovixCDProject() DCOPRef createDataDVDProject() DCOPRef createVideoDVDProject() DCOPRef createMovixDVDProject() DCOPRef openProject(KURL url) QValueList<DCOPRef> projects() DCOPRef currentProject() void copyCd() void copyDvd() void eraseCdrw() void formatDvd() void burnCdImage(KURL url) void burnDvdImage(KURL url) Som resultat fra en af metoderne createXXXProject, får man en DCOP-reference til det nyoprettede projekt: DCOPRef(k3b,K3bProject-0) Som et alternativ kan du oprette et projekt fra kommandolinjen: # k3b --audiocd og derefter hente en reference til projektet med # dcop currentProject Ved at bruge referencen er det muligt at manipulere projektet med K3bProjectInterface. K3bProjectInterface void addUrls(KURL::List urls) void addUrl(KURL url) void burn() K3b tilbyder K3bProjectInterface som listes ovenfor eller det kraftfuldere K3bDataProjectInterface, som kun gælder dataprojekter (cd og dvd): void createFolder(TQString name) void createFolder(TQString name,TQString parent) void addUrl(KURL url,TQString parent) void addUrls(KURL::List urls,TQString parent) void removeItem(TQString path) void renameItem(TQString path,TQString newName) void setVolumeID(TQString id) Ved at bruge det er det muligt at fylde et dataprojekt med filer og mapper fra et script. Følgende script laver for eksempel et nyt dataprojekt, tilføjer flere mapper til projektet, og tilføjer filer i de nyoprettede mapper. #!/bin/bash PROJECT=$(dcop k3b K3bInterface createDataCDProject) dcop $PROJECT createFolder test dcop $PROJECT createFolder foo dcop $PROJECT createFolder bar /foo dcop $PROJECT addUrl /home/trueg/somefile.txt /foo/bar