Como hacer que las categorías de Whisker Menu aparezcan a la Izquierda

Ayer publiqué un post en donde les compartí un Wisker Menu modificado por mi, en el cual las categorías se muestran a la izquierda y las aplicaciones a la derecha (como en cualquier menú  tradicional), el caso es que a petición de Eduardo, hoy les mostraré como pueden realizar este cambio ustedes mismos.

Para empezar debo aclarar que no es nada del otro mundo (de hecho carece de ciencia), por lo tanto inclusive aquellos sin conocimientos en programación pueden hacerlo, eso sí, acatando mis instrucciones al pie de la letra.

Paso 1

Descargar e instalar las herramientas indispensables para compilar:


aptitude install build-essential checkinstall cmake libexo-1-dev libgarcon-1-0-dev libxfce4ui-1-dev libxfce4util-dev xfce4-panel-dev make git

Paso 2

Clonamos el repositorio de WiskerMenu desde la terminal con el siguiente comando.

git clone https://github.com/gottcode/xfce4-whiskermenu-plugin

Paso 3

 

Abrimos nuestro explorador de archivos (Thunar) y nos ubicamos en el directorio WiskerMenu dentro de nuestra carpeta /home, posteriormente ingresamos al subdirectorio /panel-plugin, una vez allí, abrimos el archivo window.cpp con nuestro editor favorito (gedit, leafpad, mousepad, geany) y en él identificamos las siguientes lineas.

Nota: Perdonen si la indentación en el blog no se muestra.

 

	// Create box for packing launcher pages
	m_panels_box = GTK_BOX(gtk_vbox_new(false, 0));
	gtk_box_pack_start(m_contents_box, GTK_WIDGET(m_panels_box), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_favorites->get_widget(), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_recent->get_widget(), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_applications->get_widget(), true, true, 0);

	// Create box for packing sidebar
	m_sidebar_box = GTK_BOX(gtk_vbox_new(false, 0));
	gtk_box_pack_start(m_sidebar_box, GTK_WIDGET(m_favorites_button->get_button()), false, false, 0);
	gtk_box_pack_start(m_sidebar_box, GTK_WIDGET(m_recent_button->get_button()), false, false, 0);
	gtk_box_pack_start(m_sidebar_box, gtk_hseparator_new(), false, true, 0);

	m_sidebar = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
	gtk_box_pack_start(m_contents_box, GTK_WIDGET(m_sidebar), false, false, 0);
	gtk_scrolled_window_set_shadow_type(m_sidebar, GTK_SHADOW_NONE);
	gtk_scrolled_window_set_policy(m_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);

	GtkWidget* viewport = gtk_viewport_new(gtk_scrolled_window_get_hadjustment(m_sidebar),
		gtk_scrolled_window_get_vadjustment(m_sidebar));
	gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
	gtk_container_add(GTK_CONTAINER(m_sidebar), viewport);
	gtk_container_add(GTK_CONTAINER(viewport), GTK_WIDGET(m_sidebar_box));

	GtkSizeGroup* sidebar_size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	gtk_size_group_add_widget(sidebar_size_group, GTK_WIDGET(m_sidebar));
	gtk_size_group_add_widget(sidebar_size_group, GTK_WIDGET(m_commands_align));

Lo anterior significa en palabras cristianas que, el primer elemento agregado al contenedor (digamos la ventana del menú) de izquierda a derecha,
sera el “panel_box” es decir, el área de aplicaciones, seguido del “sidebar” área de categorías, por lo tanto respetando el orden respectivo, la ventana mostrará primero las aplicaciones a la izquierda y luego las categorías a la derecha.

Por lo tanto lo único que debemos hacer para cambiar esto, es invertir el orden en el que son agregados los componentes, lo que naturalmente se logra cambiando de lugar el componente que se agregará de primero; de manera práctica, cortamos la parte que dice  // Create box for packing launcher pages  hasta antes de // Create box for packing sidebar y la pegamos debajo de esta. Nos quedará de la siguiente forma.

 

 

