Skip to content

AmmarSyamil/HyprLarp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8031d3e · · Jul 20, 2026

History

97 Commits
May 29, 2026
Jul 9, 2026
Jul 9, 2026
Jul 3, 2026
Jul 18, 2026
Jun 7, 2026
Jul 6, 2026
Jul 13, 2026
Jul 16, 2026
Jul 18, 2026
Jul 18, 2026
Jul 20, 2026
May 30, 2026
Jul 2, 2026
Jul 11, 2026
Jun 2, 2026
Jul 16, 2026
Jul 16, 2026
Jul 19, 2026
Jul 19, 2026
Jul 18, 2026
Jul 16, 2026
Jul 17, 2026
Jul 17, 2026
Jul 3, 2026
Jul 9, 2026
Jul 18, 2026
May 29, 2026
Jul 16, 2026
Jul 9, 2026
Jul 9, 2026
Jul 18, 2026
May 29, 2026
Jul 18, 2026
Jul 18, 2026
Jul 9, 2026
Jul 14, 2026
May 25, 2026
Jul 19, 2026
Jul 19, 2026
Jul 9, 2026
Jul 16, 2026
Jul 14, 2026
Jul 19, 2026
Jul 18, 2026
Jul 9, 2026
Jul 19, 2026
May 14, 2026
Jul 18, 2026
Jul 18, 2026
Jul 19, 2026
Jul 5, 2026
Jul 14, 2026
Jul 13, 2026
Jul 14, 2026
Jul 11, 2026
Jul 2, 2026
May 11, 2026
Jul 15, 2026
Jul 15, 2026
Jun 4, 2026
Jul 10, 2026
May 31, 2026
Jul 19, 2026
Jul 11, 2026
May 22, 2026
May 27, 2026
Jul 11, 2026
Jul 19, 2026
May 27, 2026
Jul 11, 2026

Repository files navigation

HyprLarp

A Hyprland utility that transforms multiple Kitty terminal windows into a single synchronized video canvas.

HyprLarp automatically detects the layout of terminal windows on a workspace, calculates the visible region of each window, and renders only the appropriate portion of the video using the Kitty Graphics Protocol.


Preview

demo.mp4

How It Works

HyprLarp consist of producer and consumer.

The producer process is responsible for

  • Reading the video
  • Monitoring Hyprland events
  • Detecting terminal geometry
  • Computing viewport layouts

The resulting layout will be given to each consumer. Each consumer only renders the portion of the video visible inside its terminal window..


Requirements

Currently supported on

  • Arch Linux
  • Hyprland
  • Kitty Terminal

Dependencies include

  • FFmpeg
  • simdjson
  • Qt6
  • CMake

Instalation

AUR

yay -S hyprlarp

Build from source

git clone https://github.com/AmmarSyamil/HyprLarp.git


cd HyprLarp

mkdir build
d
cd build

cmake ..
make

sudo make installstall

Usage

Launch the configuration utility

Warning

Due to early development, higher resolution video might not reliably rendered correctly. Please use lower resolution video or the video.mp4 from this repos as an example.

HyprLarp -s # Or HyprLarp --setting

Main usage

HyprLarp

Start the producer manually

HyprLarp -p # Or HyprLarp --producer

Display help

HyprLarp -h # Or HyprLarp --help

Configuration

Configuration file is set by the configuration utility (-s flag).

~/.config/HyprLarp.json

Example

{
     "videoPath": "/home/user/Videos/demo.mp4",

      "cornerLocation": [
        [[0, 0],
        [[1920, 0],
        [[0, 1080],
        [[1920, 1080]
    ]
}
}

Limitations

Current limitations

  • Kitty terminal only
  • Hyprland only
  • Single-workspace rendering
  • Linux only
  • Only maintained for Arch based distros
  • Performance highly degrade on higher resolution videos (Recomend using small resolution videos for better result)

AI Usage

Artificial intelligence was used as a development assistant for

  • debugging difficult geometry calculations
  • discussing viewport algorithms
  • GUI prototyping (coloring and styling)
  • documentation improvements

All architectural decisions, implementation, testing, and final code were completed and reviewed manually.


License

MIT License