Soporte de actividades para Firefox actualizado para Kde 4.10

Note: I need to rewrite this article to meet Kde 4.10 changes but I don’t have time to translate it into English. So, exceptionally this article is in Spanish.

Se ha actualiza el articulo: Soporte de actividades para Firefox para que funcione bien en Kde 4.10.

Requisitos

Por un lado se necesita habilitada la sincronización de Firefox con todos las opciones habilitadas excepto las pestañas. A mi no me gusta sincronizar con el servidor oficial de Mozilla así que he habilitado mi propio servidor local de sincronización de Firefox.

Por otro lado hay que verificar que en el directorio:

~/.mozilla/firefox

sólo se tenga un directorio con la forma:

xxxxxxxx.default

Si no fuera así podemos renombrar el directorio y actualizar la ruta en el archivo profiles.ini.

Script firefoxkde

Creamos el fichero:

/usr/local/bin/firefoxkde

y le damos permisos de ejecució con:

chmod +x /usr/local/bin/firefoxkde

Lo editaremos para que su contenido sea:

#!/bin/bash
#
# Compatability for Firefox and kde 4.x's activities.
#
# Kde 4.10 update - Begin
ActivityList=( $(qdbus org.kde.kactivitymanagerd \
/ActivityManager/Activities ListActivities |tr '\n' ' ') )
# Kde 4.10 update - End
FF_FOLDER=$"$HOME/.mozilla/firefox"
DEF_PROF=$"$FF_FOLDER/????????.default"
NEW_PROF=$"$FF_FOLDER/????????.$ACTIVITY"

if [ -d $FF_FOLDER/????????.$ACTIVITY ];
then
        firefox -no-remote -P $ACTIVITY

else
        firefox -no-remote -createprofile $ACTIVITY
        cp -a $DEF_PROF/* $NEW_PROF/
        cd $NEW_PROF
        rm sessionstore.*
        cd ~
        firefox -no-remote -P $ACTIVITY &

fi

exit

Día a día

Como KDE guarda las sesiones vamos primero a salir del firefox actual con Archivo. Salir. para que kde no guarde la sesión del kde actual.

Si necesario también mataremos el proceso si sigue en marcha.

Deshabilitar arranque

En mi caso necesito deshabilitar el arranque del Firefox por defecto sí o sí. Para eso nos vamos a:

  • Preferencias del sistema
  • Administración del sistema
  • Arranque y Apagado
  • Gestor de sesiones
  • Aplicaciones a excluir de las sesiones

en mi caso tuve que añadir:

firefox-bin,/usr/bin/iceweasel,/usr/lib/iceweasel/firefox-bin,iceweasel

aunque es posible que con /usr/bin/iceweasel ya valga. En sistemas no Debian hay que substituir iceweasel por Firefox.

Finalmente pulsamos en el botón Aplicar.

Icono lanzador de Firefox

Yo lanzo Firefox desde un panel que tengo en la parte inferior de la pantalla. Hago click en él con el botón derecho, propiedades.

En la primera pestaña puedo ver su localización. En mi caso en:

/home/adrian/.local/share/applications

y que su nombre es:

iceweasel-2

.

No obstante el fichero no existe en la localización vista. Editamos el lanzador y le añadimos cualquier cambio y guardamos.
Ahora ya podemos editar el fichero:

/home/adrian/.local/share/applications/iceweasel-2.desktop

.
Los cambios que tenemos que hacer son:

Exec=iceweasel %u

para ser:

Exec=firefoxkde %u

Script para borrar profiles antiguos

Creamos el fichero:

/usr/local/bin/firefox-clean-old-activies-profiles

y le damos permisos de ejecució con:

chmod +x /usr/local/bin/firefox-clean-old-activies-profiles

Lo editaremos para que su contenido sea:

#!/bin/bash
# Kde 4.10 update - Begin
ActivityList=$(qdbus org.kde.kactivitymanagerd \
/ActivityManager/Activities ListActivities)
# Kde 4.10 update - End
FF_FOLDER=$"$HOME/.mozilla/firefox"
PRESERVED_FOLDERS="pruebasZD pruebasZD2 pruebasZD3 1g5dikse.default"
CRASH_REPORTS="Crash Reports"

cd "${FF_FOLDER}"

for ffile in * ; do

  IGNORE_DELETE="NO"

  if [ -d "${ffile}" ] ; then
    if [ "${CRASH_REPORTS}" = "${ffile}" ] ; then
      IGNORE_DELETE="YES"
    fi
    for npreserved in ${PRESERVED_FOLDERS} ; do
      if [ "${npreserved}" = "${ffile}" ] ; then
      IGNORE_DELETE="YES"
      fi
    done
    for nactivity in "${ActivityList[@]}"; do
      if echo "${ffile}" | grep "${nactivity}" >/dev/null 2>&1; then
      IGNORE_DELETE="YES"	
      fi
    done

  else
    continue
  fi

  dir_to_delete="${ffile}"

  if [ ${IGNORE_DELETE} = "NO" ] ; then
    echo -e -n "We are going to delete: ${dir_to_delete}\n"
    rm -rf ${dir_to_delete}
  else
    echo -e -n "DO NOT DELETE: ${dir_to_delete}\n"
  fi

done

dónde en:

PRESERVED_FOLDERS

ponemos los directorios que no queremos que se borren, siempre y cuando no tengan espacios en el nombre. Si tienen espacios habrá que o bien renombrarlos o bien modificar el script para tenerlos en cuenta y excluirlos del borrado.

Finalmente forzaremos el arranque de este script desde:

  • Preferencias del sistema
  • Administración del sistema
  • Arranque y Apagado
  • Autoarranque

Hacemos click en Añade script… y ponemos la ruta al script:

/usr/local/bin/firefox-clean-old-activies-profiles

.
Descartamos: Crear como symlink. Y click en Aceptar.

Inconvenientes

En mi configuración una vez creada la primera ventana del firefox de actividad las nuevas ventanas hay que crearlas desde el mismo Firefox con Archivo. Nueva Ventana. Ya digo. Seguramente sea cosa de mi configuración y no os tiene porque pasar lo mismo.

El otro inconveniente es que no se arrancan las diferentes sesiones de Firefox automáticamente como si se arrancarían programas distintos en cada actividad. Pero, bueno, casi mejor, así se empieza antes a trabajar.

Bibliografía

Anuncios

Etiquetas: , , ,

2 comentarios to “Soporte de actividades para Firefox actualizado para Kde 4.10”

  1. Firefox 24 and show last opened windows and tabs by default | El blog de adrian15 Says:

    […] Super Grub Disk, GNU/Linux y cualquier otra cosa que se me antoje. « Soporte de actividades para Firefox actualizado para Kde 4.10 […]

  2. Debian Unstable Dist Upgrade for using Kde 4.10 | El blog de adrian15 Says:

    […] Then, please, update it as described in this updated article: Soporte de actividades para Firefox actualizado para Kde 4.10. […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: