GithubHelp home page GithubHelp logo

alexbocken / muccadoro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from meribold/muccadoro

0.0 0.0 0.0 70 KB

๐Ÿ… Pomodoro timer using figlet, cowsay, and optionally lolcat ๐Ÿฎ

License: Apache License 2.0

Shell 95.42% Makefile 4.58%

muccadoro's Introduction

๐Ÿ… Implementation of the Pomodoro Technique using figlet(6), cowsay(1), and optionally lolcat ๐Ÿฎ

Personal version to work together with dwmblocks display for daily minutes. Also removes cowsay during the timer. See https://github.com/AlexBocken/dotfiles/blob/master/.local/bin/statusbar/getpomminutes for my bodged implementation of this statusbar feature. (It's ugly, I know) If you want to use this script for yourself I recommend using the original author's version as mine is quite specific to my use case.

Screenshot of muccadoro

Features

  • Sends desktop notifications.
  • Can't stop. SIGTSTP (Ctrl-Z) is trapped. Pomodoros are uninterruptible.
  • Traps SIGINT to make Ctrl-C abandon pomodoros.
  • Silly mode (or is it stern?) is enabled with -s (can be specified multiple times).
  • Avoids using clear so the terminal doesn't flash.
  • Hides the cursor.
  • Disables echoing of stdin.
  • Keeps the cow at the bottom of your terminal.
  • Prints some stats when exiting: when pomodoros started and ended and the length of breaks (can be redirected to a file).
  • Seconds are very slightly longer than customary (subject to the speed of your computer; maybe adds 10 seconds to a 25 minute pomodoro).
  • Two pomodoro timers possible, second one can be used via setting $2 to f (for freetime in this case)
  • Easily able to display time in your statusbar
  • Added small scripts for easy execution of timer with a log-file

Installation

adapt the install path in the Makefile to your liking and run

make install

Manual

Put muccadoro inside some directory in your PATH, e.g. ~/bin/ (or ~/.local/bin/):

curl -fLo ~/bin/muccadoro https://raw.githubusercontent.com/AlexBocken/muccadoro/master/muccadoro

Notes

I recommend creating an alias such as

alias pomo='muccadoro | tee -ai ~/pomodoros.txt'

This has been implemented in the two executable scripts pom and pomft. You can adjust the saving location for those logs in those scripts if you want to use them. (By default they can be found at ~/.local/bin.)

See "Saving summaries to a file" for details.

Usage notes

The first positional argument is the amount of minutes one pomodoro should take (default: 25). If you want 20-minute pomodoros, use muccadoro 20, for example. The program exits after four pomodoros have been completed and a longer break should be taken.

If two positional arguments are given, if the second argument is f it executes the script as a productive free time pomodoro. This results in a different tempfile if you want to display your cummuluative time for finished pomodoros before everything get's saved to the specified log file. See my getpomminutes and getpomftminutes in dotfiles if you want to understand the usefulness of this second flag further.

Saving summaries to a file

You may want to keep a record of how many pomodoros you did and when (and for how long) you took breaks. This is supported by simply redirecting stdout:

muccadoro >> ~/pomodoros.txt

If you want to save the summary but also have it printed to stdout, use:

muccadoro | tee -ai ~/pomodoros.txt

The -i (--ignore-interrupts) flag of tee makes sure the summary is correctly processed in case the pipeline was killed with Ctrl-C (which is the intended way to quit when doing less than four pomodoros).

muccadoro's People

Contributors

alexbocken avatar meribold avatar

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.