Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Usando DCOP para añadir y quitar applets al kicker de KDE

NoP's Diary
Por NoP
departamento Mete-Y-Saca , Sección Diarios
Puesto a las Thu Mar 11th, 2004 at 10:15:54 AM CET

Tal y como explico en un comentario en el artículo de Barrapunto Conectar aplicaciones en KDE usando DCOP, al fin he encontrado la forma de añadir y quitar Applets a kicker (la barra de KDE) desde línea de comandos (o desde scripts o desde entradas del menú, que es lo que me interesaba).

 


La manera de hacerlo ha sido sencilla gracias a que dcop te va contando las diferentes funciones disponibles según qué comando ejecutes. Por ejemplo, si sólo ejecutamos dcop, nos indicará una lista de módulos "controlables" o a los cuales les podemos mandar mensajes:

[sromero@compiler:~/scripts]$ dcop
kwin
konsole-12899
kicker
kded
konsole-29740
knotify
konsole-22639
kio_uiserver
kalarmd
kcookiejar
konsole-12811
klauncher
khotkeys
kopete
kdesktop
ksmserver

Si queremos saber qué podemos hacer con kdestop, ejecutamos dcop kdesktop:

[sromero@compiler:~/scripts]$ dcop kdesktop
qt
KBackgroundIface
KBookmarkManager-/home/sromero/.kde/share/apps/konqueror/bookmarks.xml
KBookmarkNotifier
KDesktopIface (default)
KDirNotify-1
KIO::Observer
KIO::Scheduler
KScreensaverIface
KShortURIFilterIface
KURIIKWSFilterIface
KURISearchFilterIface
KonqUndoManager
LocalDomainURIFilterIface
kdesktop
ksycoca

Si seguimos mirando el interfaz KBackgroundIface, con dcop kdesktop KBackgroundIface, podemos ver las siguientes funciones:

[sromero@compiler:~/scripts]$ dcop kdesktop KBackgroundIface
QCStringList interfaces()
QCStringList functions()
void configure()
void setExport(int xport)
bool isExport()
void setCommon(int common)
bool isCommon()
void setCache(int bLimit,int size)
void setWallpaper(QString wallpaper,int mode)
void changeWallpaper()
Es decir, con dcop podríamos por ejemplo cambiar el fondo de pantalla usando las funciones de KDE, desde línea de comandos. Siguiendo los mismos pasos, me he creado los 2 siguientes scripts para poder añadir y quitar el Applet XMMS-KDE desde entradas del menú de KDE:

[sromero@compiler:~/scripts]$ cat add_xmmskde.sh
#!/bin/sh
dcop kicker Panel addApplet /usr/share/apps/kicker/applets/xmms-kde.desktop

[sromero@compiler:~/scripts]$ cat del_xmmskde.sh
#!/bin/sh
EL_PID=`ps auxww | grep xmms-kde.desktop | grep -v grep | awk '{ print $2}'`
dcop xmmskde-${EL_PID} MainApplication-Interface quit

Espero que os sea útil. Creo que subiré también está entrada al blogdrake . :)

