ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Instalacion y configuracion de Fluxbox.

Fluxbox es un gestor de ventanas. Su objetivo es ser ligero y altamente personalizable, con sólo un soporte mínimo para iconos, gráficos, y sólo capacidades básicas de estilo para la interfaz. 

Se utilizan atajos de teclado, tabs, y menús simples como interfaces, los cuales pueden ser editados.

Algunos usuarios prefieren Fluxbox sobre otros gestores de ventanas debido a su velocidad y simplicidad.

Iniciamos instalando Fluxbox:
sudo aptitude install fluxbox

Aceptar toda confirmacion que pida (si es que la pide).

Se descarga e instala en cuestion de segundos, literalmente, porque es RE liviano.


Acceder a Fluxbox.

Cerramos la sesion una vez termine la instalacion y en la pantalla para
loguearse clickeamos "Sesion" y elegimos "Fluxbox".

Aceptamos e iniciamos sesion.

Si tenian Gnome, les va a preguntar si quieren que quede como
predeterminado siempre que entren Fluxbox o que sea solo esa vez
hasta que cierren la sesion.

Ya estamos dentro de Fluxbox.

Cambiar la apariencia en Fluxbox.

Te metes en esta pagina:

http://www.box-look.org/index.php?xc...6cf4de6cd2165b

Elegi el tema que mas te guste.

Lo descargas y lo descomprimis.

Copia y pega la carpeta en este directorio: /home/TU_NOMBRE_DE_USUARIO/.fluxbox/styles

Ahora haciendo click derecho en el escritorio te va a aparecer el menú.

Anda a la opcion Styles y clickea el que agregaste vos a la carpeta.



Modificando el menu de Fluxbox.

Tirá este comando en una consola:

gedit home/TU_NOMBRE_DE_USUARIO/.fluxbox/menu

Ese archivo es el menú. Despues buscá en internet que hay tutoriales de
como armarte el tuyo como mas te guste.

Yo te tiro el codigo del mio, que me lo modifiqué a mi gusto, con "accesos directos".
Lo que tenes que hacer es borrar lo que tenga ese archivo y copiar y pegar esto:

[begin] (Linux) {}
[exec] (HOME Thunar) { thunar $HOME} <>
[exec] (HOME Nautilus) { nautilus --no-desktop $HOME} <>
[separator] () {}
[exec] (Opera) {opera} <>
[exec] (Pidgin) {pidgin} <>
[exec] (Thunderbird) {thunderbird} <>
[exec] (Amarok) {amarok} <>
[exec] (Firefox) {firefox} <>
[exec] (Gedit) {gedit} <>
[exec] (Terminal) {gnome-terminal} <>
[exec] (Monitor del sistema) {gnome-system-monitor} <>
[exec] (Screenshot) {gnome-screenshot} <>
[exec] (Agregar/Quitar) {gnome-app-install} <>
[separator] () {}
[submenu] (Sistema) {}
[include] (/etc/X11/fluxbox/fluxbox-menu) {}
[submenu] (Styles) {}
[stylesdir] (/usr/share/fluxbox/styles) {}
[stylesdir] (~/.fluxbox/styles) {}
[end]
[end]

Fijate que al principio estan todos los "accesos directos" a programas que YO uso.

Si usas otros, cambialos.

Lo que va entre parentesis es el nombre que aparece en el menú, lo que va entre
llaves es el comando de ejecucion de la aplicacion.

Por ejemplo, yo tengo (Pidgin) {pidgin}, si usas aMSN, entonces mandale (aMSN) {amsn}.

Elementos en el panel inferior.

Primero que nada explico una cosa. Tirá este comando en consola:

gedit home/TU_NOMBRE_DE_USUARIO/.fluxbox/init

Este es el archivo de configuración de todo el entorno.

Si mas o menos tenes idea de ingles y le pones onda, vas a entender que es cada cosa.

Los del principio son el ancho de las barras, titulos, tamaños de letra, etc...

Nos vamos a la linea que dice session.screen0.rootCommand:

Despues de los dos puntos no hay nada, porque lo vamos a agregar nosotros.

Que es esta linea? Aca se ponen las cosas que queres que se ejecuten automaticamente
cuando inicias sesion.

Por si no te diste cuenta, en el panel inferior, no tenes el administrador de redes,
y si tenes notebook, tampoco tenes el monitor de bateria. Como los agregas?
session.screen0.rootCommand: nm-applet & gnome-power-manager &

Los "&" son separadores para que la maquina sepa cual es el nombre del programa.

Tampoco tenes para modificar el sonido.

Tampoco tenes el iconito que te avisa cuando hay actualizaciones disponibles.

Asi que a la misma linea a la que le agregamos antes, ahora le agregas esto:

session.screen0.rootCommand: nm-applet & gnome-power-manager & update-notifier &

Obviamente que solo le agregas el "update-notifier &", porque el resto ya lo tenes.

Wallpaper.

Primero instalamos esto:

sudo aptitude install eterm

Te recomiendo poner el wallpaper que quieras usar en esta carpeta /home/TU_NOMBRE_DE_USUARIO/.fluxbox/backgrounds
Con este comando pones el wallpaper:

fbsetbg -f /home/TU_NOMBRE_DE_USUARIO/.fluxbox/backgrounds/
NOMBRE_DEL_WALLPAPER

Que significa el comando? "fbsetbg" (fb = FluxBox, set = poner xD, bg = BackGround)
El "-f" indica "fullscreen", es decir, pantalla completa. Si lo queres centrado, entonces
poné "-c", e imaginate las demas variantes.

Que problema tenemos ahora? Que es un comando el poner el fondo de pantalla,
que no es autoejecutable al inicio del sistema. Entonces? Que hachemo'?
Lo agregamos al init! Tonce... Otra linea mas:

session.screen0.rootCommand: nm-applet & gnome-power-manager &
update-notifier & fbsetbg -f /home/TU_NOMBRE_DE_USUARIO/.fluxbox/
backgrounds/NOMBRE_DEL_WALLPAPER &

Cada vez que cambien el wallpaper tienen que cambir el nombre del wallpaper
en esa linea, obviamente.

Gvtray (progrma para controlar el volumen).

Como se dieron cuenta, no hay nada que les ayude a regular el sonido.

Yo les recomiendo GVTRAY.
sudo apt-get install python-alsaaudio python-gnome2-extras
wget http://gtk-tray-utils.googlecode.com...ray-1.1.tar.gz

Lo descomprimimos y nos metemos en la carpeta:

tar -xvf gvtray-1.1.tar.gz cd gvtray-1.1

Ahora metan estos comandos xD :

sudo mkdir /usr/share/gvtray
sudo cp gvtray /usr/bin
sudo cp gvtray.py /usr/share/gvtray/
sudo cp -r gvtray_about/ /usr/share/gvtray/gvtray_about

Finalmente, agregan a la linea "session.screen0.rootCommand" del INIT el GVTRAY.
Como les quedaria el INIT entonces?

session.screen0.rootCommand: nm-applet & gnome-power-manager &
update-notifier & fbsetbg -f /home/TU_NOMBRE_DE_USUARIO/.fluxbox/
backgrounds/NOMBRE_DEL_WALLPAPER & gvtray &

Mejorar apariencia de aplicaciones GTK:

Para mejorar su aspecto, ya que originalmente se ven "mal", instalamos este programa:

sudo aptitude install gtk-chtheme

No recuerdo si se necesita alguna repo aparte. Si no se los instala de una diganme que la busco.
Una vez instalado lo ejecutamos escribiendo en consola:

gtk-chtheme

Elijan el estilo que quieran, y listo.

Los iconos no son los que queres? Asi se cambian:

Te vas a esta carpeta /usr/share/icons y te fijas como se llaman los iconos que queres
(son los mismos que tenias en gnome).
Despues abris el archivo .gtkrc-2.0 que esta en tu carpeta Home y al final de todo le
agregas esta linea:
gtk-icon-theme-name = NOMBRE_DE_LOS_ICONOS

Clicar "Restart" y listo.

ACLARACIONES IMPORTANTES:
- El archivo "keys" en el directorio /home/TU_NOMBRE_DE_USUARIO/.fluxbox/
es en el que se manejan los accesos directos por teclado.

Yo lo configure como esta en Gnome. Si quieren, copien y peguen:
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
OnDesktop Mouse4 :NextWorkspace
OnDesktop Mouse5 revWorkspace
Mod1 Tab :NextWindow
Mod1 Shift Tab revWindow
Mod1 F2 :ExecCommand fbrun
Mod1 F4 :Close

Mod1 = Tecla ALT

- Si les falta algun directorio de los que nombré en el tutorial, o algun archivo,
entonces creenló ustedes No hay drama, suele pasar.

En caso del archivo init, si no tenes la linea "session.screen0.rootCommand:", agregala.

- Donde vean "ALFA" y al lado un numero (255), eso es la cantidad de transparencia
de algo.

Por ejemplo, haciendo click derecho sobre el panel inferior con la ruedita del mouse
podes regular la cantidad de transparencia.

Tambien tenes en el menú en el escritorio, en la configuracion de Fluxbox, para
regular la transparencia en los bordes de ventanas.

Yo lo puse asi:

Alfa 150 para el panel inferior.
Alfa 200 para la ventana activa.
Alfa 100 para la ventana inactiva.

- Revisen ustedes y no tengan miedo. Es cuestion de amigarse con el init y de
aprenderse como configurar el menú para armarse uno propio (yo todavia no aprendi,
me robe el de un amigo y le modifique los accesos directos y algun que otro nombre xD)

- Para Ubuntu 9.04, no es necesario modificar las KEYS ya que cuando instalamos Fluxbox,
la config de las keys esta muy buena, y no como en las versiones anteriores que es diferente.

- Si usan WICD y/o kpowersave en vez de las aplicaciones de GNOME, entonces agreguen
asi al init:

session.screen0.rootCommand: wicd-client & kpowersave &

Y asi todas las demas aplicaciones, por ejemplo, yo ahora tengo tambien klipper,
y agrego "klipper &".
 Capturas de pantallas.













Búsqueda personalizada

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:


Diseño Gráfico en Linux: completo videotutorial de Gimp (28 vídeos).

GIMP (GNU Image Manipulation Program) es un programa de edición de imágenes digitales en forma de mapa de bits, tanto dibujos como fotografías. Es un programa libre y gratuito. Forma parte del proyecto GNU y está disponible bajo la Licencia pública general de GNU.


Es el programa de manipulación de gráficos disponible en más sistemas operativos (Unix, GNU/Linux, FreeBSD, Solaris, Microsoft Windows y Mac OS X, entre otros).


La interfaz de GIMP está disponible en varios idiomas, entre ellos: español, alemán, inglés, catalán, gallego, euskera, francés, italiano, ruso, sueco, noruego, coreano y neerlandés.


En una gran cantidad de casos, Gimp es una alternativa sólida, potente y rápida a Photoshop, aunque no ha sido desarrollado como un clon de este y posee una interfaz diferente.


Un tutorial su Gimp lo encuentras en esta página.


Los iniciadores del desarrollo de GIMP en 1995 fueron los estudiantes Spencer Kimball y Peter Mattis como un ejercicio semestral en la Universidad de Berkeley, en el club informático de estudiantes. Actualmente un equipo de voluntarios se encarga del desarrollo del programa. La primera versión de GIMP se desarrolló inicialmente en sistemas Unix y fue pensada especialmente para GNU/Linux, como una herramienta libre para trabajar con imágenes y se ha convertido en una alternativa libre y eficaz al Photoshop para gran número de usos.


GIMP significaba inicialmente «General Image Manipulation Program» («Programa general para manipulación de imágenes»), pero en 1997 se cambió al significado «GNU Image Manipulation Program» («Programa de manipulación de imágenes de GNU»). GIMP forma parte oficial del Proyecto GNU.


GIMP sirve para procesar gráficos y fotografías digitales. Los usos típicos incluyen la creación de gráficos y logos, el cambio de tamaño, recorte y modificación de fotografías digitales, la modificación de colores, la combinación de imágenes usando un paradigma de capas, la eliminación o alteración de elementos no deseados en imágenes o la conversión entre distintos formatos de imágenes. También se puede utilizar el GIMP para crear imágenes animadas sencillas, la manipulacíon de vectores, edición avanzada de video.


GIMP es también conocido por ser quizás la primera gran aplicación libre para usuarios no profesionales o expertos. Productos originados anteriormente, como GCC, el núcleo Linux, etc., eran principalmente herramientas de programadores para programadores. GIMP es considerado por algunos como una demostración fehaciente de que el proceso de desarrollo de software libre puede crear aplicaciones que los usuarios comunes, no avanzados, pueden usar de manera productiva. De esta forma, Gimp ha abierto el camino a otros proyectos como KDE, GNOME, Mozilla Firefox, OpenOffice.org y otras aplicaciones posteriores.
Completo videotutorial de Diseño Grafico en Linux.
Les dejo 28 vídeos (casi 4 horas) realizados por Leonel Iván Saafigueroa donde explica como utilizar algunas herramientas de GIMP

















































































Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Instalar Conky con previsión del tiempo en Ubuntu 10.10 Maverick Meerkat.

Conky es un monitor de sistema libre y ligero para X, que muestra información diversa en su escritorio. Ayer, después que alguien me hiciera una pregunta en un foro de Ubuntu, decidí instalarlo en mi escritorio Ubuntu 10.10 de mis ordenadores de sobremesa y portátil. No fue fácil y tuve que consultar diversos foros y enlaces, así que decidí escribir este artículo sobre lo que hice.

Mi configuración de conky involucra dos secciones diferentes y ocupa un lugar considerable de mi escritorio. En la configuración de dos monitores que tengo en mi sobremesa eso no es un problema, pero en el portátil presenta el problema que Conky, a pesar de que siempre se ubica debajo de cualquier ventana, se posiciona encima de los iconos de escritorio, de manera que cualquier icono que esté en el área donde está conky quedará oculto por él. No uso demasiados iconos de escritorio y los iconos de todas maneras se pueden acceder pasando el ratón sobre la ventana de conky, pero sea consciente de este problema si lo quiere instalar.

En mi ordenador de sobremesa uso dos monitores y configuré conky para que se muestre en el rincón superior derecho, y se muestra en el segundo monitor. En el portátil también está configurado para que se muestre en el rincón superior derecho. También instalé conkyForecast que es un script de python para acceder información meterológica para conky provista por www.weather.com, un servicio meteorológico en línea.

Así es como de bonito se ve en mi portátil, con el fondo de pantalla "cometa" que se puede encontrar en/usr/share/backgrounds/cosmos/comet.jpg:



Lo primero que se tiene que hacer es instalar conky:

sudo apt-get install conky
Esperaremos para configurar conky a tener instalado todo lo referente a
la previsión del tiempo.

Para esto lo primero que tiene que hacer, si no lo ha hecho ya, es abrir una
cuenta en www.weather.com. Cuando se subscribe, tiene que pedir un
"XML weather feed", que es un producto libre que el lugar ofrece con un código
que permite a una página web obtener un canal con información meteorológica.

Una vez que se registra y pide este producto recibirá un correo largo, pero en
algún lugar podrá encontrar:

Partner ID: 1333566431 License Key: 8b530a2a1ab8008a

También necesita obtener información sobre su localización.

Para esto navegue a www.weather.com, y en la parte superior izquierda
encontrará un campo donde entrar una localización y pedir información
sobre el tiempo allí. Entre su localización, por ejemplo yo entré Barcelona,
y mire por la dirección URL que le muestra su navegador, yo por ejemplo veo:

http://www.weather.com/weather/today/Barcelona+Spain+SPXX0015

Necesita el código después del último signo "+", o sea SPXX0015.

Antes de continuar necesita bajarse un par de tipos de letra, al menos yo lo tuve
que hacer, una para el logo de Ubuntu y el título, y la otra para los símbolos
meteorológicos (el sol, las nubes, etc.).

Los símbolos de Ubuntu se pueden bajar de:

http://www.gnome-look.org/content/show.php/OpenLogos?content=54390


Puede poner el archivo bajado a una carpeta llamada ".fonts" en su carpeta de inicio
o en /usr/share/fonts/truetype/myfonts.

El tipo de letra de meteorología lo puede bajar de:

http://www.dafont.com/search.php?psize=m&q=weather

Instale el archivo ttf (cámbiele el nombre a weather.ttf) en cualquiera de los dos
lugares mencionados.

A continuación necesita instalar el script conkyForecast de python.

Está en un depósito PPA, puede instalarlo con las dos líneas siguientes en una terminal:
sudo add-apt-repository ppa:conkyhardcore/ppa sudo apt-get update && sudo apt-get install conkyforecast

Ahora copie conkyForecast a su carpeta de inicio:

cp /usr/share/conkyforecast/conkyForecast.config ~/.conkyForecast.config

Bien, ya está todo instalado. Ahora tenemos que editar el archivo de
configuración de conky y de conkyforecast.

Primero editamos el archivo ".conkyForecast.config" que ponemos en nuestra
carpeta de inicio:
# config settings for conkyForecast.py CACHE_FOLDERPATH = /tmp/ CONNECTION_TIMEOUT = 5 EXPIRY_MINUTES = 30 TIME_FORMAT = %H:%M DATE_FORMAT = %Y-%m-%d LOCALE = us_US XOAP_PARTNER_ID = 1333566431 XOAP_LICENCE_KEY = 8b530a3a1ab8008a MAXIMUM_DAYS_FORECAST = 4 AUTO_NIGHT = False BASE_XOAP_URL = http://xoap.weather.com/weather/local/SPXX0015?cc=*&dayf=5&link=xoap∏=xoap&par=1333566431&key=8b530a3a1ab8008a&unit=m PROXY_HOST = PROXY_PORT = 8080 PROXY_USERNAME = PROXY_PASSWORD =
Substituya mi código por los que obtuvo de www.weather.com.

Ahora tiene que crear dos archivos en su carpeta de inicio, ".conkyrc1"
y ".conkyrc2" para configurar cada uno de los paneles conky que se pueden
ver en mi escritorio. Aquí están, entre también su localización en los lugares
apropiados en vez de los míos.

En ".conkyrc1" ajuste los parámetros para los procesores y los discos
de su entorno:

