{"id":322,"date":"2006-06-07T20:59:27","date_gmt":"2006-06-08T03:59:27","guid":{"rendered":"http:\/\/www.gubatron.com\/blog\/?p=322"},"modified":"2006-06-07T20:59:27","modified_gmt":"2006-06-08T03:59:27","slug":"un-tip-moribundo-de-kde-dcop","status":"publish","type":"post","link":"https:\/\/www.gubatron.com\/blog\/un-tip-moribundo-de-kde-dcop\/","title":{"rendered":"Un Tip Moribundo de KDE (dcop)"},"content":{"rendered":"<p>En un episodio del <a href=\"http:\/\/www.wedoit4you.com\/podcast\">podcast de wedoit4you.com<\/a> mencione que uno de los atractivos de KDE es su poder de integracion, en el episodio pasado comente nuevamente sobre el tema y hable de DCOP en KDE.<\/p>\n<p>Creo que es hora que ilustre un poco mas como utilizar DCOP (que va a ser remplazado por DBUS y que aun no le he echado mano).<\/p>\n<p>Supon que quieres utilizar Ctrl+Alt+M para mostrar el escritorio, pon que no ten gusta tener que hacer click en el boton opcional que puedes poner en el kicker de KDE.<\/p>\n<p>Sencillo, puedes acceder a esa funcionalidad del kicker, via dcop.<\/p>\n<p>Si quieres hacerlo de manera grafica puedes abrir <strong>kdcop<\/strong> y explorar todos los metodos<br \/>\ndisponibles del Kicker.<\/p>\n<p>Vas a encontrar lo siguiente.<br \/>\n<img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/static.flickr.com\/46\/162581381_c7d61ba5db_o.png?w=640\" \/><\/p>\n<p>Si ejecutas ese metodo <strong>toggleShowDesktop()<\/strong> vas a esconder o mostrar todas las ventanas. Nice no?<\/p>\n<p>Como accedes esto via linea de comandos&#8230;<\/p>\n<p>Juega un poco, y siente el poder:<\/p>\n<p>Si hacemos unicamente <strong>dcop<\/strong><br \/>\n<code><br \/>\nanleon@ubuntu:~$ dcop<br \/>\nkonqueror-24277<br \/>\nkwin<br \/>\nkicker<br \/>\nkatapult-7854<br \/>\nkonsole-7907<br \/>\namarok<br \/>\nkded<br \/>\nkatapult-7816<br \/>\nknotify<br \/>\nkio_uiserver<br \/>\nkcookiejar<br \/>\nklauncher<br \/>\nknotes<br \/>\nkhotkeys<br \/>\nkopete<br \/>\nkbluetoothd<br \/>\nkdesktop<br \/>\nklipper<br \/>\nksmserver<br \/>\nkaccess<br \/>\n<\/code><\/p>\n<p>Nos mostrara una lista de programas que estan registrados en DCOP. Si quiero ver lo que hay adentro del kicker por ejemplo (El kicker es la barra donde tenemos los iconos, y programas abiertos)<\/p>\n<p><code><br \/>\nanleon@ubuntu:~$ dcop kicker<br \/>\nqt<br \/>\n0x82a5a7c<br \/>\n0x82b7d04<br \/>\nClockApplet<br \/>\nKDirNotify-1<br \/>\nKIO::Observer<br \/>\nKIO::Scheduler<br \/>\nMainApplication-Interface<br \/>\nMenuManager<br \/>\nMixer0<br \/>\nPanel (default)<br \/>\nkicker<br \/>\nksycoca<br \/>\n<\/code><\/p>\n<p>Veo que kicker, tiene un objeto &#8220;kicker&#8221; quizas este es el handle al Kicker como tal, veamos<\/p>\n<p><code><br \/>\nanleon@ubuntu:~$ dcop kicker kicker<br \/>\nQCStringList interfaces()<br \/>\nQCStringList functions()<br \/>\nvoid configure()<br \/>\nvoid restart()<br \/>\nvoid addExtension(QString desktopFile)<br \/>\nvoid popupKMenu(QPoint globalPos)<br \/>\nvoid clearQuickStartMenu()<br \/>\nbool highlightMenuItem(QString menuId)<br \/>\nvoid showKMenu()<br \/>\nvoid toggleShowDesktop()<br \/>\nbool desktopShowing()<br \/>\nvoid showConfig(QString config,int page)<br \/>\nvoid showTaskBarConfig()<br \/>\nvoid configureMenubar()<br \/>\n<\/code><\/p>\n<p>Y ya tienen la idea&#8230;(dcop kicker kicker toggleShowDesktop) y ya se pueden imaginar lo pansa que pudo ser programar ese KDCOP, aunque estoy seguro que ellos utilizaron directamente la API de DCOP para mostrarte todo lo que esta disponible.<\/p>\n<p>Entonces&#8230; supon que quieres por ejemplo, de una forma bien rebuscada, poner en Ctrl+Alt+M que se muestre o se escondan las ventanas abiertas&#8230;<\/p>\n<p>Una forma podria ser, haces un programita bash en un directorio ~\/bin que usas generalmente para utilidades creadas por ti&#8230;..<\/p>\n<p><code><br \/>\nanleon@ubuntu:~$  cat ~\/bin\/toogleDesktop.sh<br \/>\n#!\/bin\/bash<br \/>\ndcop kicker kicker toggleShowDesktop<br \/>\n(Presiona Ctrl+D para guardar)<\/p>\n<p>anleon@ubuntu:~$ chmod +x ~\/bin\/toggleDesktop.sh<br \/>\n<\/code><\/p>\n<p>Total que tienes tu tonto programa, si quieres lo ejecutas<\/p>\n<p><code><br \/>\nanleon@ubuntu:~$ .\/bin\/toggleDesktop.sh<br \/>\n<\/code><\/p>\n<p>Magia!, se esconden, o se muestran las ventanas, vuelve a intentar para que veas.<\/p>\n<p>Empiezas a ver el poder&#8230;<\/p>\n<p>Ahora simplemente agrega este programa al submenu de utilidades de KDE (Si, donde esta la K, dale click,<br \/>\ny luego dale click derecho al menu de utilidades &#8220;Edit Menu&#8221;&#8230;), y asignale una combinacion de teclas Ctrl+Alt+M, y listo.<\/p>\n<p>Ahora solo deja volar tu imaginacion, e imaginate todo lo que le puedes agregar a tu aplicacion, puedes interactuar con muchos programas que estan instalados en tu maquina con simples llamadas DCOP.<\/p>\n<p>Ahora&#8230; el equipo de KDE anuncio recientemente que DCOP esta descontinuado (awww), pero al menos tienes una idea de que se trata, y ahora KDE va a utilizar D-BUS.<\/p>\n<p>Voy a investigar al respecto, y cuando tenga un ejemplo de como utilizarlo, escribo un tutorial similar a este.<\/p>\n<p>Saludos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En un episodio del podcast de wedoit4you.com mencione que uno de los atractivos de KDE es su poder de integracion, en el episodio pasado comente nuevamente sobre el tema y hable de DCOP en KDE. Creo que es hora que ilustre un poco mas como utilizar DCOP (que va a ser remplazado por DBUS y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[15,30,33,43],"tags":[],"class_list":["post-322","post","type-post","status-publish","format-standard","hentry","category-code","category-geeklife","category-gubatron","category-linux"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5Unzf-5c","jetpack-related-posts":[{"id":314,"url":"https:\/\/www.gubatron.com\/blog\/episodio-0015-el-poder-de-kde-desktop-con-simon-castillo-especial-de-una-hora\/","url_meta":{"origin":322,"position":0},"title":"Episodio 0015 &#8211; El poder de KDE Desktop con Simon Castillo (Especial de una hora)","author":"gubatron","date":"May 18, 2006","format":false,"excerpt":"En este episodio tenemos un invitado especial, el joven venezolano Simon Castillo discute con nosotros sobre el verdadero poder de KDE y sus ventajas sobre Gnome. Simon era un empedernido Gnomero hasta que tras escuchar nuestras recomendaciones decidio hacer una prueba de \"supervivencia\", utilizar aplicaciones KDE unicamente durante 7 dias,\u2026","rel":"","context":"In &quot;Code&quot;","block_context":{"text":"Code","link":"https:\/\/www.gubatron.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":373,"url":"https:\/\/www.gubatron.com\/blog\/dual-screen-amd-3200-19-dft-ubuntu-powered-kde\/","url_meta":{"origin":322,"position":1},"title":"Dual Screen AMD 3200, 19&#8221; DFT UBUNTU POWERED KDE","author":"gubatron","date":"September 19, 2006","format":false,"excerpt":"Dual Screen AMD 3200, 19'' DFT UBUNTU POWERED KDE Originally uploaded by Gubatron. Now I won't want to stop coding at all, no more minimizing, productivity supposed to double with two screens.","rel":"","context":"In &quot;Geeklife&quot;","block_context":{"text":"Geeklife","link":"https:\/\/www.gubatron.com\/blog\/category\/geeklife\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":317,"url":"https:\/\/www.gubatron.com\/blog\/kde-multimedia-2006\/","url_meta":{"origin":322,"position":2},"title":"KDE Multimedia 2006","author":"gubatron","date":"May 24, 2006","format":false,"excerpt":"I hope my friend Kakei reads this post, we sure have complained a lot about Linux's multimedia support, this way he'll know something is being done. Look! From the 26th to the 28th of May, an international KDE developer meeting about multimedia will take place in the Annahoeve in the\u2026","rel":"","context":"In &quot;Geeklife&quot;","block_context":{"text":"Geeklife","link":"https:\/\/www.gubatron.com\/blog\/category\/geeklife\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":374,"url":"https:\/\/www.gubatron.com\/blog\/mac-os-x-on-dual-screen-ubuntu-kde-via-vnc\/","url_meta":{"origin":322,"position":3},"title":"Mac OS X on Dual Screen Ubuntu (KDE) via VNC","author":"gubatron","date":"September 20, 2006","format":false,"excerpt":"mac_os_en_dual_screen_ubuntu_via_vnc.JPG Originally uploaded by Gubatron. So now I don't have to move my chair to the desk where I got the mac, my linux box is my control station. And I can even run windows, since the mac runs parallels. Sweet. 3 OS in one... I mean 2 screens. :)","rel":"","context":"In &quot;Geeklife&quot;","block_context":{"text":"Geeklife","link":"https:\/\/www.gubatron.com\/blog\/category\/geeklife\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":719,"url":"https:\/\/www.gubatron.com\/blog\/episodio-074-semana-de-internet-tv\/","url_meta":{"origin":322,"position":4},"title":"Episodio 074 &#8211; Semana de Internet TV","author":"gubatron","date":"March 13, 2008","format":false,"excerpt":"Agreganos a tu iTunes | Descarga en MP3 | Suscribete a este podcast | Skypeanos Dale Play aqui mismo Guarda TODOS tus archivos gratis en MyBloop.com! Joost Noticias Internet TV Joost lanza v1.1 con video en vivo Hulu abre su servicio al publico en general (solo en USA) Stage6 cierra\u2026","rel":"","context":"In &quot;Podcast&quot;","block_context":{"text":"Podcast","link":"https:\/\/www.gubatron.com\/blog\/category\/podcast\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":252,"url":"https:\/\/www.gubatron.com\/blog\/my-firefox-wallpaper\/","url_meta":{"origin":322,"position":5},"title":"My Firefox Wallpaper","author":"gubatron","date":"February 3, 2006","format":false,"excerpt":"If you want to have a simple Firefox Wallpaper, here's the one I have. I grabbed the image from http:\/\/ie7.com and turned it into a 1024x768 image for my KDE background.","rel":"","context":"In &quot;Geeklife&quot;","block_context":{"text":"Geeklife","link":"https:\/\/www.gubatron.com\/blog\/category\/geeklife\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts\/322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/comments?post=322"}],"version-history":[{"count":0,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts\/322\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/media?parent=322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/categories?post=322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/tags?post=322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}