Integrando Java con Ubuntu

Bueno, en estos ultimos día me estado dando a la tarea de integrar aplicaciones Java con Ubuntu, como primer punto quise empezar con el más difícil. La integración de aplicaciones Java Swing con el famoso Appmenu-Indicator. Ya he logrado avanzar algo pero un tengo que resolver unos problemitas…

Les comparto algo de mi avance.

Java y Appmenu de Ubuntu

Dentro de poco estaré compartiendo el código con ustedes, también tengo que decidir como organizar el código y mostrarles algo más en forma.

Espero y este terminado pronto…

Applet Java con SWT

Ya me he estado inclinando mucho con Ubuntu, pero ya regrese a Java, y como siempre intentando publicar cosas nuevas o que si existen, estas llegan a ser muy confusas o complicadas de entender, en esta ocasión les traigo hasta ustedes la utilización de SWT en applets Java.

SWT ha empezado a gustarme, ya que tiene una excelente integración con el escritorio ya se ha windows, linux, mac u otro, y aunque SWT recibe muchas criticas por ser denominado “incompleto”, quiero aplaudir al impresionante trabajo de los desarrolladores, ya que unificar todas las diferentes API de componentes visuales en una, es una tarea titánica…

Recientemente estuve intentando integrar SWT dentro de un applet y la verdad es que los ejemplos que se encuentran en internet son escasos y confusos además de no funcionar en Linux, y de los que funcionan en windows tienen problemas con manejo de cambio de Foco con TAB y la invocación del botón predeterminado.

Finalmente logre desarrollar una pequeña clase para utilizar SWT en applet

SWTApplet

Y se utiliza como:

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class MiSWTApplet extends SWTApplet {
	static {
		Display.setAppName("MiSWTApplet");
	}

	@Override
	protected void createGUI(Shell shell) {
		shell.setLayout(new RowLayout());
		new Button(shell, SWT.PUSH).setText("Botón 1");
		new Button(shell, SWT.PUSH).setText("Botón 2");
		new Text(shell, SWT.SINGLE | SWT.BORDER).setMessage("Texto...");
	}

	@Override
	protected void destroyGUI() {
	}
}

Sigue leyendo

Netbeans y el lanzador de Ubuntu Unity

Bueno uno de los problemas con Ubuntu 11.04 es la integración de Netbeans a la barra de Unity, si alguno a intentado retener a Netbeans en lanzador de Unity habrá notado que no se incorpora y el lanzador no sirve para nada y si se arrastra el ícono desde el tablero de Unity el lanzador funciona pero duplica el icono.

La solución… pueden usar mi modulo para Netbeans aunque esta desarrollado en Netbeans 7 y solo lo probé en netbeans 7.

Netbeans Unity

Netbeans en Unity

El problema es que netbens esta utilizando el nombre de ventana genérico de Java.

$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "java-lang-Thread"

Solo se tiene que cambiar java-lang-Thread por Netbeans y listo… que es precisamente lo que hace la extensión

Remplazar a Evolution por Thunderbird en Ubuntu

Como remplazar a evolution por thunderbird, (para ubuntu 11.04).

Primero debemos instalar Thunderbird

$ sudo apt-get install thunderbird thunderbird-gnome-support

Para internacionalizar thunderbird ejecuta:

$ gnome-language-selector

Y no recomiendo instalar las extensiones que están en el repositorio de Ubuntu, pues, no están internacionalizadas y solo está en ingles.

Yo recomiendo instalar las extensiones directo desde los sitios de los proyectos, (en lo personal por la internacionalización):

  • mailtweak-1.0pre10.xpi Que permite ocular la carpeta de “Carpeta Local” que es muy molesto cuando tienes multiples cuentas
  • Lightning 32bits dan soporte para el manejo de calendario y tareas a Thunderbird
  • Lightning 64bits dan soporte para el manejo de calendario y tareas a Thunderbird
  • ThunderUbuntu… por supuesto… mi extensión, que incorpora a thunderbird en el message indicator de Ubuntu

Si usas Ubuntu 11.04, tendras 2 problemitas… que por cierto he publicado las correciones

Finalmente para remover a Evolution:

$ sudo apt-get remove evolution evolution-indicator

Reinicia la sesión para y listo… Thunderbird es ahora el cliente de correo de Ubuntu.