Add mail count for "All Mails"

try to take over the world...and add the mail count to the title

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Add mail count for "All Mails"
// @namespace    http://tampermonkey.net/
// @version      0.14
// @description  try to take over the world...and add the mail count to the title
// @author       Csabinho
// @include      https://mail.google.com/*
// @grant        none
// ==/UserScript==

/***********************************
* Use case: if you are using the "All Mails"-view you don't see the overall mail count, this is fixed by this script.
* Additionally if you have pinned the Gmail-Tab you will get a "notification" via the dot in the favicon
***********************************/
function addMailCountToTitle() {
    var mailCountIterator/* = document.evaluate('//*[@id=":wy"]/span/span[2]', document.body, null, XPathResult.ANY_TYPE, null)*/;
    var mailCount/* = mailCountIterator.iterateNext()*/;
    var debug = false;

    const re =/(.*) - (.*)@(.*) - Gmail/;  //If you want to use it for "Gmail for business" at the moment you'll have to change this title regex manually, maybe one day there is gonna be a GM_config frontend
    var m=re.exec(document.title);

    if(m)
    {
        mailCountIterator = document.evaluate('//*[@id=":wy"]/span/span[2]', document.body, null, XPathResult.ANY_TYPE, null);
        mailCount = mailCountIterator.iterateNext();

        if(mailCount)
        {
            document.title = m[0]+" ("+mailCount.innerHTML+")";
            if(debug)console.log(mailCount.innerHTML);
        }
        else
        {
            if(debug)console.log("null, ffs");
        }

        return mailCount !== null;
    }
    else
    {
        if(debug)console.log("wrong title, ffs");
        return false;
    }
}

if((window.location.href) == "https://mail.google.com/mail/u/0/#all") //workaround for not working # in @include
{
    var t=setInterval(addMailCountToTitle,1000);
}