.conkyrc1
############################# ## VinDSL | 1280x1024x24 ## ############################# #### ## Use XFT? Required to Force UTF8 (see below). # use_xft yes xftfont LiberationSans:size=9 xftalpha 0.1 text_buffer_size 2048 #### ## Force UTF8? Requires XFT (see above). ## Displays degree symbol, instead of °, etc. # override_utf8_locale yes #### ## Update interval in seconds. # update_interval 1.5 #### ## This is the number of times Conky will update before quitting. ## Set to zero to run forever. # total_run_times 0 #### ## Create own window instead of using desktop (required in nautilus)? # own_window yes own_window_type override own_window_transparent yes #### ## Use double buffering? Reduces flicker. # double_buffer yes #### ## Draw shades? # draw_shades no #### ## Draw outlines? # draw_outline no #### ## Draw borders around text? # draw_borders no #### ## Draw borders around graphs? # draw_graph_borders no #### ## Print text to stdout? ## Print text in console? # out_to_ncurses no out_to_console no #### ## Text alignment. # alignment top_right #### ## Minimum size of text area. # minimum_size 235 0 #### ## Specify width and height for bars. # default_bar_size 0 4 #### ## Gap between text and screen borders. # gap_x 400 gap_y 28 #### ## Shorten MiB/GiB to M/G in stats. # short_units yes #### ## Pad % symbol spacing after numbers. # pad_percents 0 #### ## Limit the length of names in "Top Processes". # top_name_width 10 #### ## Subtract file system -/+buffers/cache from used memory? ## Set to yes, to produce meaningful physical memory stats. # no_buffers yes #### ## Set to yes, if you want all text to be in UPPERCASE. # uppercase no #### ## Number of cpu samples to average. ## Set to 1 to disable averaging. # cpu_avg_samples 4 #### ## Number of net samples to average. ## Set to 1 to disable averaging. # net_avg_samples 2 #### ## Add spaces to keep things from moving around? ## Only affects certain objects. # use_spacer right #### ## My colors. # color0 White color1 Ivory color2 Ivory2 color3 Ivory3 color4 Tan1 color5 Tan2 color6 Gray color7 AntiqueWhite4 color8 DarkSlateGray color9 Black TEXT ################## ## LOGO ## ################## ${voffset -42}${font OpenLogos:size=103}${color2}v${voffset -66}${goto 178}${font UbuntuTitleBold:size=20}${color4}10.10 ################## ## SYSTEM ## ################## ${voffset 10}${font Arial:bold:size=9.5}${color4}SYSTEM ${color8} ${hr 2} ${voffset 4}${font OpenLogos:size=10}${color2}u${voffset -4}${font}${color6} ${sysname} ${kernel} ${alignr} ${machine} ${voffset 2}${font StyleBats:size=10}${color2}A${voffset -1}${font}${color6} Intel I5 ${alignr}${freq_g cpu0} GHz ${voffset 2}${font StyleBats:size=10}${color2}q${voffset -1}${font}${color6} Uptime ${alignr}${uptime} ${voffset 2}${font StyleBats:size=10}${color2}o${voffset -1}${font}${color6} File System ${alignr}${fs_type} ################## ## PROCESSORS ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}PROCESSORS ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU1 ${cpu cpu1}%${color7}${alignc 35}${cpubar cpu1} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU2 ${cpu cpu2}%${color7}${alignc 35}${cpubar cpu2} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU3 ${cpu cpu3}%${color7}${alignc 35}${cpubar cpu3} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU4 ${cpu cpu4}%${color7}${alignc 35}${cpubar cpu4} ################## ## MEMORY ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}MEMORY ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}l${voffset -2}${font}${color6} RAM ${goto 95}${mem}/ ${memmax}${alignr}${memperc}% ${color7}${membar} ################## ## HDD ## ################## ${voffset 2}${font Arial:bold:size=9.5}${color4}HDD ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} ROOT ${goto 95}${fs_used /} / ${fs_size /}${alignr}${fs_free_perc /}% ${color7}${fs_bar /} ${voffset 1}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} HOME ${goto 95}${fs_used /home}/ ${fs_size /home}${alignr}${fs_free_perc /home}% ${color7}${fs_bar /home} ${voffset 1}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} Data ${goto 95}${fs_used /data}/ ${fs_size /data}${alignr}${fs_free_perc /data}% ${color7}${fs_bar /data} ${voffset 1}${font StyleBats:size=10}${color2}4${voffset -2}${font}${color6} SWAP ${goto 95}${swap} / ${swapmax}${alignr}${swapperc}% ${color7}${swapbar} ################## # TOP PROCESSES ## ################## ${voffset 3}${font Arial:bold:size=9.5}${color4}TOP PROCESSES ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 1}${goto 115}${top_mem mem_res 1}${alignr}${top_mem mem 1}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 2}${goto 115}${top_mem mem_res 2}${alignr}${top_mem mem 2}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 3}${goto 115}${top_mem mem_res 3}${alignr}${top_mem mem 3}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 4}${goto 115}${top_mem mem_res 4}${alignr}${top_mem mem 4}% ################## ## NETWORK ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}NETWORK ${color8}${hr 2} ${voffset 2}${font PizzaDude Bullets:size=10}${color2}a${font}${color6} Private IP${alignr}${addr eth0} ${font PizzaDude Bullets:size=10}${color2}a${font}${color6} Public IP${alignr}${execi 600 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit|.]//g'} ${voffset 4}${font PizzaDude Bullets:size=10}${color2}T${font}${color6} Down${alignr}${downspeed eth0} ${font PizzaDude Bullets:size=10}${color2}N${font}${color6} Up${alignr}${upspeed eth0} ${voffset 4}${font PizzaDude Bullets:size=10}${color2}T${font}${color6} Downloaded${alignr}${totaldown eth0} ${font PizzaDude Bullets:size=10}${color2}N${font}${color6} Uploaded${alignr}${totalup eth0}
.conkyrc2:
############################# ## VinDSL | 1280x1024x24 ## ############################# #### ## Use XFT? Required to Force UTF8 (see below). # use_xft yes xftfont LiberationSans:size=9 xftalpha 0.1 text_buffer_size 2048 #### ## Force UTF8? Requires XFT (see above). ## Displays degree symbol, instead of °, etc. # override_utf8_locale yes #### ## Update interval in seconds. # update_interval 1.5 #### ## This is the number of times Conky will update before quitting. ## Set to zero to run forever. # total_run_times 0 #### ## Create own window instead of using desktop (required in nautilus)? # own_window yes own_window_type override own_window_transparent yes #### ## Use double buffering? Reduces flicker. # double_buffer yes #### ## Draw shades? # draw_shades no #### ## Draw outlines? # draw_outline no #### ## Draw borders around text? # draw_borders no #### ## Draw borders around graphs? # draw_graph_borders no #### ## Print text to stdout? ## Print text in console? # out_to_ncurses no out_to_console no #### ## Text alignment. # alignment top_right #### ## Minimum size of text area. # minimum_size 235 0 #### ## Specify width and height for bars. # default_bar_size 0 4 #### ## Gap between text and screen borders. # gap_x 10 gap_y 28 #### ## Shorten MiB/GiB to M/G in stats. # short_units yes #### ## Pad % symbol spacing after numbers. # pad_percents 0 #### ## Limit the length of names in "Top Processes". # top_name_width 10 #### ## Subtract file system -/+buffers/cache from used memory? ## Set to yes, to produce meaningful physical memory stats. # no_buffers yes #### ## Set to yes, if you want all text to be in UPPERCASE. # uppercase no #### ## Number of cpu samples to average. ## Set to 1 to disable averaging. # cpu_avg_samples 4 #### ## Number of net samples to average. ## Set to 1 to disable averaging. # net_avg_samples 2 #### ## Add spaces to keep things from moving around? ## Only affects certain objects. # use_spacer right #### ## My colors. # color0 White color1 Ivory color2 Ivory2 color3 Ivory3 color4 Tan1 color5 Tan2 color6 Gray color7 AntiqueWhite4 color8 DarkSlateGray color9 Black TEXT ################## ## WEATHER ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}WEATHER ${color8}${hr 2} # ${goto 59}${font Weather:size=40}${color1}y${voffset -8}${font RadioSpace:size=32}${color3}${offset 14}${execpi 600 conkyForecast --location=SPXX0015} ${goto 59}${font Weather:size=40}${color1}y${voffset -8}${font RadioSpace:size=32}${color3}${offset 14}${execpi 600 conkyForecast --location=GMXX2809} ${voffset -17}${font Arial:size=22}${color4}${alignc}${execi 600 conkyForecast --location=SPXX0015 --datatype=OB} ${voffset 7}${goto 20}${font ConkyWindNESW:style=Bold:size=38}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=BS}${goto 96}${voffset -5}${font ConkyWeather:style=Bold:size=40}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=WF}${voffset -2}${goto 180}${font MoonPhases:size=30}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT} ${voffset -20}${goto 30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=WS}${goto 86}Feels like ${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --centeredwidth=4 }${goto 182}Lunar ${voffset 10}${goto 30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=1 --shortweekday}${goto 83}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=2 --shortweekday}${goto 136}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=3 --shortweekday}${goto 192}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=4 --shortweekday} ${goto 20}${font}${color2}${font ConkyWeather:size=32}${execi 600 conkyForecast --location=SPXX0015 --datatype=WF --startday=1 --endday=4 --spaces=1} ${goto 22}${voffset -30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=1 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=1 --hideunits --centeredwidth=4 }${goto 76}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=2 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=2 --hideunits --centeredwidth=4 }${goto 130}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=3 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=3 --hideunits --centeredwidth=4 }${goto 185}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=4 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=4 --hideunits --centeredwidth=4 } ################## ## TIME ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}TIME ${color8}${hr 2} ${voffset -4}${if_match ${time %l}<=9}${font RadioSpace:size=32}${color3}${alignc 2}${time %H:%Mh }${else}${if_match ${time %l}>=10}${font RadioSpace:size=32}${color3}${alignc 2}${time %H:%Mh}${endif}${endif} ${voffset -35}${font LiberationSans:size=8}${color4}${alignc 5}Sunrise${offset 1}${execi 600 conkyForecast --location=SPXX0015 --datatype=SR --startday=1}${color3}${offset 2}|${offset 2}${color4}Sunset${offset 1}${execi 600 conkyForecast --location=SPXX0015 --datatype=SS --startday=1} ################## ## CALENDAR ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}DATE ${color8}${hr 2} ${voffset 4}${font LiberationSansBold:size=10}${color4}${alignc 7}${execpi 60 VinDSL_Cal= date +'%B${offset 6}%Y'} ${voffset 2}${font LiberationMono:size=9.5}${execpi 60 VinDSL_Cal= cal | sed '1d' | sed -e 's/'`date | awk '{print $3}'`'/${color4}'`date | awk '{print $3}'`'${color3}/' | sed 's/^/${offset 36}${color3}/'}
Puede probar la configuración para ver si todo funciona bien entrando
los siguientes comandos desde una terminal:
conky -c ~/.conkyrc1 & conky -C ~/.conkyrc2 &
Finalmente tiene que configurar que estos dos comandos como programas
de inicio de manera que obtenga conky en su escritorio cada vez que empieza
el escritorio. Para esto tiene que crear otro script para comenzar conky
automáticamente cuando empieza la sesión de escritorio.

