El Dimarts 02 Agost 2005 14:15, Pere Pie va escriure:
> Tot i no trobar a faltar alguna cosa del KDE, cada cop m'agrada més GNOME.

Per exemple, els dcop del KDE --que no se com ho fan a Gnome, potser existeix 
una altre forma.

Qualsevol programa KDE pot enviar i rebre missatges a través d'un servidor que 
està en marxa i que nom dcop.  Amb ell puc interrogar qualsevol programa KDE.  
O donar-li ordres perquè faci coses. Dóna tot el control a l'usuari.  Encara 
que els noms semblin un poc críptics, no és gens complicat d'usar.

Una demo:

Tenc en marxa el KWeather, per saber la cosa meteorològica. En configurar-lo 
se li poden dir noms d'estacions meteorològiques i et va pintant el temps que 
fa ( http://kweather.sourceforge.net ).  La de Palma nom LEPA i la de Girona 
LEGE ( http://www.nws.noaa.gov/tg/siteloc.shtml ).  Li pregunto:

[EMAIL PROTECTED]:~> dcop KWeatherService WeatherService temperature LEPA
27°C
[EMAIL PROTECTED]:~> dcop KWeatherService WeatherService relativeHumidity LEPA
51%
[EMAIL PROTECTED]:~> dcop KWeatherService WeatherService sunSetTime LEPA
21:01

A veure Girona?

[EMAIL PROTECTED]:~> dcop KWeatherService WeatherService sunSetTime LEGE
21:06

5 minuts més de Sol :))

Pel fet de tenir el KWeather en marxa, podria integrar-lo en qualsevol cosa.  
Per exemple, des d'un PHP enviar les dades a la meva plana web i que els 
visitants vegin la temperatura.

Puc muntar una estació a casa (com ha fet en Josep Sort) i fer que el KWeather 
pinti les dades de la meva estació, no només dels codis internacionals.

Dins KDE s'usen dcop constantment d'una aplicació a una altre, per això està 
tant integrat.  Per exemple, al Kontact (agenda + correu + rss + PDA) també 
veig la temperatura, però ells no ho rasquen, sinó que la saben amb dcop cap 
al KWeather.  Per això hi ha tanta temptació de posar tantes coses a 
qualsevol programa KDE, és molt fàcil.

Qualsevol programa KDE té ordres dcop.  P.e. per fer que es desplegui el menu 
K (el que a un Windows és el menu inicio) cal usar el dcop del programa del 
panell, que nom kicker.

[EMAIL PROTECTED]:~> dcop kicker kicker showKMenu

Ara parlo del DCOP, perquè hi ha més coses espectaculars:

- Els KIO.  Qui tengui un KDE, que posi un CD de música i escrigui audiocd:/ a 
la barra d'adreces del Konqueror, ja ens ho contarà ;))

- El XMLRPC.  Si a l'empresa instal·len l'aplicació web 
http://www.egroupware.org i no vols usar-la al navegador per què t'agrada més 
el KMail i el KOrganizer (el Kontact, en definitiva) el Kontact parla amb 
eGroupWare usant XMLRPC i t'el presenta a la seva interfície com si fos el 
correu i agenda que tens al teu disc, però des del servidor.  No nomes ho fa 
amb eGroupWare, han preparat XMLRPC per altres coses: 
http://www.kontact.org/groupwareservers.php   És com el dcop, però amb 
programes que no són KDE.

Un grapat de professionals de la informàtica escèpics (i contraris) amb el 
programari lliure m'han fet aquest comentari, al llarg dels anys: "ja podreu 
fer coses tant potents com el programari de grans corporacions al que li dieu 
privatiu"?  Sempre he dit que amb el model lliure, amb tants programes 
treballant juts, cada dia més i que fan més coses, aviat no ens podrien 
seguir.  Per això el primer sempre han estat les 4 llibertats de la GPL i 
així la cosa tècnica superior arriba de natural, diguéssim :)

---------------------------------------------------------------

Com saber quins arguments usar als comandaments dcop de dalt:

Amb el comandament dcop (el que uso dalt) o amb el programa gràfic kdecop (que 
no uso dalt perquè és més còmode la copipastada de text)

Escric dcop i dóna llista de programes que usen el servidor dcop:

[EMAIL PROTECTED]:~> dcop
KWeatherService
konqueror-7955
kwin
kicker
kaddressbook
kded
korganizer
konsole-15128
kmix
kradio-15133
klauncher
quanta-15202
knotes
khotkeys
kopete
kmail

(...)

Miro quins objectes té el KWeatherService

[EMAIL PROTECTED]:~> dcop KWeatherService
qt
KIO::Scheduler
KWeatherService
MainApplication-Interface
WeatherService
ksycoca

Miro quins procediments té un objecte, p.e. el WeatherService

[EMAIL PROTECTED]:~> dcop KWeatherService WeatherService
QCStringList interfaces()
QCStringList functions()
QString temperature(QString stationID)
QString dewPoint(QString stationID)
QString relativeHumidity(QString stationID)
QString heatIndex(QString stationID)
QString windChill(QString stationID)
QString wind(QString stationID)
QString pressure(QString stationID)
QPixmap currentIcon(QString stationID)
QPixmap icon(QString stationID)
QString currentIconString(QString stationID)
QString iconFileName(QString stationID)
QString date(QString stationID)
QString visibility(QString stationID)
QStringList cover(QString stationID)
QStringList weather(QString stationID)
bool stationNeedsMaintenance(QString stationID)
QString stationName(QString stationID)
QString stationCountry(QString stationID)
QString longitude(QString stationID)
QString latitude(QString stationID)
QStringList findStations(float lon,float lat)
QString sunRiseTime(QString stationID)
QString sunSetTime(QString stationID)
QString civilTwilightStart(QString stationID)
QString civilTwilightEnd(QString stationID)
void update(QString stationID)
void updateAll()
void forceUpdate(QString stationID)
void removeStation(QString stationID)
void addStation(QString stationID)
QStringList listStations()
QString stationCode(QString stationName)
void exit()


-- 
Benjamí
http://weblog.bitassa.net



.

_______________________________________________
llista de correu de l'Internauta
Internauta@internauta.net
http://zeus.internauta.net/mailman/listinfo/internauta

Respondre per correu electrònic a