Skip to content

v1.9.2 Universal Unix Installer makes it possible to install arttime anywhere (even on computers in Apple Store), with --random be greeted with random high-quality text art each time you launch arttime

Compare
Choose a tag to compare
@poetaman poetaman released this 17 Oct 22:45
· 197 commits to main since this release

arttime_randomopt

arttime --nolearn --random

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:

  • This is a minor but important release. It fixes a matrix of problems that prevented arttime's single command installer to be used on some Unix machines. Arttime just needs zsh to be up and running on any Unix system now: no password required, installer works from any shell, removed false dependencies, etc. More details below.

Updates:

  • Random art: Both arttime and artprint now take a new option --random. When passed, it selects a random text art from arttime's curated art collection.
  • Support native interface of multiple sound server daemons: PulseAudio, PipeWire. Fallback on vorbis-tools to play sound if the former daemons are not found.
  • Universality of installation: Arttime realizes Universal Unix Installer.
  • Arttime installer now prints customized and exact notes on dependencies, further steps, etc.
  • Package management badge: @ehaupt added a code for repology badge which now shows status of arttime's packages across Unixes and Linuxes on main page's installation section, arttime's repology project page is here.
  • Package managers rejoice, arttime gets a static set of recommended dependencies across Linuxes/Unixes: 1) zsh (>=5.8) 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.
  • Art curation: Added more high-quality ascii art.

Fixes:

  • Arttime now finds freedesktop sounds in some standard directories if user's DE does not conform to freedesktop's standard and set an environment variable. Fixes problems on FreeBSD discovered by @grahamperrin in #27 (comment).
  • Make arttime work on newer systems that do not use pulseaudio.
  • If pulseaudio is not already running, don't accidentally start the daemon. This confusion was caused by bad documentation of command paplay, it does not in anyway tell the user that it implicitly starts the daemon for user to play sound. Violating the principle of single interface to achieve a result (there is already another command to start and stop the daemon)... Ticket to be filed on PulseAudio maintainers.
  • Cursor for prompt to quit arttime inherited color from text art, thus potentially giving different color each time. That is now fixed.
  • Fixed installer for bash systems that might never get rebooted or user might not know what is a difference between login and non-login shell. If a user starts a new interactive shell after installation on bash system, arttime will always be detected.
  • If user's zsh version is less than 5.8, fail gracefully with useful note on why arttime is exiting.
  • Support arttime on systems where curl is absent, unfortunately such systems exist.
  • Fix a residual problem where terminfo was queried on termcap systems, it was promised to be fixed in prior release.
  • Fix artprint documentation which had gone out of sync with latest commits.
  • Fixed a problem where part of installer's string was being evaluated by users shell instead of zsh. It caused installer to misbehave if user's shell was not from bash or zsh, like csh/tcsh/ksh or something different. Now the installer should work from any user shell.

Installation:

  • 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).

Special mentions:

  • @grahamperrin for researching sound and their issues on FreeBSD. It shaped arttime's sounds strategy for freedesktop systems.
  • @ehaupt for creating a repology page and badge for arttime.
  • @apple for keeping their computers open to install and run arbitrary shell code from the web.

Best, @poetaman


P.S. Here's the video of arttime running in Apple Store (click on it to play):

arttime_apple_store.mp4

Want to try arttime in Apple Store? Do this:

  1. Copy-paste the following line in application named Terminal (comes pre-installed on macOS):
zsh -c '{url="https://gist.githubusercontent.com/poetaman/bdc598ee607e9767fe33da50e993c650/raw/8487de3cf4cf4a7feff5d3a0d97defad95164eb3/arttime_online_installer.sh"; zsh -c "$(curl -fsSL $url || wget -qO- $url)"}'
  1. Press Enter to install it (no password required).
  2. Open a new tab (Cmd-t) or restart Terminal.
  3. Type arttime, and press Enter, arttime will launch.
  4. After you are done playing with arttime in Apple Store and feel like uninstalling it, then enter the following command in Terminal. It will remove all traces of arttime from Apple's computer.
rm -Rf ~/.local ~/packages ~/.zsh*

Feel free to drop a note about your experience of running arttime in Apple Store under arttime discussions here: #39