/lazyorg

Simple terminal-based calendar and note-taking app

Primary LanguageGoMIT LicenseMIT

Lazyorg

Lazyorg Logo

A simple terminal-based calendar and note-taking application.

Lazyorg Demo

Features

  • 📅 Terminal-based calendar interface
  • ✨ Event creation and management
  • 📝 Integrated simple notepad
  • ⌨️ Vim-style keybindings

Installation

Prerequisites

  • Go 1.23 or higher

Arch

yay -S lazyorg-bin

Docker Image

docker pull defnotgustavom/lazyorg
docker run -it --log-driver none --cap-drop=ALL --net none --security-opt=no-new-privileges --name lazyorg -v /usr/share/zoneinfo/Your/Location:/usr/share/zoneinfo/Your/Location:ro -e TZ=Your/Location defnotgustavom/lazyorg

Switch Your/location to your current location. Use timedatectl list-timezones to fetch a list of possible locations.

To rerun the container:

docker start -ai lazyorg

Binary Installation

Download pre-compiled binary from the latest release. MacOS and Windows have not been tested yet.

From Source

git clone https://github.com/HubertBel/lazyorg.git
cd lazyorg
go build

Usage

Navigation

  • h/l - Previous/Next day
  • H/L - Previous/Next week
  • j/k - Move time cursor down/up

Events

  • a - Add new event
  • d - Delete current event
  • D - Delete all events with same name

When creating a new event (a), you'll be prompted to fill in the following fields:

  • Name: Title of event
  • Time: Date and time of the event
  • Location (optional): Location of the event
  • Duration: Duration of the event in hours (0.5 is 30 minutes)
  • Frequency: The frequency of the event in days, by default 7 or once a week
  • Occurence: The number of occurence of the event, by default 1
  • Description (optional): Additional notes or details about the event

View Controls

  • Ctrl+s - Show/Hide side view
  • Ctrl+n - Open/Close notepad
  • Ctrl+r - Clear notepad content
  • ? - Toggle help menu

Global

  • Ctrl+c - Quit

Configuration

Configuration file will come in future releases. For now, when you open the app for the first time, the database is created at ~/.local/share/lazyorg/data.db in case you want to do a backup.

Contributing

Please feel free to submit a Pull Request!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

Acknowledgments

Roadmap

  • Time range modification
  • CLI help
  • Undo/Redo
  • Configuration file
  • Synchronization between devices
  • Import calendar from other apps (Google Calendar, Outlook)

Buy me a coffee

Buy Me A Coffee