{"id":15114975,"url":"https://github.com/AngelJumbo/lavat","last_synced_at":"2025-09-27T19:31:17.632Z","repository":{"id":61574518,"uuid":"552626065","full_name":"AngelJumbo/lavat","owner":"AngelJumbo","description":"Lava lamp simulation using metaballs in the terminal ","archived":false,"fork":false,"pushed_at":"2024-01-25T03:53:32.000Z","size":21063,"stargazers_count":342,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-26T01:47:04.408Z","etag":null,"topics":["lavalamp","metaballs","ncurses","simulation"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AngelJumbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-17T01:03:39.000Z","updated_at":"2024-09-23T23:51:19.000Z","dependencies_parsed_at":"2023-02-09T19:55:12.423Z","dependency_job_id":"91a2a86f-2164-42b5-9029-748d26acca3e","html_url":"https://github.com/AngelJumbo/lavat","commit_stats":{"total_commits":58,"total_committers":4,"mean_commits":14.5,"dds":0.5,"last_synced_commit":"3e5a023ee801783443ebf13ccbda0ed7903b9fec"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelJumbo%2Flavat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelJumbo%2Flavat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelJumbo%2Flavat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelJumbo%2Flavat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AngelJumbo","download_url":"https://codeload.github.com/AngelJumbo/lavat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234453710,"owners_count":18835111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lavalamp","metaballs","ncurses","simulation"],"created_at":"2024-09-26T01:43:31.335Z","updated_at":"2025-09-27T19:31:17.620Z","avatar_url":"https://github.com/AngelJumbo.png","language":"C","funding_links":[],"categories":["Requirements","C"],"sub_categories":["Animated"],"readme":"# lavat\n\nLittle program that simulates a lava lamp in the terminal.\n![demo](https://github.com/AngelJumbo/demos/blob/main/lavat/3.gif?raw=true)\n## Installation\n\nRequirements: A Unix-like system, a C compiler and make.\n\n```\ngit clone https://github.com/AngelJumbo/lavat\ncd lavat\nsudo make install\n```\n\nThis program is also available from the following repositories:\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/lavat.svg)](https://repology.org/project/lavat/versions)\n\n\n## Usage\n\n```\nUsage: lavat [OPTIONS]\nOPTIONS:\n  -g                  Enable gradient mode with truecolor support.\n                      Changes how -c and -k options work.\n  -c \u003cCOLOR\u003e          Set color. In normal mode, available colors are: red, blue, yellow, green, cyan, magenta, white, and black.\n                      In gradient mode (-g), use hex format: RRGGBB (e.g., FF0000 for red).\n  -k \u003cCOLOR\u003e          Set the rim color. Same format options as -c.\n                      In gradient mode, this sets the second color for the gradient.\n  -s \u003cSPEED\u003e          Set the speed, from 1 to 10. (default 5)\n  -r \u003cRADIUS\u003e         Set the radius of the metaballs, from 1 to 10. (default: 5)\n  -R \u003cRIM\u003e            Set a rim for each metaball, sizes from 1 to 5.(default: none)\n                      This option does not work with the default color\n                      If you use Kitty or Alacritty you must use it with the -k option to see the rim.\n  -b \u003cNBALLS\u003e         Set the number of metaballs in the simulation, from 5 to 20. (default: 10)\n  -F \u003cCHARS\u003e          Allows for a custom set of chars to be used\n                      Only ascii symbols are supported for now, wide/unicode chars may appear broken.\n  -C                  Retain the entire lava inside the terminal.\n                      It may not work well with a lot of balls or with a bigger radius than the default one.\n  -p \u003cMODE\u003e           PARTY!! THREE MODES AVAILABLE (p1, p2 and p3).\n  -h                  Print help.\nRUNTIME CONTROLS:\n  i                   Increase radius of the metaballs.\n  d                   Decrease radius of the metaballs.\n  shift i             Increase rim of the metaballs.\n  shift d             Decrease rim of the metaballs.\n  m                   Increase the number of metaballs.\n  l                   Decrease the number metaballs.\n  c                   Change the color of the metaballs.\n  k                   Change the rim color of the metaballs.\n  +                   Increase speed.\n  -                   Decrease speed.\n  p                   TURN ON THE PARTY AND CYCLE THROUGH THE PARTY MODES (it can also turns off the party).\n(Tip: Zoom out in your terminal before running the program to get a better resolution of the lava).\nEXAMPLES:\n  lavat -c green -k red        Use named colors in normal mode\n  lavat -g -c 00FF00 -k FF0000 Use hex colors in gradient mode\n```\n\n## Demo\n\n`lavat -p3`\n\n![demo 1](https://github.com/AngelJumbo/demos/blob/main/lavat/6.gif?raw=true)\n\nPARTY MODE!!!\n\n`lavat -c red -R 1`\n\n![demo 1](https://github.com/AngelJumbo/demos/blob/main/lavat/1.gif?raw=true)\n\n\n`lavat -c cyan -R 4 -b 20 -r 2`\n\n![demo 2](https://github.com/AngelJumbo/demos/blob/main/lavat/2.gif?raw=true)\n\nIf you send more than one character to the -F option you can have 3d-ish effect.\n\n`lavat -c blue -R2 -F @@:::::: -r10`\n\n![demo 2](https://github.com/AngelJumbo/demos/blob/main/lavat/4.gif?raw=true)\n\nFor the Alacritty and Kitty users I know that the -R option haven't been working for you, but now you can set the color of the rim independently. Try:\n\n`lavat -c yellow -R1 -k red`\n\n![demo 2](https://github.com/AngelJumbo/demos/blob/main/lavat/5.gif?raw=true)\n\n(The colors depend on your color scheme.)\n\n## Credits\n\n  - This program is made with [Termbox2](https://github.com/termbox/termbox2).\n  - [Lava lamp in JavaScript](https://codeguppy.com/site/tutorials/lava-lamp.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAngelJumbo%2Flavat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAngelJumbo%2Flavat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAngelJumbo%2Flavat/lists"}