Este es el script, que tiene que ubicar en su carpeta de inicio y llamarlo por
ejemplo .conky_autostart.sh:
#!/bin/bash sleep 20 && conky -c ~/.conkyrc1 sleep 20 && conky -c ~/.conkyrc2
Y ahora tiene que ir al menú Preferences -> Startup programs, y añadir
este script como se muestra en la captura de pantalla:


Un comentario final sobre el problema que mencioné al principio sobre
iconos ocultos. Si se coloca un icono de escritorio en el área donde tiene el
conky, quedará oculto por él ubicándose entre el escritorio y conky y no
podrá verlo. Esto no pasa con las ventanas de aplicaciones que siempre se
ubican por encima de conky. Esto no representa un problema demasiado
grande para mi ya que mantengo el escritorio bastante limpio de iconos,
pero por ejemplo si inserta un dispositivo USB por ejemplo, el icono de
acceso puede aparecer en el área de conky y quedar oculto. Esto tampoco
es un problema, si no encuentra un icono simplemente pase el ratón sobre
el área de conky y el puntero cambiará a un dedo señalando cuando está sobre
el icono. Simplemente clique con el botón izquierdo del ratón y manteniéndolo
presionado muévase a otra área del escritorio libre de conky. Esto moverá el
icono fuera del área de conky.



Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:


ComFusion es una distribución que une Ubuntu con Compiz Fusion incluyendo una excelente selección de programas.

ComFusion suma Ubuntu, Compiz y Fusion, y alcanza una alta puntuación, logrando una distro LiveCD que muchos estaban esperando. ComFusion corre Compiz-Fusion en Ubuntu, tanto en chip Intel como NVIDIA o ATI, por lo que no tendrás problemas de controladores.

Entre otras aplicaciones, ComFusion incluye Banshee, Brasero, Empathy, Ailurus, Chromium, Ubuntu Tweak, LibreOffice, GIMP, jDownloader o qBittorrent, entre otros.

Basado en Ubuntu 10.04, ComFusion incluye una excelente selección de programas, scripts y ajustes de sistema que a buen seguro harán que muchos usuarios, especialmente usuarios de Windows, se interesen por Linux.


Actualizaciones (via Distrowatch):


Comfusion
Comfusion is a Spanish Ubuntu-based distribution formerly known as Uberyl. The latest release, version 3, is the project's first stable build in over two years and it comes with a number of major changes. Firstly, there is a choice of desktop environments which includes GNOME, the full-featured desktop for modern computers, LXDE, a lightweight desktop similar to GNOME but with less resource-hungry components, and Openbox, a very light, but highly configurable window manager. Secondly, the release also comes with the XMBC media centre, the Cairo-Dock application launchbar, and a large variety of usability improvements and modifications of all aspects of the desktop.

Please head for the detailed release notes (in Spanish, PDF format) if you'd like to learn more about Comfusion 3.

The release is available for download from SourceForge (and also via BitTorrent) as a split ISO image that needs to be extracted with 7z to create a bootable DVD: ComFusion3.7z.001 (700MB), ComFusion3.7z.002 (671MB).



Ultimas versiones publicadas:

• 2011-02-16: Distribution Release: Comfusion 3
• 2008-11-07: Distribution Release: ComFusion 2.0


Capturas de pantallas.












Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:


Shutter excelente programa open source para capturar todo tipo de pantallas.

Shutter es un programa open source para capturar todo tipo de pantallas

La gran mayoría de las imágenes que encontrarás en este sitio que se incluyen en los tutoriales y artículos demostrativos de utilización de programas y aplicaciones están realizadas con este intuitivo, sencillo y eficaz programa. No te resultará nada difícil instalarlo, porque se encuentra en los repositorios oficiales de Ubuntu, ni tampoco utilizarlo dada su facilidad de manejo.

Se trata de una poderosa utilidad de captura de pantalla que posee una apariencia e interfaz mínimas pero que esconde bajo ella un amplio conjunto de herramientas. Te permitirá capturar cualquier cosa que suceda en pantalla incluyendo ventanas, menús, objetos, la pantalla completa, selecciones rectangulares personalizadas e incluso páginas web completas.


Entre sus características más destacadas:

  • Escaso uso de memoria incluso aunque la aplicación esté minimizada en la barra de tareas.

  • La imagen tomada puede ser de todo el escritorio, sólo de una parte de éste, de una ventana completa e incluso de toda una página web (no sólo de la parte que se ve en pantalla).

  • Puedes configurar la aplicación para guardar la imagen capturada en variados formatos BMP, JPEG y PNG.

  • Te permite seleccionar la carpeta de destino donde guardarás la imagen cuando la captura se ha realizado o guardar automáticamente la imagen en un directorio de tu elección, o guardar - copiar la captura en el portapapeles del sistema para que puedas utilizarla con cualquier otra aplicación. También te permite guardar las imágenes remotamente, en servidores de Internet, enviarlas por FTP o al servicio online Ubuntu One o enviarlas a un dispositivo bluetooth si lo tienes configurado en el sistema e incluso enviarlas empaquetadas en formato comprimido zip o tar.

  • Puedes hacer uso de su editor interno y de las diversas herramientas en él incluidas para resaltar el contenido de la imagen capturada: añadir texto, incluir flechas, anotaciones a lápiz a mano alzada, sombreados o marcadores resaltados, recuadros, círculos y óvalos, eliminar zonas de la captura de pantalla para evitar la aparición de datos privados,

  • Puedes hacer uso de las diferentes herramientas de edición de imágenes que incluye la aplicación para mejorar la captura: anotación de textos, añadir marca de agua, utilizar diversos efectos como sombrear o añadir un borde a la imagen, modificar el tamaño de la imagen, rotarla, cortarla, modificar el brillo, la saturación o el contraste de la imagen, realzar la imagen, ajustar el zoom, ajustar los colores de la imagen, permite deshacer - rehacer…

  • Además el editor interno te facilita diversas herramientas para resaltar el contenido de la imagen capturada: flechas, lápiz a mano alzada, recuadros y círculos o marcadores resaltados.

  • Puedes enviar las imágenes capturadas directamente por e-mail utilizando tu gestor de correo predeterminado en el sistema.

  • Incluye una enorme variedad de plugins que te permitirá realizar sencillos efectos en la imagen como cambiar las dimensiones de la captura de pantalla, efecto sepia, añadir bordes, efectos de rotación, añadir sombras, añadir una marca de agua personalizada, etc.



Algunas de las mejoras introducidas en la nueva versiòn son:

  • Redimensionamiento automático. De esta manera, cuando capturas una ventana, lo que hace es cambiar las dimensiones de la ventana (si puede), hace la captura de la ventana y luego restaura la ventana a su tamaño inicial. Inicialmente, creía que lo que hacía era redimensionar las imágenes una vez, pero no, redimensiona la ventana para hacer la captura.



Instalación.

Para instalar esta nueva versión tendrás que echar mano del repositorio:

sudo add-apt-repository ppa:shutter/ppa

Una vez añadido el repositorio, toca actualizar:

sudo apt-get update

Y por último instalar

sudo apt-get install shutter

Mejoras:

De entre las nuevas mejoras incluidas en esta versión, podemos destacar:

  • Ahora Shutter permite el autoarranque al inicio.
  • Solo se permite una instancia de Shutter, no pueden haber duplicados
  • Puedes optar por no guardar las imágenes en el disco duro, sino que la copias directamente al portapapeles
  • Soporta orientación EXIF




Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Ninja IDE: Un IDE Pensado para Python

Por fin alguien se dignó a escribir un IDE como la gente para Python que cualquier ciudadano de a pie pueda usar sin problemas en Linux.

Sí, existen varios IDEs para programar en distintos lenguajes, incluso Python, pero este tiene algunos pequeños trucos bajo la manga...

¿Cómo comenzó NINJA-IDE?

NINJA-IDE nació por unos mails enviados a PyAr, cuya temática suele escucharse con bastante frecuencia: "Qué buen IDE para Python puedo usar?", "Por qué no hay un IDE para Python que tenga tal o cual característica?", y las respuestas a estos mails siempre terminan siendo mas o menos las mismas, ya que los IDEs actuales que encontramos disponibles, en su gran mayoría, no estaban diseñados para Python, sino que brindaban la opción de incorporarlo mediante algún Plugin y de esta forma se solía estar utilizando IDEs muy pesados diseñados para otros fines, donde el soporte para Python en realidad era mínimo, y aquellos que si eran para Python terminaban siendo muy orientados a un Framework especifico o no eran Libres. Entonces, motivados por el desafío que representaba, y por ideas interesantes que se plantearon en la lista de correo, decidimos encarar este proyecto enfocándonos en "qué características debería tener un buen IDE para un programador Python".

Con esto en mente comenzamos el desarrollo de NINJA-IDE, cuyo nombre es un derivado del acrónimo recursivo: "Ninja Is Not Just Another IDE". El IDE tiene apenas poco más de dos meses de desarrollo, pero gracias a las ganas y las horas de programación que le estamos dedicando, ya podemos contar con un IDE con muchas funcionalidades implementadas, hasta el punto de poder continuar con el desarrollo de NINJA-IDE utilizando NINJA-IDE, lo cual a su vez nos ayuda para encontrar bugs y mejorar la usabilidad y practicidad de la aplicación, a través de la experiencia y uso continuo de la misma.

Algunas de las características actuales del IDE son:



* Funcionalidades típicas de cualquier IDE para el manejo de archivos, de Tabs, indentación automática, Zoom en Editor, etc.
* Al estar escrito en Python y utilizar PyQt, es multiplataforma y fue probado en sistemas Linux, MAC OS X y Windows.
* Resaltado de Sintaxis para un gran variedad de lenguajes (si bien esta centrado en Python, brinda el resaltado de sintaxis para otros lenguajes más para comodidad del programador).
* Posibilidad de usar una Consola Python desde el mismo IDE.
* Permite el manejo de Proyectos en el IDE, reconociendo los mismos como Proyectos Python y a través del IDE crear nuevos archivos y carpetas, borrar archivos existentes, creación automática de archivos "__init__" con la información dentro de ese módulo, etc.
* Permite ocultar y reubicar todos los paneles de la interfaz de una forma muy simple, permitiendo que sea adaptado a los gustos del usuario.
* Permite ver más de un Editor al mismo tiempo de forma vertical u horizontal.
* Extensible a través de la incorporación de Plugins (los cuales pueden crearse utilizando un Plugin de NINJA-IDE para mayor simplicidad).
* Maneja sesiones del IDE, para recordar que archivos y proyectos se encontraban abiertos cuando se cerró y los recupera al abrir nuevamente una instancia del mismo.
* Soporte para Auto-completado (siendo un auto-completado especifico del objeto al que se esta accediendo).
* Actualizaciones automáticas.
* Y muchas características más!

¿Quiénes desarrollan NINJA-IDE?


NINJA-IDE comenzó siendo desarrollado por Santiago Moreno y Diego Sarmentero, y a las 2 semanas de haber comenzado el proyecto ya estaba siendo utilizado para desarrollar el mismo. Gracias a la gente de la Lista de PyAr, Blogs, etc. en muy poco tiempo la difusión del proyecto hizo que pudiéramos estar contando con Reporte de Bugs por parte de Usuarios, Sugerencias en la lista de correo de NINJA y hasta con aportes de código por parte de usuarios y colaboradores, de los cuales algunos pasaron a formar parte de NINJA-IDE con el rol de commiters, como es el caso de: Martín Alderete, Juan Cabral y Matías Herranz.

Esta fuerte colaboración y participación que estamos recibiendo de la comunidad permite que NINJA-IDE pueda crecer cada día más, mejorando e implementando caracterísitcas que los usuarios necesitan. A su vez los comentarios que recibimos de personas usando actualmente NINJA-IDE, nos motivan a seguir trabajando duro en esta herramienta, con la cual deseamos simplificar aún más el desarrollo de aplicaciones Python.

¿Cómo decididieron qué características agregar?

Al comenzar el proyecto se pensó en una estructura que le permitiera al mismo crecer e incorporar funcionalidades a lo largo del tiempo, teniendo como guía dos factores principales: el Editor de Código y el Manejo de Proyectos. La aplicación comenzó a construirse cuidando estos dos pilares fundamentales y permitiendo que una buena base de los mismos facilitara luego la incorporación de nuevas características. El proyecto fue pasando por distintas etapas, comenzando por un buen editor con resaltado de sintaxis, siguiendo con el manejo de archivos de proyecto, hasta agregar características de plugins, auto-completado, manejo de sesión, etc. Muchas veces se ve a Python como un lenguaje que presenta mayores dificultades para brindar información sobre el código que se esta escribiendo al no poder hacer inferencia de los objetos en el momento de la programación a causa del tipado dinámico, etc.

En algunos casos, es cierto que al contar con un tipado explicito se pueden realizar análisis más simples y detallados, pero también es cierto que actualmente existen muchas herramientas y librerías para Python que ayudan a eliminar este tabú de que no es posible contar con un IDE que brinde real asistencia sobre el código que se esta generando. Es por eso que NINJA-IDE busca permitir que aquellos programadores que utilizan Python para desarrollar sus programas, cuenten con las mismas facilidades y ayudas que se obtienen al desarrollar en Java o .NET con alguno de los IDEs más conocidos actualmente para esos lenguajes. Tomando los resultados y experiencias obtenidas de IDEs para otros lenguajes, se pretende lograr un IDE pensado para Python que genere la misma satisfacción al usarlo.