// Create box for packing sidebar
	m_sidebar_box = GTK_BOX(gtk_vbox_new(false, 0));
	gtk_box_pack_start(m_sidebar_box, GTK_WIDGET(m_favorites_button->get_button()), false, false, 0);
	gtk_box_pack_start(m_sidebar_box, GTK_WIDGET(m_recent_button->get_button()), false, false, 0);
	gtk_box_pack_start(m_sidebar_box, gtk_hseparator_new(), false, true, 0);

	m_sidebar = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
	gtk_box_pack_start(m_contents_box, GTK_WIDGET(m_sidebar), false, false, 0);
	gtk_scrolled_window_set_shadow_type(m_sidebar, GTK_SHADOW_NONE);
	gtk_scrolled_window_set_policy(m_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);

	GtkWidget* viewport = gtk_viewport_new(gtk_scrolled_window_get_hadjustment(m_sidebar),
		gtk_scrolled_window_get_vadjustment(m_sidebar));
	gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
	gtk_container_add(GTK_CONTAINER(m_sidebar), viewport);
	gtk_container_add(GTK_CONTAINER(viewport), GTK_WIDGET(m_sidebar_box));

	GtkSizeGroup* sidebar_size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	gtk_size_group_add_widget(sidebar_size_group, GTK_WIDGET(m_sidebar));
	gtk_size_group_add_widget(sidebar_size_group, GTK_WIDGET(m_commands_align));

	// Create box for packing launcher pages
	m_panels_box = GTK_BOX(gtk_vbox_new(false, 0));
	gtk_box_pack_start(m_contents_box, GTK_WIDGET(m_panels_box), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_favorites->get_widget(), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_recent->get_widget(), true, true, 0);
	gtk_box_pack_start(m_panels_box, m_applications->get_widget(), true, true, 0);

Bien con esto ya hemos cambiado las categorías a la izquierda y las aplicaciones a la derecha, sin embargo, si cambiamos el menú de posición a una que no sea tradicional, es decir en el borde derecho de la pantalla tendremos problemas con el re posicionamiento de los elementos del menú, les ilustro.

Por defecto WiskerMenu  ubica las aplicaciones a la izquierda y las categorías a la derecha (ya aburro con esa hablada jeje) pero esto sólo es así, cuando el menú se encuentra en las esquinas superior e inferior izquierda de la pantalla. Si por el contrario se encuentra en las esquinas derechas, el menú cambia a nuestra posición deseada (categorías izquierda; aplicaciones derecha) es ilógico lo sé, pero así lo pensaron los desarrolladores, entonces con nuestra siguiente modificación, vamos a alterar dicho reordenamiento para que sea inverso y lógico.

Paso 4

Ubicamos está linea  y en la sección else,  cambiamos m_panels_box, 2 por un 1 y m_sidebar, 1 por un 2.

if ((layout_left && !wm_settings->position_categories_alternate)
            || (!layout_left && wm_settings->position_categories_alternate))
    {
        gtk_box_reorder_child(m_contents_box, GTK_WIDGET(m_panels_box), 1);
        gtk_box_reorder_child(m_contents_box, GTK_WIDGET(m_sidebar), 2);
    }
    else
    {
        gtk_box_reorder_child(m_contents_box, GTK_WIDGET(m_panels_box), 2);
        gtk_box_reorder_child(m_contents_box, GTK_WIDGET(m_sidebar), 1);
    }

Paso 5

 

Ahora sí, guardamos nuestros cambios y procedemos a compilar, para ello abrimos una terminal en el directorio
~/xfce4-whiskermenu-plugin/panel-plugin/ y ejecutamos lo siguiente:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
make

y como súper usuario

checkinstall

Paso 6

Por último, reiniciamos panel.

xfce4-panel --restart

Paso 7

Disfruten!!!
Cualquier duda o crítica pueden dejar un comentario, saludos.

WhiskerMenú con categorias a la izquierda

Cuando probé por primera vez Whisker Menu no me agrado para nada que tuviera las categorías del lado derecho y las aplicaciones a la izquierda; de plano me pareció incómodo  y pensé para mi, en que pensaría el desarrollador cuando colocó las opciones de tal forma, esa vez no le di mayor importancia y desinstalé el plugin.

Ayer por la mañana decidí probar Xubuntu 14.04 y para mi sorpresa vi que traía por defecto el tan famoso Menu alternativo, lo estuve traveseando y vi que en efecto, a pesar de las maravillas que posee, era imposible colocar las categorías a la izquierda y las aplicaciones a la derecha como en los menús tradicionales (Linux Mint o KDE), por lo que me di a la tarea de remediar tal situación.

Hoy temprano bajé el código fuente (Bendito Software Libre)  lo modifiqué hasta conseguir un acomodo a mi gusto, luego, con el espíritu que caracteriza a la comunidad comparto esa modificación con ustedes, pero antes les muestro el “antes y después”

Antes

Con Categorías a la izquierda y las aplicaciones a la derecha
Con Categorías a la derecha y las aplicaciones a la izquierda

Después

Con Categorías a la izquierda y aplicaciones a la derecha
Con Categorías a la izquierda y aplicaciones a la derecha

 

https://dl.dropboxusercontent.com/u/68911480/xfce4-whiskermenu-plugin-1.3.2.gz

Una vez que bajen el archivo y los descompriman, pueden ejecutar el .deb que coloqué dentro o compilar el código.  Si les apetece lo segundo, sigan mis instrucciones.

Instalen lo siguiente:

 aptitude install build-essential checkinstall cmake libexo-1-dev libgarcon-1-0-dev libxfce4ui-1-dev libxfce4util-dev xfce4-panel-dev

Abran una terminal en donde descomprimieron el archivo, en mi caso  /home/cooper15/Descargas/xfce4-whiskermenu-plugin-1.3.2 y luego ejecuten lo siguiente.

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
make

Luego, como superusuarios escriban el siguiente comando y sigan las opciones recomendadas.

checkinstall

Por último solo queda que reinicien el panel así:

xfce4-panel --restart

Ahora espero que disfruten del Wisker Menú tanto como yo, si tienen algún inconveniente comenten. Saludos

 

Iconos Elementary + Faenza o los que quieras

Los iconos elementary son bonitos, aunque lo que me disgusta personalmente, es el hecho de que su complemento son los horrorosos iconos que trae Gnome por defecto.

Esto lo podemos cambiar de una manera muy simple y realizar combinaciones con otros iconos más elaborados tal es el caso de los Faenza por poner un ejemplo. Manos a la obra:

Nos dirigimos a la ruta en la que tenemos instalados nuestros iconos elementary en mi caso /usr/share/icons/elementary (es necesario ser root para modificar aquí)

elementarybuscamos el archivo index.theme y lo editamos con nuestro editor de texto (geany,gedit,leafpad,etc…) en la siguiente linea cambiar gnome que sería el complemento de los elementary por los iconos que queramos tener mezclados con elementary icons

Inherits=gnome,ubuntu-mono-light,hicolor,gnome-colors-brave

por ejemplo yo puse los Faience-azur

Inherits=Faience-azur,ubuntu-mono-light,hicolor,gnome-colors-brave

luego guardamos y listo el resultado seria algo así:

Se nota la combinación entre los elementary y los faenza
Se nota la combinación entre los elementary y los faience-azur

que disfruten 😉

Habilitar las Media keys en Xfce

Un pequeño truco, para habilitar esos atajos que los nuevos teclados ya traen incorporados, para cambiar a la próxima canción, a la canción previa, darle stop y por supuesto continuar la reproducción entre otras funciones relacionadas.

Vamos a abrir entonces:

Configuración –> Administrador de configuración –> Teclado –> Atajos de aplicación

teclado_atajosEn la parte baja de la ventana nos saldrá el botón de agregar, que nos permitirá colocar nuestras funciones personalizadas, las cuales son las siguientes.

 clementine --next // para adelantar la canción
 clementine --prev // para retroceder la canción
 clementine --stop // detener la canción
 qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.Pause // pausar y play

Nota: en el caso de que tengas otro reproductor solo cambia clementine (el último comando es propio de clementine) por el tuyo  y lo demás lo dejas igual y muy importante no copies lo que está después de las barras inclinadas, son solo comentarios.

Luego abrimos añadir y pegamos cada segmento de código así:

atajo1le damos aceptar y posteriormente nos pide que presionemos la tecla para enlazar el atajo respectivo.

atajo2y cuando hayamos presionado ya estará listo, luego nos tiene que quedar algo similar a esto:

teclados_confPor último simplemente cerramos la ventana, abrimos nuestro reproductor y probamos que todas las teclas sirvan. Espero les sirva y que disfruten.

Aplicaciones repetidas y que se inician solas en XFCE

XFCE-4.10-300x300

Este fue un problema que había tenido siempre, sin embargo hasta hace poco le presté la atención necesaria.

Muchos que usan Xfce habrán notado que cuando apagan sus computadoras y tienen alguna aplicación en funcionamiento, la próxima vez que inician sesión está aparece como por arte de magia sin que figure, en los programas de arranque al inicio; pues esto se explica porque Xfce por defecto guarda nuestras sesiones, haciendo que muchos de nuestros procesos activos sean retomados posteriormente.

Así que lo que haremos  será evitar esto, de una manera muy simple.

Abrimos

menú de aplicaciones –> configuración –> administrador de configuraciones –> sesión e inicio

sesion_inicioLuego desmarcamos la casilla  Guardar sesión automáticamente al salir

conf_iniDespués nos desplazamos a la pestaña sesión y le damos clic al botón limpiar “Limpiar las sesiones guardadas” y cerramos.

guarda_sesion

Ya solo nos resta salir e iniciar una sesión nueva y las aplicaciones que se “auto ejecutaban” ya no aparecerán sin nuestro consentimiento.

Instalar xfce 4.10 en debian SID, Testing Wheezy

Nota actualizada: Xfce 4.10 está actualmente en debian testing “Jessie” (16-06-2013)

En debian Sid aun no está disponible xfce 4.10, mucho menos en testing que será liberada con la versión anterior de este DE, pues para aquellos que deseen probar xfce 4.10 sin muchas complicaciones aquí encontrarán una manera sencilla de conseguirlo, para ello nos valdremos de los repositorios de Siduction una distro basada en debian.

Paso 1: Abrimos una terminal y nos logeamos como superusuario (root) ya saben escriben “su“(sin comillas) y posteriormente ponen su contraseña, luego abrimos el sources.list

nano /etc/apt/sources.list

Y agregamos al final del archivo el siguiente repositorio.

deb http://ftp.spline.de/pub/siduction/xfcenext unstable main

Guardamos los cambios con las teclas Ctrl + O y salimos con Ctrl + X

Luego descargamos la llave publica del repositorio y la instalamos( para que no nos de error al actualizar la lista de respositorios).

wget http://packages.siduction.org/base/pool/main/s/siduction-archive-keyring/siduction-archive-keyring_2013.03.29_all.deb

Instalamos con dpkg

dpkg -i siduction-archive-keyring_2013.03.29_all.deb

y por último actualizamos nuestros repositorios e instalamos Xfce 4.10

aptitude update
aptitude install xfce4

Esperamos a que se descarguen los paquetes y listo tendremos xfce 4.10 en nuestro debian, espero que les sirva y cualquier duda, comentario o crítica comenten :-).

Gracias  bixo por pasarnos la url para descargar llave del respositorio.

Bluetooth en el escritorio XFCE

Hace poco tiempo decidí darle la oportunidad al entorno de escritorio xfce pues me ha terminado agradando la verdad se personaliza muy fácilmente y es muy intuitivo. Bueno el hecho es que tengo un celular con el que constantemente paso información a mi computador y viceversa, el caso es que no tengo un cable para hacerlo directamente de modo que la mejor opción es utilizar el bluetooth; ahora les enseñare una aplicación muy sencilla que les permitirá hacer esto en xfce, su nombre es blueman:

Como primer paso abrimos la terminal y nos logeamos como root

luego instalamos blueman con el siguiente comando

aptitude install blueman

luego nos iremos al menú de xfce —> configuración –> administrador de bluetooth

y se nos mostrará una ventana como esta:

Ahora si le doy clic derecho al teléfono podré escoger archivos para enviarle y bueno enviar del celular a la computadora, podría variar dependiendo de la marca pero ya esto ustedes sabrán como hacerlo 😉 . Espero que les sirva y comenten si es así, y si no pues también para tratar de mejorar el post.