< La guerra acaba de empezar (57 comments) | Reforzando la propiedad intelectual (5 comments) >
Enlaces Relacionados
· Conectar aplicaciones en KDE usando DCOP
· blogdrake
· More on NoP's Diary
· Also by NoP

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Usando DCOP para añadir y quitar applets al kicker de KDE | 6 comentarios (6 temáticos, editoriales, 0 ocultos)
A KDE hispano ya!! (none / 0) (#1)
por d Orb a las Thu Mar 11th, 2004 at 11:00:42 AM CET
(Información Usuario) http://skint.shef.ac.uk/

Pues eso, que lo mandes a KDE Hispano. Hay bastantes "truquitos" de KDE ya puestos. Tambien hay que aprovechar para darle animos al Melenas con sus oposiciones. A ver si se nos convierte en un funcionario de pro, y sigue dandole caña al sitio durante la hora del cafe :-D
Skint resources <http://skint.shef.ac.uk>


[OT] ¿ Melenas opositando ? (none / 0) (#2)
por Victor (victor@taquiones.net) a las Thu Mar 11th, 2004 at 12:21:03 PM CET
(Información Usuario) http://www.taquiones.net/victor.html

Pues vaya, ya me parecía a mí raro que no contestaba el correo. Le envié uno ofreciéndole un trabajo concreto y no he sabido nada de él.

¿ Sabes si esa cuenta de hotmail que aparece en es.kde.org es válida o hay alguna otra forma de ponerse en contacto con él ?

Victor Moral <victor@taquiones.net>
[ Padre ]


Esa no vale (none / 0) (#4)
por melenas a las Thu Mar 11th, 2004 at 01:21:15 PM CET
(Información Usuario)

Esa sólo es un recoge-spam que uso para el MSN, mi verdadera dirección es melenas en kdehispano punto org.

Respecto al trabajo, hombre, depende, si no me ocupa mucho tiempo y está medianamente bien pagado no te digo que no.

Respecto a la publicación del artículo del señor NoP en KDE-Hispano, ahora mismo estoy hablando con él, ya veremos que acordamos al final (derechos de autor, permisos de copia, emonumentos a cobrar, derecho de pernada ;-)


FDO. ER_MELENAS No te preguntes sólo que puede hacer el S.L. por ti sino también que puedes hacer tú por él.
[ Padre ]


 
Buen artículo (none / 0) (#3)
por Victor (victor@taquiones.net) a las Thu Mar 11th, 2004 at 12:39:40 PM CET
(Información Usuario) http://www.taquiones.net/victor.html

Además de la integración de los elementos, éste es uno de los aspectos de KDE que más me atraen: la posibilidad de interactuar con él a través de scripts.

¡ Lástima que Perl no disponga todavía de bibliotecas para crear aplicaciones KDE !

Victor Moral <victor@taquiones.net>


 
Este puñetero KDE... (none / 0) (#5)
por jamarier a las Thu Mar 11th, 2004 at 04:28:04 PM CET
(Información Usuario) http://barbacana.net/blog/

En mi afán de probar cosas, me instalé el kgpg (un gui para la gestión de claves y cifrado con gpg). Una cosa que tienen la mala costumbre de hacer algunos programas de KDE es que al intentar cerrarlos no se cierran, sino que se minimizan en la barra de tareas (como se llame) de KDE.

Problema: Los que no usamos KDE ni tenemos dicha barra de tareas nos encontramos con un programa que no se deja cerrar y al que no podemos volver a abrir dado que desaparece del escritorio. Siempre tenemos la opción del killall. Pero recordando mis conocimientos en dcop (gracias a emeteo). Intenté pedirle educadamente al programa que se cerrase usando dcop.


[Interludio teórico-musical]. La idea de Qt (la base de KDE) es una programación orientada a eventos (ellos lo llaman slots y nosequé). Es decir, cada acción sobre cualquier aspecto visual del programa activa una función determinada del programa. Pues con el protocolo dcop podemos generar artificialmente esos eventos manualmente o desde otros programas, tal y como comenta el seÑOP


Con este sistema podemos controlar cualquier programa KDE desde otros programas preparados al efecto y podemos hacer macros programables que interactuen con programas «interactivos». Efectos como maximizar, mover las ventanas, emular clics de ratón, activar opciones de menú o incluso mecanografiar textos.

Ahora bien. Para buscar manualmente las opciones que oferta un programa, lo mejor es usar kcop a golpe de ratón. Infinítamente más cómodo.

Por cierto, el Kgpg terminé cerrandolo con un killall Kgpg

Puñetero Melenas, Puñetero KDE }B-)

P.D. Aquí hay un articulo (en inglés) que explica esto con algunos ejemplos más complejos.

-----
- Porque mañana será un gran día.



 
Capturas de pantalla? (none / 0) (#6)
por pbenavent a las Fri Mar 12th, 2004 at 08:12:32 AM CET
(Información Usuario) http://www.benavent.org

Ya sabes que por imperativo laboral -y por que me gusta- utilizo IceWM, así que no tengo el bonito KDE o el bonito Gnome.

¿por que no haces unas capturas de pantalla del tuyo? ... y de paso renuevas los de tu página web ;-)

Saludos Santi.

--
"El hombre es la medida de todas las cosas"
Protágoras


 
Usando DCOP para añadir y quitar applets al kicker de KDE | 6 comentarios (6 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda