2 votos

¿Correo puede mostrar una carpeta ' s mensaje total cronómetro junto al nombre de la carpeta?

Apple Mail muestra el número de mensajes no leídos de cada carpeta en la barra lateral:

enter image description here

¿Hay alguna manera de hacerle Mostrar recuento de mensajes totales de la carpeta (leído y no leído) además o en lugar, el recuento de mensajes no leídos?

Plugins/hacks Bienvenido, como supongo que no será una opción incorporada.

10voto

Phill Puntos 126

Desde hacks son bienvenidos:

La idea es utilizar AppleScript para cambiar el nombre de carpetas. Por ejemplo:

@REPLY

se cambiará el nombre a algo como

@REPLY (34)

donde 34 es @RESPUESTA total de la cuenta de mensajes.

De trabajo la implementación de un script que cambia el nombre de los buzones de correo con el prefijo @ es (probado en OS X 10.8.2 con Gmail y a FIN de cuentas):

-- Check whether Mail is running
tell application "System Events"
    if not (exists (processes where name is "Mail")) then return
end tell

tell application "Mail"
    -- Loop over mail accounts
    repeat with myAccount in accounts
        -- Loop over mailboxes
        repeat with myMailbox in mailboxes of myAccount
            if name of myMailbox starts with "@" then
                set nameOfMyAccount to name of myAccount
                -- Help Mail.app's AppleScript suite cope with Gmail
                if nameOfMyAccount is "Gmail" then
                    set nameOfMyMailbox to "[Gmail]/" & name of myMailbox
                else
                    set nameOfMyMailbox to name of myMailbox
                end if
                set currentMessageCount to the (count of messages of mailbox nameOfMyMailbox of account nameOfMyAccount) as Unicode text
                set messageCountShownInMailboxName to (do shell script "echo '" & name of myMailbox & "' | /usr/bin/sed -E 's/.* \\(([0-9]+)\\)/\\1/'") as Unicode text
                if currentMessageCount is not equal to messageCountShownInMailboxName then
                    -- Strip message count: "@TODO (3)" -> "@TODO"
                    set strippedNameOfMyMailbox to do shell script "echo '" & name of myMailbox & "' | /usr/bin/sed -E 's/(.*) \\([0-9]+\\)/\\1/'"
                    -- Append current count: ""@TODO" -> "@TODO (4)"
                    set newMailboxName to strippedNameOfMyMailbox & " (" & currentMessageCount & ")"
                    -- Rename mailbox
                    set the name of mailbox nameOfMyMailbox of account nameOfMyAccount to newMailboxName
                end if
            end if
        end repeat
    end repeat
end tell

El efecto de la secuencia de comandos se muestra en las siguientes capturas de pantalla:

enter image description here

Otra aplicación que sólo cambia el nombre de los buzones de correo especificado en una lista (de nuevo, probado en OS X 10.8.2 con Gmail y a FIN de cuentas)::

-- Append message count to these mailboxes
global mailboxesWithMessageCount
set mailboxesWithMessageCount to {"My To Do", "To Reply", "Very Important"}

-- Check whether Mail is running
tell application "System Events"
    if not (exists (processes where name is "Mail")) then return
end tell

tell application "Mail"
    -- Loop over mail accounts
    repeat with myAccount in accounts
        -- Mail.app's AppleScript suite gets confused with Gmail's [Gmail] folder
        if name of myAccount is "Gmail" then
            set mailboxPrefix to "[Gmail]/"
        else
            set mailboxPrefix to ""
        end if
        -- Loop over mailboxes
        repeat with myMailbox in mailboxes of myAccount
            -- Loop over mailboxes which should get the message count appended to their names
            repeat with mailboxWithMessageCount in mailboxesWithMessageCount
                if name of myMailbox starts with mailboxWithMessageCount then
                    set currentMessageCount to the (count of messages of mailbox (mailboxPrefix & name of myMailbox) of myAccount) as Unicode text
                    set messageCountShownInMailboxName to (do shell script "echo '" & name of myMailbox & "' | /usr/bin/sed -E 's/.* \\(([0-9]+)\\)/\\1/'") as Unicode text
                    if currentMessageCount is not equal to messageCountShownInMailboxName then
                        -- Strip message count: "@TODO (3)" -> "@TODO"
                        set strippedNameOfMyMailbox to do shell script "echo '" & name of myMailbox & "' | /usr/bin/sed -E 's/(.*) \\([0-9]+\\)/\\1/'"
                        -- Append current count: ""@TODO" -> "@TODO (4)"
                        set newMailboxName to strippedNameOfMyMailbox & " (" & currentMessageCount & ")"
                        -- Rename mailbox
                        set the name of mailbox (mailboxPrefix & name of myMailbox) of myAccount to newMailboxName
                    end if
                end if
            end repeat
        end repeat
    end repeat
end tell

El efecto de la secuencia de comandos se muestra en las siguientes capturas de pantalla:

enter image description here

Ambos scripts de establecer el número de mensajes:

  • @REPLY -> @REPLY (34)

y, sólo si es necesario, es decir, cuando el número de mensajes ha cambiado, la actualización:

  • @REPLY (34) -> @REPLY (29)

Mi idea original era para ejecutar una de las secuencias de comandos de arriba (o alguna variación del mismo) cada vez que un correo sea recibido con una regla de Correo>Preferencias>Reglas:

enter image description here

pero también puede ser añadido a cron para que se ejecute cada 10 minutos como este (ver crontab (5) página man crontab para la sintaxis de la explicación):

  1. Guardar la secuencia de comandos a /path/to/updateMailMessageCount.scpt.

  2. Abre el Terminal y teclea:

    crontab -e
    

    para abrir su archivo crontab.

  3. Mover con las teclas de flecha para el final del archivo, en caso de que existan otras entradas, y pulse o (letra minúscula o), el cual añade una línea en blanco y entra en el modo de inserción.

  4. Agregar esta línea (la 10 significa "que salen cada 10 minutos", el cambio necesario para que coincida con sus necesidades):

    */10 * * * * osascript /path/to/updateMailMessageCount.scpt >/dev/null 2>&1
    
  5. Pulse esc.

  6. Guarde y cierre el crontab con :x!de devolución (en caso de que algo salió mal, escriba :q!, pulse volver y empezar de nuevo).

(Si alguna vez la necesidad de detener el cronjob, abrir su archivo crontab con crontab -e, coloque el cursor sobre el cronjob y escriba dd a eliminar. A continuación, guarde el archivo como se explicó anteriormente.)

Usted puede utilizar los Servicios de Lanzamiento, (ver este desarrollador de Apple documento):

  1. Crear un script llamado ~/Library/LaunchAgents/updateMailMessageCount.plist con contenido (600 es el intervalo, en segundos, es decir, 10 minutos):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>updateMailMessageCount</string>
        <key>ProgramArguments</key>
        <array>
            <string>osascript</string>
            <string>/path/to/updateMailMessageCount.scpt</string>
        </array>
        <key>StartInterval</key>
        <integer>600</integer>
    </dict>
    </plist>
    
  2. Cargar el trabajo con:

    launchctl load ~/Library/LaunchAgents/updateMailMessageCount.plist
    

(Si alguna vez la necesidad de detener el trabajo, hacer: launchctl unload ~/Library/LaunchAgents/updateMailMessageCount.plist.)

(Mi favorito ya que en tiempo de Linux sysadmin cron, pero tenga en cuenta que, en OS X, cron ha sido despreciado en favor de launchd. Ambos métodos se trabajó en mi Mac con OS X 10.8.2.)

Si desea actualizar el mensaje de contar con un método abreviado de teclado puede crear un servicio (ver http://www.macosxautomation.com/services/learn/index.html para obtener más información):

  1. Cierre De Correo.

  2. Abrir Automator en la carpeta de Aplicaciones y seleccione el Servicio de:

    enter image description here

  3. Seleccione Utilidades en Biblioteca y arrastre Ejecutar AppleScript para el vacío panel de la derecha:

    enter image description here

  4. Configurar el servicio para recibir ninguna entrada en el Correo:

    enter image description here

  5. Reemplace la línea (* Your script goes here *) con uno de los guiones anteriores.

  6. Guardar con un nombre descriptivo, como Refresh Message Count. El servicio será guardado en ~/Library/Services/.

Ahora configurar el atajo de teclado:

  1. Abra Preferencias del Sistema, seleccione el panel de preferencias Teclado y, a continuación, la ficha métodos Abreviados de Teclado.

  2. Seleccione Servicios, desplácese hacia abajo para el servicio de que se haya agregado anteriormente y establecer el método abreviado de teclado a lo que usted desea con la siguiente restricción: el acceso directo no debería entrar en conflicto con un acceso directo existente en el Correo. He elegido controlopciónR:

    enter image description here

    enter image description here

  3. Abrir El Correo. Tenga en cuenta que hay un nuevo servicio, accesible con el controlde la opción deR:

    enter image description here

(Para los curiosos: si usted se está preguntando dónde servicio Reply and Move Sent Message to Current Folder de arriba viene, consulte Cómo guardar los mensajes enviados en la misma carpeta que el mensaje que se respondió? -- advertencia: enchufe descarado.)

Ahora presione el control deopciónR, espere unos segundos y ver cómo el número de mensajes de las carpetas especificadas en la secuencia de comandos se actualiza.

Advertencias:

  1. Algunas carpetas no se pueden cambiar de nombre, como [Gmail]/All Mails o de la Inbox carpetas.
  2. Las carpetas no cambian en tiempo real. Eso significa que el número que se ve es un valor aproximado. En el caso de implementar el servicio, usted será capaz de actualizar con el controlde la opción deR, aunque.
  3. Puede ser lento si usted tiene muchos de los buzones de correo, o si el buzón tiene muchos mails
  4. Si se especifica un conjunto de buzones de correo para cambiar el nombre, tenga cuidado de que no coincidan con otras carpetas, por ejemplo, "Respuesta" partido "Responder" y "Para Responder más Tarde".

Ventajas:

  1. Podrás ver el número de mensajes en cualquier cliente de correo, siempre y cuando se use el Correo.aplicación en tu Mac y uno de estos scripts.

1voto

Brian Low Puntos 3642

Esto no contesta la pregunta, pero como la pregunta estimula hacks y habla con los usuarios alguien puede encontrar esto útil:

MailMate es un gran cliente de OS X IMAP (pagado) que soporta por carpeta de cuentas de la caja y mucho más.

No tiene algunos de los polacos de la interfaz de usuario de Mail.app y Sparrow.app pero compone de potentes características y personalización.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X