Kyberdigi Labs
 Projekty
  Mencal
   Požadavky
   Licence
   Download
   Instalace
   Spouštění
   Ukázky
   Chyby
   Změny
   Archiv
   Ostatní
Počet přístupů
 
|
Menstruační kalendář
Mencal je jednoduchá prostá obdoba známého linuxového progámku
cal. Hlavní rozdíl spočívá v tom, že některé dny je možno
periodicky obarvovat. Díky tomu lze přehledně sledovat menstruační
(ale i jakékoliv jiné) cykly.
Požadavky
Program je napsán v jazyce perl. Kromě něj využívá ještě systémové
přikazy strftime a mktime. Nevím, na kterých všech
systémech se tyto tři věci sejdou, každopádně téměř v libovolné distribuci
operačního systému Linux byste neměli mít problémy s rozchozením tohoto
programu.
Licence
Software může být volně distribuován za podmínek stanovených v licenci GPL.
Tuto licenci si můžete přečíst např. zde.
Download
Celkový balík si jednoduše můžete stáhnout přes HTTP protokol. Zatarovaný
gziplý balík je k dispozici:
mencal-2.3.tar.gz
Velikost: 19169 bytů MD5: e0fa5665b8f7772521bb95379bfdec20
Instalace
První krok: rozbalte balík
$ tar xzf mencal-2.3.tar.gz
Nyní vstupte do adresáře mencal-2.3, který se vytvořil.
$ cd mencal-2.3
No, a to je vlastně všechno. V tomto adresáři je krátký README soubor,
licence k programu a hlavně soubor mencal. Ten můžete i jako obyčejný
uživatel spouštět příkazem ./mencal. Soubor si můžete nakopírovat
po vašem disku kam je jen libo.
Spouštění
Program se spouští takto:
$ mencal [parametry] [ soubor1 soubor 2 ... -c CONF1 -c CONF2 ... ]
Parametry pro výstup:
- -m nebo --monday - vypisuje pondělí jako první den
měsíce (standardně je to neděle)
- -1 - vypisuje jeden aktuální měsíc (standardní volba)
- -3 - vypisuje předchozí, aktuální a následující měsíc
- -y [rrrr] - vypisuje kalendář pro celý rok yyyy. Pokud
není rok zadán, zobrazí aktuální rok
- -q nebo --quiet - nebude vypisovat úvodní informace
- -n nebo --nocolor - výstup nebude barevný
- -i BARVA nebo --icolor BARVA - průniková barva
(standardně red (červená), další možnosti jsou green (zelená), blue
(modrá), yellow(žlutá), violet (fialová), cyan (bledě modrá), shiny (výrazná
bílá) a bold (tučné písmo))
Parametry menstruace:
-c nebo --config s=[RRRR]MMDD,l=DD,d=T,n=JMENO,f=SOUBOR,c=BARVA
Druhý parametr následující za přepínačem -c nebo --config je seznam
nastavení oddělených čárkou. Mezery nejsou přípustné. Programu je možné
zadat více parametrů -c nebo názvů souborů.
- s,start=[RRRR]MMDD - začátek cyklu (standardně aktuální den)
- l,length=DD - délka cyklu ve dnech (standardně 28)
- d,duration=T - trvání menstruace ve dnech (standardně 4)
- n,name=JMENO - jméno subjektu
- f,file=SOUBOR - jméno souboru, do kterého má být konfigurace uložena
(budou se ukládat pouze parametry menstruace)
- c,color=BARVA - barva pro vyznačení menstruačních dnů
(možno zadávat stejné hodnoty jako u parametru --icolor,
pokud byl zadán paremtr -n, bude toto nastavení barev ignorováno)
Informační parametry:
- -h nebo --help - vypíše nápovědu - seznam parametrů
- -V nebo --version - vypíše informace o verzi
Ukázky
- Ukázka 1 - jednoduchá ukázka tří
aktuálních měsíců
- Ukázka 2 - ukázka plného nastavení
konkrétního menstruačního cyklu v netradiční žluté barvě
- Ukázka 3 - ukázka celoročního kalendáře
dvou sledovaných osob, nastavení jedné se bere ze souboru
maruskarc, dny, kdy menstruují obě osoby, jsou označeny
červeně
- Ukázka 4 - stejné nastavení jako v
ukázce 3, bezbarevná verze (vhodná pro tisk nebo některé terminály,
které nezvládají barvy), bez úvodních informací
- Ukázka 5 a ukázka 6
- takto nějak to může vypadat, když se to všechno moc přežene ...
Chyby
Chybné zobrazování názvů dnů
Při opužití některých locales (např. hu_HU) se chybně zobrazovaly názvy dnů.
Některé dny totiž mají v názvu pouze jedno písmeno, čímž došlo
k rozhození celé tabulky měsíce. Na chybu upozornil Peter Gervai.
Řešení: upgradujte na verzi 2.3.
Překlep v chybové hlášce
Na malý překlep v jedné z hlášek při nesprávném zadání parametrů upozornil
Micah Anderson.
Řešení: upgradujte na verzi 2.2.
Příkazy more, less
Jediný vážnější problém se jeví používání příkazu more v kombinaci s barevným
výstupem, např. $ mencal -y -c c=red | more ... prostě se to celé
rozhodí
Řešení: použijte more -f nebo less -R.
Tuto radu zaslal Peter K. Gale.
Rok musí být větší než 1900
Bohužel nelze zadávat roky nižší než 1900. Je to tím, že perl pracuje
s rokem tak, že od něj odečítá 1900. Tedy pokud zadáte rok 2002, perl si to
musí převést na 102. A samozřejmě odmítá používání záporných cifer.
Pokud někdo víte, jak to obejít, pošlete návod.
Lokalizace
Názvy dnů a měsíců se berou z locales, takže by asi bylo fajn někdy
nějak lokalizovat help a pomocné a chybové hlášky. No, těch hlášek zas tak
moc není, no ... prostě až někdy jindy ;-)
Barevný tisk
Mám zprávy, že nejde barevně tisknout ($ mencal | lpr), že výpis na papíru
vypadá opravdu ošklivě. Je to možné, bohužel to nemám kde otestovat ani kde
vyladit. Pro tisk tedy použite přepínač -n (vypne barvy).
$ mencal -n | lpr
Přelom roku
Při vypisování třech aktuálních měsíců (parametr -3) na přelomu roku
(např. listopad, prosinec, leden) se některý měsíc nevypíše vůbec.
Řešení: upgradujte na verzi 2.1, ve které je již tato chyba
ošetřena. Chybu reportoval Jára Altmann.
Chyby z verze 1.1
Vzhledem k tomu, že z verze 1.0 zůstalo jen pár řádek a zbytek byl úplně přepsán,
chyby zdá se zmizely. Konfigurace platí i příští rok, po Novém roce nemusíte
všechno přenastavovat. Navíc odpadly brutální potíže a těžkopádnost
konfiguračních souborů.
Pokud jste našli nějakou chybu, neváhejte použít vašeho oblíbeného
poštovního klienta a poslat mi
e-mail.
Změny
2.3. (17. července 2003)
- oprava chybného zobrazování některých názvů dní
2.2 (22. května 2003)
- oprava překlepu v chybové hlášce
2.1 (9. prosince 2002)
- řešení chyby: nevypisovaly se měsíce při přelomu roku
- optimalizace počítání menstruačních dnů
2.0 (29. března 2002)
- úplné přepsání původní primitivní verze
- možnost mít více konfigurací
- překryvy jednotlivých konfigurací
- změny parametrů
- možnost nebarevného tisku
- tisk aktuálních třech měsíců
1.1 (25. října 2000)
- možnost ukládání konfigurace
- řešení menších chyb
- lokalizace (použití locales)
1.0 (druhohory)
- úvodní primitivní verze
Archiv
Ostatní
Za velmi vysokou míru spolupráce, inspirace o propagace děkuju Vinilovi (ta
hláška o načasování tam nahoře je také od něj) a za vysokou míru testování,
morální podpory a korekcí JDmu.
A jeden opravdu vydařený ohlas přišel od správce balíku mencal z
distibuce Debian:
I really love this script, because nobody but you ever bothered writing it :-)
I am very proud of you because you wrote this for your girlfriend and
I guess that was an act of love :-)
|