OpenRiot v7.9.26 — Securely Random, Perfectly Aligned

“One of these is not like the others. Cryptographically.” — The OpenRiot Crew, replacing math/rand with crypto/rand for lock screen selection


Release Overview

v7.9.26 is the polish release. The lock screen picker now uses crypto/rand instead of math/rand — because which background appears before you type your password shouldn’t be predictable. The crypto portfolio table got a full columnar alignment pass: entry price, current value, portfolio percentage, comma-separated totals. Two new lock screens snuck in. The CPU model name no longer wraps into infinity in notifications. And the README finally credits the header art properly.

Everything from v7.9.25 is here — the binary-embedded Migrate, the Disk Manager TUI, Firefox private browsing detection, Kate installer, mascot wallpapers, clipboard exorcism, and the resume hook. v7.9.26 adds the cryptographic polish on top.


🔐 Cryptographically Random Locks (v7.9.26)

math/rand is fine for games. It’s not fine for deciding which image greets you at the lock screen. One crypto/rand.Int call later, the selection is unpredictable. Two new lock screens (73 and 74) joined the rotation.

File Change
source/lock/lock.go math/randcrypto/rand with
  cryptoRandIndex() helper
Locked/73.webp NEW — lock screen
Locked/74.webp NEW — lock screen

💰 Crypto Table Alignment (v7.9.26)

The ROWML output got a full columnar makeover. Entry price, current price, position value, portfolio percentage, and comma-separated totals. The “Stop” sell limit was replaced with “Hold” — if you’re underwater, the output tells you to wait, not to panic-sell at 90%.

Old format:

COIN     HELD   PRICE        % GAINS       $ GAINS
BTC   1.2345 x $67,890.12  +12.3%    +$8,432.10

New format:

Coin Held      Entry    Price   Value    %Entry  %Port
BTC  1.2345 60,000  67,890  83,789  +12.3%  45.2%
File Change
source/crypto/crypto.go New aligned table columns;
  fmtHeldClean, fmtValue,
  fmtPriceShort,
  formatIntWithCommas helpers;
  “Stop” → “Hold” for underwater
  positions; comma-separated
  totals in notifications

🖥️ Polybar CPU Model Wrapping (v7.9.26)

GetCPUDetails() now truncates long CPU model strings at 35 characters with a smart word-boundary break. No more notification popups that span half the screen.

File Change
source/polybar/polybar.go CPU model truncation at 35 chars

🧾 Rofi Menu Tweaks (v7.9.26)

System Monitor (btop) now launches with font.size=10 for a tighter terminal. The Backup & Restore entry uses an absolute path to install/openriot to avoid PATH ambiguity.

File Change
config/rofi/apps.txt System Monitor with font.size=10
config/rofi/utilities.txt Absolute path for backup entry;
  btop font.size=10

📖 README Refresh (v7.9.26)

Header art by Hero now properly credited. Desktop image swapped from desktop.webp to header.jpg. Removed stale ArchRiot references and some redundant marketing text. ThinkPad X1 Carbon Gen 8 added to supported laptops table.

File Change
README.md Hero art credit; header image swap;
  cleanup; X1C8 laptop entry
assets/header.jpg NEW — README header art

🗂️ Files Changed (v7.9.26)

File Change
source/lock/lock.go crypto/rand lock selection
source/crypto/crypto.go Aligned table columns; “Hold”
  for underwater; helpers
source/polybar/polybar.go CPU model truncation
source/backgrounds/backgrounds.go Unstaged
config/rofi/apps.txt btop font.size=10
config/rofi/utilities.txt Absolute backup path; btop font
install/openriot Rebuilt binary
README.md Header art credit; cleanup
assets/header.jpg NEW — header image
Locked/73.webp NEW — lock screen
Locked/74.webp NEW — lock screen

🗣️ Final Words

math/rand chose your lock screen. crypto/rand chose this release. One of them knows the difference.” — The OpenRiot Crew, after one too many predictable lock screens