Skip to content
View tralireza's full-sized avatar
:fishsticks:
Focusing
:fishsticks:
Focusing

Block or report tralireza

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tralireza/README.md

Hi πŸ‘‹

( Helloings & Welcomings β€” if you know the joke! Carry On Abroad )


πŸ”­ Currently building β€” two things that spend their whole lives pushing pixels around: one paints your entire desktop, the other dresses up your movie night. Somehow both ended up with something that spins. πŸŒ€

🎬 Now showing β€” a double feature


πŸ¦€ ricom β€” an X11 compositor written from scratch in Rust

tralireza/ricom Β· Rust Β· x11rb + EGL / OpenGL

A clean reimplementation of picom's core, built straight on x11rb + EGL: it redirects the screen and composites every window onto the X overlay with zero-copy texture-from-pixmap, tear-free at vsync β€” then goes well past the basics.

  • 🎞️ A real animation engine, not a fixed effect list β€” every window open / close / move is a recipe over composable primitives (opacity Β· scale Β· translate Β· spring-wobble Β· GPU spin Β· radial ripple Β· noise-dissolve), live-reloaded from TOML on SIGHUP. Windows boing in, spin out, stretch open, dissolve into embers, or slide off-screen.
  • πŸͺΌ Wobbly windows β€” the Compiz spring-mesh jelly, jiggling to a stop on a dedicated GL mesh path.
  • πŸͺ« Nearly free when idle β€” damage-driven, with region-level occlusion culling and buffer-age partial repaint; a lone fullscreen window trips unredir and ricom steps aside so it page-flips straight to the display (compositor cost β†’ ~0), then jumps back the instant an overlay appears.
  • ✨ The staples, done properly β€” per-window opacity, fade in / out, soft drop shadows, rounded corners, dual-Kawase background blur, and inactive-window dimming.
  • 🧱 All hand-rolled β€” eight small Rust crates, pure-Rust deps only (x11rb, calloop, glow, khronos-egl, fontdue); the Composite / Damage / Render / Present / RandR plumbing is written from scratch, no compositing toolkit β€” plus a HUD (FPS / frame-time / loadavg) it draws itself.
ricom in motion β€” boing-open, dissolve, and live spin / stretch / wobble on video windows, each captioned by a self-drawn OSD toast

πŸŽ₯ mpv-spincard β€” a cinematic now-playing card for mpv

tralireza/mpv-spincard Β· Lua Β· mpv + ffmpeg

It figures out what you're watching from the file path, then overlays a rich info card built from your local Kodi / Emby artwork and .nfo metadata β€” no network required.

  • πŸƒ A card built from your own library β€” poster, dimmed fanart backdrop, a transparent clearlogo as the title, and a 3/4 disc that spins in the corner; plus title, year, ⭐ rating, genres, plot, and cast.
  • πŸ“Ό Live file details, straight from mpv β€” codec Β· HDR/SDR Β· fps Β· resolution Β· container Β· size, audio / subtitle languages, chapter count, and a live progress bar with ETA.
  • πŸ“Ί Live TV, too β€” point it at Tvheadend and a stream turns into a now/next card from the EPG (current programme + an "Up next" list).
  • 🌐 Fully offline by default β€” everything comes from the files next to your media; optional TMDB enrichment and an hourly rating refresh kick in only if you add a key.
mpv-spincard β€” clearlogo title, poster, dimmed fanart backdrop and a spinning disc

🧰 Also on the workbench

  • Lean / minimalistic tmux status line ( ✨ special ✨ ) β€” .tmux.conf

    tmux status line β€” bright tmux status line β€” dark

πŸ“« How to reach me

Pinned Loading

  1. ricom ricom Public

    X11 Compositor - in Rust

    Rust 2

  2. rustacean rustacean Public

    Rust

    Rust

  3. mpv-spincard mpv-spincard Public

    Now Playing ODS for mpv based on Kodi/XBMC Emby metadata

    Lua 2

  4. Trie Trie Public

    Trie :: Prefix Tree (Go)

    Go

  5. DemoSearch DemoSearch Public

    iTerm2 vs Terminal (DFS/BFS Search)

    Go 2

  6. dotVim dotVim Public

    dotVim Vim startup & plugin configs

    Vim Script 2