Giter VIP home page Giter VIP logo

estonta's Introduction

estonta

A simple Bash-based calendar application. It also has an optional Yad-based interface for entering events.

clockwise, from top-left: listing (in Termite), the same listing in Conky, estonta.conf, adding an event

estonta creates iCalendar files in a directory (which you can set in $HOME/.config/estonta.conf). It can also display a list of those events. You can filter them by category; search event summaries by word; or find an event by date.

Installation

If you use Arch Linux, you can install it from the AUR:

https://aur.archlinux.org/packages/estonta-git/

otherwise,

sudo install -p -D estonta -m 0755 /usr/local/bin/estonta
install -p -D estonta.conf -m 0644 $HOME/.config/estonta.conf

Then use your favourite text editor to edit estonta.conf.

Use

First, run estonta in a terminal.

$ estonta
New directory created at /home/corey/.local/share/ics.
No events found

Then run estonta -a to add an event. A series of questions (or with the -g, Yad dialogs) will guide you through adding an event. An iCalendar file is added to the directory.

The series of dialogs for adding

Here's an example from a terminal

$ estonta -a
*What date is the event (date: use DATESTRING format - no commas!)? *
20 Jul
*Enter the start time: *
7pm
*Where is it (Press Enter to skip)? *
Out!
*Please give the event a title  (Press Enter to skip):*
Hitting the clubs
*any tags  (Press Enter to skip)?*

*Write a short description (Press Enter to skip): *
Yes!
Event saved.

You can then list the event with estonta. If you want to display an event on a certain day, use the -d switch: this takes a date string (in quotes) as detailed in the manpage for date(1).

$ estonta -d "Friday"
22 Jul '16 @ 14:00 - Picnic
Normanton Park, Derby, United Kingdom
Bring a blanket!

No alcohol on the park

A note on date strings

Date strings are handy: they're "human readable". However, they're not calculated by humans. So bear in mind...

  • "next Thursday" means "Thursday coming" and NOT "Thursday, next week". For Thursday, next week use "next week Thursday"; and
  • don't use commas.

The -c switch filters events by category.

estonta -c "study"
19 Jul '16 @ 15:00 - Thermodynamics tutorial

The -s switch allows you to search for events where the summary contains a certain word. It's case sensitive.

estonta -s M3C
Tue 27 Sep, 10:00am - M3C Induction
Wed 28 Sep, 10:00am - M3C induction

You can find events within a date range with estonta -r "startdate" "enddate".

$ estonta -r "now" "+7days"
Thu 28 Jul, 1:00pm - Bob
Fri 29 Jul, 1:00pm - Laptop

Here's how to look into the past:

$ estonta -r "-7days" "now"
Wed 20 Jul, 5:00pm - Grignon/Ratcliffe
Fri 22 Jul, 5:00pm - Fusebox - solo

You could alias a range on the commandline, or in ~/.bashrc:

$ alias next7days='estonta -r "now" "+7days"'
$ next7days 
Thu 28 Jul, 1:00pm - Bob
Fri 29 Jul, 1:00pm - Laptop

You can edit and delete events by editing the ics files. You can also add events from other software by exporting them into the configured directory.

with Conky

In a Conky file, something like

{execi 10 estonta}

Sharing

estonta produces iCalendar (.ics) files, so you can share them with any application or device that can read that file type. If you have Dropbox (or another file sync service), you can set the events directory to be created in there, making it handy for sharing events across different laptops and phones.

Why?

I got sick of not having a straightforward, transparent way of making events on my laptop. By transparent I mean making an event that I can then send to something else (like a phone; or my site) without a conversion step or a binary program. I also needed something that would give me a plain list of events that I could use in Conky. I didn't want anything big, like a full calendaring application; just something I could look at quickly, and also add to if needed.

The name is Esperanto.

estonta's People

Contributors

coreymwamba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zenlinuxos

estonta's Issues

Unable to open GUI on first run

The command estonta -ag exits without opening a yad dialog on first run until an event has been created (Folder ~/.local/share/ics is empty). ONe has to either create an event or have a presumably proper file in ~/.local/share/ics

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.