DCOP
# DCOP

DCOP, che sta per Desktop COmmunication Protocol, è un ambiente interprocesso e un sistema di comunicazione dei componenti dei software.

Il punto chiave di DCOP è quello di consentire ai vari software di interoperare e condividere operazioni complesse. Essenzialmente, DCOP è un sistema di "controllo remoto" che consente ad un'applicazione o ad uno script di fornire aiuto ad altre applicazioni.

L'uso di DCOP fornisce vastissime nuove possibilità, senza richiedere la scrittura di applicazioni completamente nuove, come sarebbe altrimenti necessario. Le applicazioni e le librerie di KDE fino alla versione 3 usano molto DCOP e la maggior parte delle applicazioni può essere controllata da script attraverso il meccanismo DCOP.

In KDE 3, ogni applicazione supporta un set base di interfacce DCOP, anche se il programmatore dell'applicazione non programma esplicitamente in tale supporto. Per esempio, ogni applicazione supporta automaticamente il comando quit, che quando viene richiamato, chiude l'applicazione.

Esiste uno strumento (a riga di comando) chiamato "dcop" (in minuscolo) che può essere utilizzato per comunicare con l'applicazione direttamente dalla shell. "kdcop" è invece un'interfaccia grafica di KDE 3 per esplorare le interfacce di un'applicazione.

Per esempio, il desktop KDE 3 fornisce una funzione per mostrare sfondi diversi dopo intervalli di tempo. Tuttavia, non viene fornita direttamente un'interfaccia per passare allo sfondo successivo, ma il problema può essere risolto con DCOP utilizzando il comando

che imposterà come sfondo del desktop l'immagine successiva. Un altro esempio:

Questo comando ritorna il nome del file di sfondo sul desktop 1 (KDE, ma anche altri ambienti grafici, supportano più di un destkop (desktop virtuali). Con DCOP è quindi molto semplice aggiungere funzioni che non sono state inserite quando l'applicazione è stata scritta.

## KDE 4 e DCOP

Nella quarta versione di KDE, DCOP è stato sostituito da D-Bus. I motivi di questa scelta sono:

* D-Bus è uno standard freedesktop.org ed inoltre è usato anche da applicazioni non KDE;
* è disponibile un numero maggiore di binding;
* è interoperabile.
