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.
demo.mp4
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..
Currently supported on
- Arch Linux
- Hyprland
- Kitty Terminal
Dependencies include
- FFmpeg
- simdjson
- Qt6
- CMake
yay -S hyprlarpgit clone https://github.com/AmmarSyamil/HyprLarp.git
cd HyprLarp
mkdir build
d
cd build
cmake ..
make
sudo make installstallLaunch 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 --settingMain usage
HyprLarpStart the producer manually
HyprLarp -p # Or HyprLarp --producerDisplay help
HyprLarp -h # Or HyprLarp --helpConfiguration 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]
]
}
}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)
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.
MIT License