mywiki/linux/calcurse.md

155 lines
3.7 KiB
Markdown

# Calcurse
Calcurse è un calendario e un'applicazione di pianificazione per la riga di comando. Aiuta a tenere traccia di eventi, appuntamenti e attività quotidiane. Supporta la sincronizzazione tramite protocollo
CalDAV.
Maggiori informazioni: [Calcurse](https://calcurse.org/)
## Installazione
```bash
cd ~
wget -c https://calcurse.org/files/calcurse-4.8.0.tar.gz
```
Quindi procedere coi seguenti comandi:
```bash
tar xvf calcurse-4.8.0.tar.gz
cd calcurse-4.8.0/
# Se non presente, installare la seguente libreria
# sudo apt install install libncursesw5-dev
./configure
make
sudo make install
```
Ora è possibile eseguire il programma:
```bash
calcurse
```
Premendo il tasto `C` si accede alla configurazione.
```bash
cat ~/.calcurse/conf
appearance.calendarview=monthly
appearance.compactpanels=no
appearance.defaultpanel=calendar
appearance.layout=4
appearance.headerline=yes
appearance.eventseparator=yes
appearance.dayseparator=yes
appearance.emptyline=yes
appearance.emptyday=--
appearance.notifybar=yes
appearance.sidebarwidth=3
appearance.theme=magenta on default
appearance.todoview=hide-completed
appearance.headingpos=right-justified
daemon.enable=no
daemon.log=no
format.inputdate=1
format.notifydate=%a %F
format.notifytime=%T
format.outputdate=%D
format.dayheading=%B %e, %Y
general.autogc=no
general.autosave=yes
general.confirmdelete=yes
general.confirmquit=yes
general.firstdayofweek=monday
general.multipledays=yes
general.periodicsave=0
general.systemevents=yes
notification.command=printf '\a'
notification.notifyall=flagged-only
notification.warning=300
format.appointmenttime=%H:%M
```
## Configurazione
```bash
cd ~
calcurse -C .calcurse/
cd .calcurse/caldav/
vim config
[General]
Binary = calcurse
Hostname = murena.io
Path = /remote.php/dav/calendars/login@e.email/personal
AuthMethod = basic
InsecureSSL = No
HTTPS = Yes
SyncFilter = cal,todo
DryRun = No
Verbose = No
[Auth]
Username = user@e.email
Password = *******************
# Quindi abilitare la sincronizzazione
calcurse-caldav --init=two-way
```
### Sincronizzazione
Le modifiche vengono caricate in remoto e scaricate in locale col comando:
```bash
calcurse-caldav
```
Per la sincronizzazione automatica è possibile abilitare un cronjob ogni 5 minuti, oppure crearsi un alias, in questo modo:
```bash
cd ~
vim .bashrc
alias cc="calcurse-caldav >> ~/calcurse.log && calcurse -q"
source .bashrc
```
oppure:
```
crontab -e
*/5 * * * * echo -e "\n" >> ~/calcurse.log && date >> ~/calcurse.log && calcurse-caldav >> ~/calcurse.log
```
![calcurse](./asset/calcurse/calcurse.png)
## Comandi rapidi
```bash
calcurse -a # stampa gli appuntamenti del giorno
calcurse -d n # stampa gli appuntamenti da oggi e per gli "n" giorni successivi
calcurse -d 3
calcurse -d gg/mm/aaaa # stampa gli appuntamenti per uno specifico giorno ù
calcurse -d 13/12/2022
calcurse -n # stampa il prossimo appuntamento entro le 24 ore (quello più vicino)
calcurse -t(n) # stampa la lista delle attività. Opzionalmente si può indicare il livello di priorità
calcurse t2 # stampa attività di priorità 2)
```
## Collegamenti
- [https://community.e.foundation/t/calendar-sync-ecloud-x-calcurse-calcurse-caldav/33134](https://community.e.foundation/t/calendar-sync-ecloud-x-calcurse-calcurse-caldav/33134)
- [https://calcurse.org/files/calcurse-caldav.html](https://calcurse.org/files/calcurse-caldav.html)
- [https://calcurse.org/files/manual.html](https://calcurse.org/files/manual.html)
- [https://github.com/lfos/calcurse/issues/301](https://github.com/lfos/calcurse/issues/301)
- [https://github.com/lfos/calcurse/blob/pu/contrib/caldav/config.sample](https://github.com/lfos/calcurse/blob/pu/contrib/caldav/config.sample)
- [https://github.com/lfos/calcurse](https://github.com/lfos/calcurse)