12 votos

¿Cómo puedo establecer mutt como cliente de correo predeterminado cuando hago clic en un 'mailto' en una página web?

Yo quería empezar a mutt en la terminal cuando hago clic en algunos mailto: etiqueta en una página web. Es eso posible? Actualmente Firefox se inicia, que yo realmente no favor; es la lentitud de carga e innecesario.

11voto

Luke Bayes Puntos 2319

En primer lugar usted necesita para asegurarse de que hay un .desktop archivo que es requerido por la el XDG especificación. Para GUI programas de la oportunidad es bueno que ya es adecuado .desktop archivo, para aplicaciones de terminal, lo que puede crear la tuya propia. Retirar el directorio /usr/share/applicationsde los archivos existentes. Tal vez ya hay un mutt.desktop archivo. Si no la hay, crear uno.

A continuación, edite el archivo ~/.local/share/applications/mimeapps.list y agregar el siguiente línea

[Default Applications]
x-scheme-handler/mailto=mutt.desktop;

De esta forma se registra mutt con la mailto de controlador. Usted puede confirmar un registro exitoso con

xdg-mime query default 'x-scheme-handler/mailto'

que debe de salida mutt.desktop. Ahora usted puede hacer clic en "mailto" en cromo y una terminal de pop-up con un mutt instancia. Ni siquiera hace falta reinicie la sesión de escritorio o el explorador.

1voto

Sparhawk Puntos 453

Usted necesita para escribir una secuencia de comandos que se especifica el terminal que desea mutt a abrir en. Luego, en Firefox, se puede asociar esta secuencia de comandos con enlaces mailto. Por ejemplo, si usted está utilizando terminator, puede crear la siguiente secuencia de comandos.

#!/usr/bin/env bash
terminator -x "mutt $@"

En mi caso, tengo un persistente desplegable terminator, así que lo quiero en una nueva pestaña. También necesito una paleta de 256 colores, por lo que yo uso

#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt $@"

Por lo que vale este es mi script, que también muestra terminator (si oculta), utilizando el atajo de teclado Ctrl+Espacio, y lo lleva a la frente.

#!/usr/bin/env bash

terminator --new-tab -x "TERM=xterm-256color; mutt $@"

# If necessary, unhide and focus terminator window.
windowlist=$(xprop -root | sed -rn 's/_NET_CLIENT_LIST_STACKING\(WINDOW\): window id # (.*)/\1/p' | tr -d ',')
terminator_visible=false
for i in $windowlist; do
  [[ $(xprop -id $i | grep WM_CLASS\(STRING\)) == 'WM_CLASS(STRING) = "terminator", "Terminator"' ]] && terminator_visible=true && term_id=$i
done

if [[ $terminator_visible == false ]]; then # it's hidden
  xdotool key --clearmodifiers ctrl+space
elif [[ $(xprop -id $(xdotool getactivewindow) | grep WM_CLASS\(STRING\)) != 'WM_CLASS(STRING) = "terminator", "Terminator"' ]]; then # it's visible, but not active
  xdotool windowactivate $term_id 2> /dev/null # Gives error; not sure why. XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
fi

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: