jueves, septiembre 19, 2013

Personalizar menús en Firefox

En el menú de marcadores del Mozilla Firefox las webs que no tienen un favicon salen identificadas mediante una hoja en blanco. Hasta las versiones más recientes la extensión Bookmark Favicon Changer permitía modificar estos iconos, pero su desarrollo ha sido abandonado. Ahora con la ayuda de la extensión Stylish, que entre otras múltiples opciones permite personalizar la vista de páginas webs, se puede crear un estilo que modifique estos favicones empleando el siguiente código:
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

.menuitem-iconic:not([image]) .menu-iconic-icon:not([src]),
#PlacesToolbarItems .toolbarbutton-icon:not([src]) {
  width: 0px !important;
  padding-left: 16px !important;
  background: url("") !important;
}
Para terminar se sitúa el cursor en medio de las dos últimas comillas y utilizando el botón Insertar / URI de los datos se permite seleccionar una imagen .ico de 16×16 del ordenador, la cual será el nuevo favicon por defecto.


El menú contextual del botón derecho en el navegador también es modificable con la extensión Menu Editor, pero ralentiza su apertura. Por ello en su lugar puede modificarse directamente el código de Firefox mediante la creación de estilo personalizado userChrome.css. Para hacer esta tarea con facilidad puede emplearse transitoriamente la extensión ChromeEdit Plus, en la que bastará pegar el código a emplear para desactivar las opciones de los distintos menús contextuales.


/* --------------------------- Página web ---------------------------- */
/* Atrás */ #context-back {display: none !important;}
/* Adelante */ #context-forward {display: none !important;}
/* Recargar */ #context-reload {display: none !important;}
/* Stop */ #context-stop {display: none !important;}
/* separador */ #context-sep-stop {display: none !important;}
/* Imprimir */ #context-print{display:none !important;}
/* Añadir esta página a marcadores */ #context-bookmarkpage {display: none !important;}
/* Guardar como... */ #context-savepage {display: none !important;}
/* View Background Image */ #context-viewbgimage {display: none !important;}
/* separador */ #context-sep-viewbgimage {display: none !important;}


/* --------------------------------- Enlace ---------------------------- */
/* Abrir enlace en una nueva pestaña */ #context-openlinkintab {display: none !important;}
/* Abrir enlace en una nueva ventana */ #context-openlink {display: none !important;}
/* separador" items */ #context-sep-open {display: none !important;}
/* Añadir este enlace a marcadores... */ #context-bookmarklink {display: none !important;}
/* Guardar enlace como... */ #context-savelink {}
/* Send Link. . .*/ #context-sendlink {display:none !important;}
/* Copy Email Address */ #context-copyemail {display: none !important;}
/* Copiar la ruta del enlace */ #context-copylink {display: none !important;}
/* separador */ #context-sep-copylink {display: none !important;}
/* Send Page */ #context-sendpage {display: none !important; }


/* ----------------------------- Imágenes ------------------------------ */
/* Ver imagen */ #context-viewimage {display: none !important;}
/* Copiar la ruta de la imagen */ #context-copyimage {display: none !important;}
/* Enviar imagen... */ #context-sendimage {display: none !important;}
/* separador */ #context-sep-copyimage {display: none !important;}
/* Guardar imagen como... */ #context-saveimage {display: none !important;}
/* Establecer como fondo de escritorio... */ #context-setDesktopBackground {display: none !important;}
/* Block Images from this Server */ #context-blockimage {display: none !important;}


/* -------------------------- Cuadro de texto ---------------------------- */
/* Deshacer */ #context-undo {display: none !important;}
/* separador */ #context-sep-undo {display: none !important;}
/* Cortar */ #context-cut {display: none !important;}
/* Copiar */ #context-copy {display: none !important;}
/* Pegar */ #context-paste {display: none !important;}
/* Eliminar */ #context-delete {display: none !important;}
/* separador */ #context-sep-paste {display: none !important;}
/* Seleccionar todo */ #context-selectall {display: none !important;}
/* separador */ #context-sep-selectall {display: none !important;}
/* Buscar "texto seleccionado" en buscador */ #context-searchselect {display: none !important;}


/* -------------------------- Menú contextual ---------------------------- */
/* separator above the This Frame sub-menu */ frame-sep {}
/* Unfortunately, the Frame sub-menu items don't have ids, so you can't select them individually. You should be able to select the whole sub-menu with menu[id="frame"] or #frame. */
/* separador */ #context-sep-viewsource {}
/* View Selection Source */ #context-viewpartialsource-selection {}
/* View MathML Source */ #context-viewpartialsource-mathml {display: none !important;}
/* Ver código fuente de la página */ #context-viewsource {display: none !important;}
/* Ver información de la página */ #context-viewinfo {display: none !important;}
/* Propiedades */ #context-metadata {display: none !important;}


Para desabilitar la opción "inspeccionar elemento" y además ahorrar recursos, desde about:config basta con pasar la cadena devtools.inspector.enabled a falso.
x