Skip to content

v1.9.8 Contemporary ANSI art comes to terminals, zsh version requirement goes down from 5.8 to 5.7, new tarot picking mode with real text-based tarot deck, and much more...

Compare
Choose a tag to compare
@poetaman poetaman released this 06 Dec 08:51
· 148 commits to main since this release

arttime_ansi

Example ANSI art from above GIF:

arttime --nolearn -a fall2 -t "github.com/poetaman/arttime"
arttime --nolearn -a holiday -t "github.com/poetaman/arttime"
arttime --nolearn -a picard -t "github.com/poetaman/arttime"
arttime --nolearn -a house8 -t "github.com/poetaman/arttime"
arttime --nolearn -a unix -t "github.com/poetaman/arttime"
...

Note: arttime is a clock, timer, time manager, ASCII/ANSI text-art and ~animation viewer that comes with a library of curated high-quality text-art. For more samples check the screenshots on main page: screenshots

Highlights:

  • The biggest highlight of this update is that it brings high-quality contemporary ANSI/PETSCII art to modern terminal emulators. Now users can enjoy viewing a new genre of art in their text-based user interface (UI) of computer. Much more in lists below...

Updates:

  • Art curation: Added multiple unicode-encoded ANSI, PETSCII art pieces to arttime for viewing in unix terminals, art credits at bottom of release notes.
  • Pick random tarot art. From main screen of arttime, press and hold o for a few seconds. After some time, arttime will settle on some randomly selected tarot card. Press y to select it, or c to cancel. Tarot art provided by text artist littlebitspace. Note: the keybinding for picking random art from rest of the text art collection remains same as before: j.
  • Option change [breaking]: Changed --random from switch to an option that requires one of: all, tarot, or notarot. all picks a random art from entire arttime collection, tarot picks a random tarot art, notarot picks random art which is not a tarot card. This change will break your existing commands that have --random in them, as it now requires one of the above values.
  • Support more zsh installations: Arttime now works with 5.7 or above versions of zsh, instead of a prior more stringent requirement of at least version 5.8 of zsh.
  • Containerized environments: Now users can try arttime in containerized environments like docker and podman. The disadvantage of doing this is that a user won't get to experience native desktop notifications and sounds that arttime generates. It has been added for users who prefer trying software in a container before wanting to install. The command for docker/podman is on the main page.
  • Improved error reporting for command line options not recognized by arttime and artprint.
  • Universality of installation: Last release had some residual dependencies left for arttime to be tagged unix-universal, those have been fixed in this update.
  • Improved arttime installer's messages to user about dependencies.
  • Package managers: arttime changes it's static set of recommended dependencies across Linuxes/Unixes: 1) zsh (>=5.7) to get arttime up and running, 2) libnotify-bin to provide notify-send for desktop notifications, 3) voribis-tools to provide ogg123 for desktop sound-server fallback mechanism, 4) less to navigate some help pages paged by arttime during runtime.
  • Added option --version to both arttime and artprint. Both print arttime's version number, as artprint doesn't have its own standalone version numbering and is shipped as part of arttime's repository.
  • Improved seeding of random number generation. While no problem was detected on systems arttime was tested on, theoretically there can be systems where this should improve randomness for random number generation.
  • Updated arttime wiki with information on how to render text art more accurately in terminal.
  • Updated documentation.

Fixes:

  • Unix compatibility: Added more as a fallback for systems that don't have less, even though it is more desirable to have less installed.
  • Unix compatibility: Made pkill optional as it is not available on all Unix systems.
  • User interface: Cursor color for some prompts was being wrongly inherited from text art, that is now fixed.
  • User interface: Changed screen clearing mechanism to work across all systems. Previously, depending on the system and how command clear is implemented, a clear sequence could have come from a different terminal database than the one being used for other terminal features. Moreover clear might not be available on all unix systems, it is now fixed.
  • User interface: Reset cursor state after paging, as a pager like less or more can in rare cases change cursor state.

Installation:

  • Note to existing users: Just doing a git pull will not work for this update as the git history has been updated (this won't happen again, it's a one-off event). It is recommended to remove old git repository cd $HOME/packages/github && rm -rf poetaman and then try installation again with one of the methods mentioned below. Save any changes you might have done in that directory tree before deleting it.
  • For fastest and password-less installation, use method 1) from installation documentation. Optional sound/notification dependencies are not installed, but user is notified if they are absent.
  • For most customized installation use method 2) from installation documentation. Also does not install dependencies, but notifies the user if they need one for sounds/notifications. Puts user in more control on where arttime installs.
  • For most automated installation that takes care of dependencies (though superuser password is mostly required), use method 3) from installation documentation. If you don't see your favorite package manager, feel free to add arttime to it. Check the section "Want to volunteer?" below.
  • Lastly, on systems that do not neither of: git, or curl, or wget. Download one of the source code archive assets attached here and put in the directory of your choice, and install/run run arttime directly from there.

Want to volunteer?

  • Add dependency-installation instructions for your distribution of Linux, flavor of Unix, or another OS. Check the Dependencies section of arttime wiki
  • Add package manager for arttime for your distribution of Linux, flavor of Unix, or another OS. Dependencies are simple and static, so this should be a very easy task. Check the Dependencies section of arttime wiki.

Useful links: arttime dependencies, arttime discussions, @ehaupt's FreeBSD PR/FreeBSD port/FreeBSD art. Once you have added a package, open a pull request with some representative art like FreeBSD mascot to get representation for your favorite distribution/OS (mascots are preferred over logos).

Art credits:
This release begins addition of ANSI/PETSCII art to arttime's repository. Here are the name of artists whose art made this possible:
littlebitspace, Luciano Ayres, @xero, LDA, Darkman Almighty, sanderfocus, @PhMajerus, and Otium.

Best, @poetaman


P.S. Here's a screenshot that shows how arttime brings text art to modern unix terminals. In the screenshot, to the left is a text editor showing part of arttime's documentation, on bottom-right is an interactive shell session. On top-right is arttime displaying art and also functioning as a timer/time manager. This realizes the vision to bring ANSI art to modern unix terminals. Arttime enables users to view quality text art straight from their main terminal and shell, instead of requiring specialized desktop applications required to view such art. This brings text art viewing back to how it was originally intended: from one's main terminal+shell, and in a text-only user interface.

Screenshot 2022-12-05 at 6 11 56 PM