Dodany przez: w Aplikacje - konfiguracja.
Artykuł czytano 3 764 razy i oceniono
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (brak ocen)
Loading ... Loading ...

Jedną z wielu ciekawych funkcji programu Conky jest możliwość sprawdzenia poczty Gmail. Aby to zrobić potrzebny będzie odpowiednio napisany skrypt i kod, który umieścimy w pliku konfiguracyjnym.

1. Na początek stworzymy folder, w którym zapiszemy skrypt. Otwórz terminal (Aplikacje > Akcesoria > Terminal) i wpisz:

mkdir conky

2. Stwórz plik, w którym będzie zawarty skrypt:

gedit conky/gmail

3. Wklej do niego poniższy kod:

#!/bin/bash

gmail_login="twoj_login"
gmail_password="twoje_haslo"

dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*//;s/<\/fullcount>.*//' 2>/dev/null)"

#if [ -z "$dane" ]; then
#echo "Connection Error !"
#else
#echo "GMail: $dane msg(s)"
#fi

if [ -z "$dane" ]; then
echo "Błąd połączenia"
else
let wynik=$dane;
if [ $wynik = 0 ]; then
echo "Nie masz nowych wiadomości."
elif [ $wynik = 1 ]; then
echo "Masz 1 nową wiadomość."
else
if [ $wynik -lt 5 ]; then
echo "Masz $wynik nowe wiadomości."
else
echo "Masz $wynik nowych wiadomości."
fi
fi
fi

Oczywiście pola twoj_login i twoje_haslo uzupełnij odpowiednio :)

4. Zapisz plik (CTRL+S) i zamknij okno edytora. Otwórz terminal, przejdź do katalogu conky:

cd conky

i nadaj prawa do wykonywania pliku gmail jako program:

sudo chmod a+x gmail

5. Teraz zajmij się edycją pliku konfiguracyjnego Conky, wpisz:

sudo gedit ~/.conkyrc

6. Wklej poniższy kod w dowolnym miejscu (oczywiście po słowie TEXT):

${execi 60 ~/conky/gmail}

gdzie execi 60 to ilość czasu w sekundach po którym nastąpi ponowne sprawdzenie poczty (aktualizacja powiadomienia).

Zobacz także:

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Na każdy komentarz postaramy się udzielić odpowiedzi w ciągu 24 godzin od momentu wysłania.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  1. avatar youlleck napisał(a):
    26 sie 2008 o godzinie 23:00

    if [ -z "$dane" ]; then
    echo "Błąd połączenia"
    else
    let wynik=$dane;
    if [ $wynik = 0 ]; then
    echo "Nie masz nowych wiadomości."
    elif [ $wynik = 1 ]; then
    echo "Masz 1 nową wiadomość."
    else
    if [ $wynik -lt 5 ]; then
    echo "Masz $wynik nowe wiadomości."
    else
    echo "Masz $wynik nowych wiadomości."
    fi
    fi
    fi

    to juz chyba przerost formy nad trescia ;)

    Podoba mi się: Dobre 0 Słabe 0
  2. avatar Mak napisał(a):
    14 lut 2010 o godzinie 0:09

    Szkoda, że to nie działa z kontami Google Apps.
    różni się na pewno ścieżka, bo w GA jest @mail.google.com/a/TWOJA_DOMENA/feed/atom
    Ale sama zmiana ścieżki nie pomaga, pokazuje błąd połączenia

    Podoba mi się: Dobre 0 Słabe 0
  3. avatar Hipekhop napisał(a):
    15 wrz 2010 o godzinie 23:04

    Może i przerost formy nad treścią, ale o wiele ładniej wygląda, a to połowa uroku conky :)

    Podoba mi się: Dobre 0 Słabe 0
  4. avatar ZajOnDz napisał(a):
    01 maj 2011 o godzinie 13:46

    błąd połączenia... Dla czego? login i hasło na pewno wpisałem poprawne... :|

    Podoba mi się: Dobre 0 Słabe 0
  5. avatar SABBATH napisał(a):
    30 maj 2011 o godzinie 0:17

    mam to samo blad polaczenia ???

    Podoba mi się: Dobre 0 Słabe 0
  6. avatar loginus napisał(a):
    05 sty 2012 o godzinie 23:19

    Mój skrypt wygląda tak:

    #!/bin/bash

    gmail_login="gmail_login"
    gmail_password="gmail_password"

    data="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q --user="${gmail_login}" --password="${gmail_password}" -O - \
    https://mail.google.com/mail/feed/atom \
    --no-check-certificate | grep 'fullcount' \
    | sed -e 's/.*//;s/.*//' 2>/dev/null)"

    #if [ -z "$data" ]; then
    #echo "Connection Error !"
    #else
    #echo "GMail: $data msg(s)"
    #fi

    if [ -z "$data" ]; then
    echo "Connection error"
    else
    let result=$data;
    if [ $result = 0 ]; then
    echo "No new messages."
    else
    echo "$result new messages."
    fi
    fi

    działa również z kontami Google Apps - wtedy w miejsce loginu trzeba podać pełny mail w domenie zarejestrowanej w google apps np. janek@kowalski.pl

    Podoba mi się: Dobre 0 Słabe 0

Dodaj komentarz


+ sześć = 13