This Is Apfelhammer!

This Is Apfelhammer!

a blog about my PowermacG5 in 2025 - and something else


New Version 0.2.2 of TerminalDrome

June 02, 2025 — Jan Montag

I just finished the work on TerminalDrome 0.2.2 and I am really proud of it, because I don't know nothing about Rust but the Terminal NaviDrome Client is running very well :-)

TerminalDrome started, Cover Art, no artist or album chosen

Whats is new?

  • Implemented cover art: terminaldrome is downloading the cover art of the album if available and convert it to ASCII :-)
  • Album Scrolling: while in album pane, there were no scrolling implemented and when there were more than 5 albums, you would not see them.
  • fixed mute button
  • updated splash screen :-)
  • a lot of other improvements and fixes

What else?

Tested on:

  • Powermac G5 (Debian, Arch, T2 Linux ppc64)
  • Arm64 MacMini M4
  • Macbook Pro 2016 with x86 Intel CPU
  • ArmHF Device (Raspberry Pi like)
  • ...

If you download and test it, please let me now if it works. Bug reports straight to this blog here. Thank you.

Build Instructions (short)

In this early stage, but TerminalDrome runs on a daily basis here, it is a good idea to let it run via cargo run. Short build instructions as follows:

πŸ”§ Build with Cargo

git clone https://github.com/thafaker/termnavi.git TerminalDrome

After the, change to TerminalDrome directory:

cd TerminalDrome

and create a file config.toml:

[server]
url = "https://YourNaviDromeServer.de"
username = "yourUser"
password = "yourPass"

than:

#either (prefered)
cargo run
# or
cargo build --release

Thats all, that should build and run TerminalDrome and let it run, connected to your NaviDrome Server.

Ressources

Tags: ppc64, aarch64, arm64, navidrome, rust, terminal, powermacg5, linux, termnavi, terminaldrome



TerminalDrome 0.2.0 is available

May 21, 2025 — Jan Montag

I am proud to announce the release of TerminalDrome 0.2.0 as a feature-rich stable version to the public. It is still alpha but it works on a daily basis here on my Powermac G5 or the Mac Mini M4.

TerminalDrome Splash Screen

There are compiled binaries available for arm64, ppc64 and armhf. But TerminalDrome will build on every Linux with Rust and Cargo.

Status

  • Absolute pre-alpha!!!
  • Scrobbling to last.fm and listen.brainz works via Navidrome
  • Track updates while playing. Once a song finishes, it automatically switches to the next one and updates the display accordingly.
  • A basic full-text search is implemented: press the slash / key to open the search window, enter a term, and the results will appear in the third pane.
  • Basic Help Screen via Shift+H Button.
  • Splash Start Screen :-)
  • Nice Status Bar at the bottom

TerminalDrome is playing a song on my Powermac G5

✨ Key Features of TerminalDrome

  1. Navidrome Integration

    • Connects to your Navidrome server (HTTPS enforced)
    • Supports all Subsonic API endpoints (Artists, Albums, Songs)
  2. TUI (Terminal UI) with 3-column layout

    • Artists β†’ Albums β†’ Songs
    • Intuitive navigation using arrow keys
    • Colored highlights (active songs, selection, status)
  3. Music Playback

    • MPV integration (runs silently in the background)
    • Automatic transition to the next song (playlist mode)
    • Play/pause with spacebar
    • Progress bar and time display
  4. Last.fm Scrobbling

    • Automatically scrobbles at ~50% of the song duration
    • Correct timestamps (Unix milliseconds)
    • Avoids duplicates (via current_scrobble_sent flag)
  5. Persistence

    • Saves last state (state.json)
      • Current artist/album/song
      • Scroll positions
      • Now-playing index
    • Stable MPV communication
    • Unix socket for real-time updates (playlist position, time)
    • Correct handling of playlist end
    • Minimal status bar
    • Displays current song + album/artist
    • Clear error messages (e.g. for connection problems)

TerminalDrome Help Screen

πŸ”§ Technical Highlights

  • Written in Rust (fast & safe)
  • Async/await for non-blocking I/O
  • Atomic operations for thread-safe state (MPV ↔ UI)
  • TOML configuration (server URL, credentials)

πŸš€ Roadmap Ideas (optional)

  • Search filtering in lists
  • Shuffle/repeat modes
  • Cover art (via Sixel or ASCII art)
  • Theme support (color schemes)

Ressources

Tags: ppc64, navidrome, rust, terminal, powermacg5, linux, termnavi, terminaldrome



New Release of TerminalDrome on Github

May 19, 2025 — Jan Montag

Since I recently discovered how relaxing programming can be, I've been tinkering with my Navidrome-compatible terminal client called TerminalDrome almost every day.

I've now integrated a new feature, which I've moved to Main:

A simple search function:

  • Press slash / and the search will open.
  • Enter the search term, press Enter, and you'll see the search results in the right panel.
  • It's neither alphabetically sorted nor otherwise organized.
  • Additionally, there's a feature in the leftmost panel where you can jump directly to the beginning of the respective artist by pressing a letter of your choice. So if I press D, I'll land on D.A.F., or Q on Queens Of The Stone Ageβ€”you get it?

My TerminalDrome CLient in Search Mode

I'm very proud.

TerminalDrome is written in Rust and can be downloaded and compiled using the following command. You'll need the Rust toolchain and mpv.

git clone https://github.com/thafaker/termnavi.git TerminalDrome
cd TerminalDrome
cargo build && cargo run

I've also explained this on my Github repo.

TerminalDrome (left) near btop (right) on my Debian 13 Sid PowerPC Powermac G5

Tags: ppc64, navidrome, rust, terminal, powermacg5, linux, termnavi, terminaldrome



TerminalDrome is evolving

May 14, 2025 — Jan Montag

My little Terminal Navidrome Project TerminalDrome is evolving and works a little bit better from day to day. So, what is working?

  • safes the state of the panes to come back later
  • in pane 4 it shows the elapsed time and a small bar is going to 100%
  • it plays the songs of an album from 1 to last

What does not work:

  • it won't changes the now playing bar when a new song is playing

This is a screenshot of my real Powermac G5 running TerminalDrome in the wild.

Ressources

Tags: ppc64, navidrome, rust, terminal, powermacg5, linux, termnavi, terminaldrome



TermNavi is renamed in TerminalDrome

May 11, 2025 — Jan Montag

Because there's already a Terminal Navidrome client called NaviTerm, and I don't really like my name TermNavi, I decided to rename my software TerminalDrome. Of course, that sounds completely stupid, but at least it's better than a copy.

I think my software will soon become famous.

Oh, and it doesn't even work properly yet. :-)

Ressources

Tags: ppc64, navidrome, rust, terminal, powermacg5, linux, termnavi, terminaldrome



TermNavi Terminal Navidrome Client ppc64

May 08, 2025 — Jan Montag

So the other day I tried to connect to my Navidrome MP3 Streaming Server, I call it "Spotify at Home", via Webinterface to listen to some music, but there were no way to do this. The Webbrowsers available are too old. Sad.

So I decided to programm a really small Navidrome Terminal Client called TermNavi (yes I know... need better name) to listen to my MP3. And what shall I say? The first implementation is ready. I tested and successfully compiled on aarch64 (my MacMini M4) and the legendary Powermac G5 with ARCH Linux or Debian Sid ppc64.

So this it is:

  • MVP for playback
  • Rust for pgramming
  • Ratatui fΓΌr the Terminal UI (TUI)
  • a Powermac G5 with PPC Linux

Really happy, it is my first rust project.

known bugs

  • State handling is missing
  • UI Rendering for more selections
  • scroll logic is worst

And as a now cool hacker guy, I pushed everything in my github repo. But don't expect too much, I am a worst programmer, I often do not understand what is going on and I have everything in one file, the main.rs :-)

Ressources

Tags: ppc64, navidrome, rust, terminal, powermacg5, linux, terminaldrome



Claws-Mail 4.3.1 ArchPOWER Linux successfully compiled for PPC64

April 25, 2025 — Jan Montag

Due to the lack of a good graphical email client [^1] for my Arch POWER Linux Distro (Arch Linux for PowerPC), I tried several things and ended up with claws-mail. But it is not installable or not existing in the repos of pacman for powerpc. So I dcided to compile it by myself.

Claws-Mail 4.3.1 just compiled successfully on my Powermac G5.

claws-mail first window, first start

Claws Mail is an email client (and news reader), based on GTK+, featuring:

  • Quick response
  • Graceful, and sophisticated interface
  • Easy configuration, intuitive operation
  • Abundant features
  • Extensibility
  • Robustness and stability

todays screenshot of my inbox on claws-mail on my powermac g5

Okay, it is an really not beautiful email client, but it works great and we should not forget my ancient hardware from 2005 :-)

[^1]: I think there is no one. Not only one.

Ressources

Tags: archlinux, powermacg5, email, ppc, ppc64



Hello ArchPOWER Linux for PPC64

April 25, 2025 — Jan Montag

In a nice comment from Matias, he told me he is using ArchPOWER Linux, an unofficial Build of Arch Linux for PowerPC, PPC64, PPC and PPCle for the Power8 Architecture etc. pp.; If I remember correctly, I stumbled across this Linux Distro while I researched for the best Linux for my Powermac G5, but maybe because I was at the beginning of my Linux journey on these machines, I found it to heavy or something else told me not to try. I don't know but it is not important anymore, because I installed ArchPOWER Linux current on my NVMe-SSD in the Powermac, multi-booting with T2 Linux, Debian 12 SID, Adelie Linux and Fienix Linux. :-)

Read more...




← An IndieWeb Webring πŸ•ΈπŸ’ β†’

HITCOUNTER: You are visitor number several