{"id":17685420,"url":"https://github.com/xortroll/plutonium","last_synced_at":"2025-05-16T11:05:27.383Z","repository":{"id":33657719,"uuid":"141478789","full_name":"XorTroll/Plutonium","owner":"XorTroll","description":"Easy-to-use, SDL2-based UI framework for Nintendo Switch homebrew","archived":false,"fork":false,"pushed_at":"2025-04-08T21:10:13.000Z","size":5483,"stargazers_count":281,"open_issues_count":6,"forks_count":41,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-12T23:29:49.508Z","etag":null,"topics":["gui","homebrew","horizon","libnx","sdl2","switch","ui"],"latest_commit_sha":null,"homepage":"https://xortroll.github.io/Plutonium/","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/XorTroll.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"patreon":"xortroll"}},"created_at":"2018-07-18T19:09:27.000Z","updated_at":"2025-04-08T22:30:51.000Z","dependencies_parsed_at":"2022-08-07T22:16:51.467Z","dependency_job_id":"e4ee480a-54d7-410b-9da3-4b69beefddc0","html_url":"https://github.com/XorTroll/Plutonium","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XorTroll%2FPlutonium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XorTroll%2FPlutonium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XorTroll%2FPlutonium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XorTroll%2FPlutonium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XorTroll","download_url":"https://codeload.github.com/XorTroll/Plutonium/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518384,"owners_count":22084374,"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":["gui","homebrew","horizon","libnx","sdl2","switch","ui"],"created_at":"2024-10-24T10:27:42.012Z","updated_at":"2025-05-16T11:05:22.367Z","avatar_url":"https://github.com/XorTroll.png","language":"C++","funding_links":["https://patreon.com/xortroll"],"categories":[],"sub_categories":[],"readme":"# Plutonium \n\n\u003e Easy-to-use, SDL2-based UI framework for Nintendo Switch homebrew\n\n## What is Plutonium?\n\nPlutonium is a high-level, C++ graphics library with the aim of making Nintendo Switch homebrew UIs in a more user-firendly way.\n\nIt uses libnx and SDL2, so both libraries are required. To be more exact, this libraries should be installed via pacman:\n\n```\nswitch-sdl2 switch-sdl2_ttf switch-sdl2_image switch-sdl2_gfx switch-sdl2_mixer switch-mesa switch-glad switch-glm switch-libdrm_nouveau switch-libwebp switch-libpng switch-freetype switch-bzip2 switch-libjpeg-turbo switch-opusfile switch-libopus\n```\n\nPlutonium internally uses SDL2 for UI rendering.\n\nPlutonium's API is somewhat based on WPF/WinForms's system. The dev doesn't have to interact with the rendering (unless you want to), as it's done via a main rendering system and different objects to render.\n\n## Using this libraries\n\nSimply download/fork this repository ;)\n\nCheck the [basic example](example) for a basic usage of the libraries. In case you want to see a really powerful app which really shows what Plutonium is capable of, take a look at [Goldleaf](https://github.com/XorTroll/Goldleaf), [uLaunch](https://github.com/XorTroll/uLaunch) or many other homebrew apps made using this libraries.\n\nCheck the [documentation](https://XorTroll.github.io/Plutonium/) for a more detailed explanation of the library's usage.\n\n### Simple project layout\n\nThis is how a regular Plutonium project would (more or less) have its Makefile and project layout using Plutonium:\n\n- Makefile\n\n```Makefile\n...\n\nLIBS := -lpu -lfreetype -lSDL2_mixer -lopusfile -lopus -lmodplug -lmpg123 -lvorbisidec -logg -lSDL2_ttf -lSDL2_gfx -lSDL2_image -lSDL2 -lEGL -lGLESv2 -lglapi -ldrm_nouveau -lwebp -lpng -ljpeg `sdl2-config --libs` `freetype-config --libs` -lnx\nLIBDIRS := $(PORTLIBS) $(LIBNX) $(CURDIR)/Plutonium\n\n...\n```\n\n- Project directory\n\n```txt\nProject\n |\n |-- Makefile\n |-- source\n |-- include\n |-- Plutonium\n      |\n      |-- include\n      |-- lib\n```\n\n## Building\n\nClone the repository, cd into `Plutonium` directory and run `make`.\n\nYou will need devkitPro, libnx and all the libraries mentioned above (installed via pacman).\n\n## Support\n\nIf you would like to be more informed about my projects' status and support, you should check [my Discord server](https://discord.gg/3KpFyaH). It's a simple server for Nintendo homebrew and hacking stuff, focused on my projects.\n\nIf you like my work, you should take a look at my [Patreon](https://patreon.com/xortroll) page!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxortroll%2Fplutonium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxortroll%2Fplutonium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxortroll%2Fplutonium/lists"}