Para la sugerencia, decisión e incorporación de nuevas características en NINJA-IDE se suele utilizar la lista de correo para lograr una decisión colectiva por parte de los miembros que componen el proyecto, más que nada para saber cual será el objetivo de esta característica, en que etapa debería incorporarse y demás detalles. Muchas veces estas características son motivadas por alguna funcionalidad interesante vista en otro IDE, una idea de alguno de los miembros o sugerencias del grupo de usuarios. De este modo, cualquier persona, tanto usuario como desarrollador, puede plantear que cosas le gustaría ver implementadas en NINJA-IDE y en base a la arquitectura del proyecto se podrá definir si es necesario incorporarla como parte del IDE mismo o como un plugin, permitiendo a la vez conocer que ideas se están trabajando y quienes asumen el control de las mismas para mantener al grupo de trabajo sincronizado.

¿Que podemos esperar de NINJA-IDE?


NINJA-IDE nace para cubrir una necesidad que nos parecía importante, y además veíamos que los enfoques actuales de los IDEs no brindaban la cobertura necesaria.

Nuestra intención al iniciar este proyecto fue crear un entorno centrado en el desarrollo de aplicaciones Python, pero siempre teniendo en cuenta la necesidad de contar con una comunidad de usuarios que nos permitiera mejorar la experiencia de uso de esta herramienta, y actualmente nos pone muy contentos poder estar contando con la comunidad de NINJA-IDE, ya que gracias a la experiencia y conocimiento colectivo de los usuarios es posible, que con sus sugerencias, el desarrollo del proyecto pueda avanzar más rápido y se tengan en cuenta muchos más detalles que de otra forma podrían ser pasados por alto.

Planes para el Futuro.


Actualmente con el desarrollo continuo que estamos logrando, nos encontramos próximos a la liberación de la versión 1.0 de NINJA-IDE, la cual recibirá la denominación de 'Kunai'. En esta primera versión estarán presentes varias de las características mencionadas previamente, las que permitirán al desarrollador contar con un IDE robusto y práctico, obviamente como en todo proyecto irán surgiendo mejoras y nuevas features para implementar. Algunas de las cosas que están pensadas para ser incorporadas en NINJA-IDE en futuras versiones son:


* Debuguer Gráfico
* Poder ver la navegabilidad y relación de los módulos y clases de un proyecto de forma gráfica (basado en BlueJ)
* Soportar herramientas de versionado de código.
* Permitir la edición colaborativa de un documento.
* Diseñador de interfaces Qt y Gtk integrado en el IDE.
* Soporte para Frameworks como:
o Django
o Google App Engine
* Y esto apenas está comenzando!

¿Qué herramientas utiliza NINJA-IDE?


El IDE es desarrollado utilizando el framework de PyQt para todo el manejo de la Interfaz Gráfica y algunas otras funcionalidades, aunque se intento abstraer lo más posible ciertas funciones para permitir, de ser necesario el día de mañana, portar NINJA-IDE a otros frameworks como Gtk. Qt permitió contar con una interfaz solida y altamente configurable, lo que hizo posible poder extender de cada elemento necesario para modificar su comportamiento y adecuarlo a las necesidades del IDE.

En cuanto al resaltado de sintaxis, NINJA-IDE hace uso de su propio sistema de resaltado de sintaxis utilizando funcionalidades de Qt, y permitiendo que este sistema de resaltado sea fácilmente extensible en NINJA-IDE con la creación de un simple archivo JSON que describa al lenguaje que se desea incorporar. Este método brinda mejoras en la performance, pero para cubrir aquellos lenguajes que no sean reconocidos a través de este sistema se incorporó el uso de Pygments para el resaltado de sintaxis de una mayor variedad de lenguajes. Aunque actualmente se está plantenado la posibilidad de que Pygments sea reemplazado por GNU Highlight por cuestiones de performance.

Para las funcionalidades de auto-completado, refactoring, y aquellas que se refieren a la inferencia del código, se utiliza Rope, la cual es una excelente librería, muy completa para este tipo de situaciones. Rope es una herramienta que permite llevar a un IDE para Python características de IDEs de lenguajes tipados. Actualmente también estamos trabajando en la incorporación de Chequeo de código utilizando la librería de Pep8, justamente para brindar información acerca del estado del código en relación a las normas de la Pep8.

Extensibilidad de NINJA-IDE.



NINJA-IDE cuenta con un sistema de plugins bastante completo que permite la integración de dichos complementos como un elemento nativo del IDE. La escritura de Plugins es bastante sencilla y hasta se puede utilizar un Plugin de NINJA-IDE para la escritura de Plugins para NINJA-IDE (recursivo?). Este Plugin "para escribir Plugins" permite decidir con que partes del IDE el nuevo complemento se va a relacionar y crea de forma automática la estructura del proyecto necesario, junto al descriptor del Plugin para que NINJA-IDE lo pueda interpretar y la clase base de ese Plugin con los métodos que serán necesario reimplementar, a su vez, al terminar con la escritura del Plugin nos permite empaquetarlo para luego poder distribuirlo.

Actualmente existen 3 Plugins para NINJA-IDE disponibles:


* Pastebin: el cual permite enviar código a pastebin.com y devuelve el link resultante para poder compartir ese código.
* PluginProject: el encargado de crear proyectos Plugins para NINJA-IDE como mencionábamos.
* ClassCompleter: completa de forma automática algunas estructuras mientras se esta escribiendo código Python, como por ejemplo: crear el constructor de forma automática realizando la llamada a las Clases Padre que sean necesarias, etc.


Para consultar mayor información acerca de como desarrollar un Plugin para NINJA-IDE, se puede visitar la siguiente Wiki: http://code.google.com/p/ninja-ide/wiki/CrearPlugins

Para la creación de Plugins se puede utilizar el Plugin: "PluginProject", el cual nos brinda un Wizard que nos pregunta que tipo de plugin queremos crear y al finalizar el proceso nos arma la estructura del proyecto con la respectiva Clase Plugin necesaria y los métodos a implementar.

También nos permite empaquetar automáticamente el Plugin en un .zip al finalizar para poder distribuirlo


Ninja IDE ya se encuentra disponible en paquetes DEB y RPM. Claro está, siempre se puede descargar el código fuente y compilarlo.

Descarga: Ninja-IDE Google Code



Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog: