Справочник по &DCOP;-командам &k3b; предоставляет, как и большинство других программ &kde;, интерфейс &DCOP;, позволяющий управлять частью функций программы извне (например, из сценария оболочки). Для использования функций &DCOP;, вы можее использовать консольную программу dcop или более удобное приложение Kdcop. Далее подразумевается, что вы используете dcop. Для начала, запустите &k3b; и введите что-то типа: # dcop [function] Кроме стандартных &DCOP;-функций, &k3b; предоставляет следующие функции, которые разделены на две группы. Стандартный интерфейс K3b Стандартный интерфейс K3b предоставляет такую функциональность как copyCD, formatDVD, создание новых проектов. 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) Методы createXXXProject возвращают ссылку на созданный проект: DCOPRef(k3b,K3bProject-0) Также, проект можно создать из командной строки: # k3b --audiocd и получить ссылку на него так: # dcop currentProject Далее, по полученной ссылке можно манипулировать проектом с помощью K3bProjectInterface. Интерфейс проекта K3b void addUrls(KURL::List urls) void addUrl(KURL url) void burn() K3b предоставляет интерфейс K3bProjectInterface для всех типов проектов и K3bDataProjectInterface для проекта CD/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) Используя это можно автоматизировать добавление данных в проект. Следующий сценарий создаёт новый проект с данными, добавляет в него несколько папок, и добавляет файлы в последние: #!/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