{"id":13730922,"url":"https://github.com/aaronmjacobs/Boxer","last_synced_at":"2025-05-08T03:32:20.143Z","repository":{"id":24702978,"uuid":"28114439","full_name":"aaronmjacobs/Boxer","owner":"aaronmjacobs","description":"Boxer is a simple library that allows for easy cross-platform creation of message boxes / alerts / what have you.","archived":false,"fork":false,"pushed_at":"2023-09-25T06:49:12.000Z","size":46,"stargazers_count":151,"open_issues_count":0,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-04T02:09:52.225Z","etag":null,"topics":[],"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/aaronmjacobs.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":"2014-12-17T01:00:36.000Z","updated_at":"2024-07-30T14:52:14.000Z","dependencies_parsed_at":"2023-09-25T09:32:09.737Z","dependency_job_id":null,"html_url":"https://github.com/aaronmjacobs/Boxer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmjacobs%2FBoxer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmjacobs%2FBoxer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmjacobs%2FBoxer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmjacobs%2FBoxer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronmjacobs","download_url":"https://codeload.github.com/aaronmjacobs/Boxer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224695826,"owners_count":17354490,"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":[],"created_at":"2024-08-03T02:01:21.458Z","updated_at":"2024-11-14T21:31:54.728Z","avatar_url":"https://github.com/aaronmjacobs.png","language":"C++","readme":"# Boxer 🥊\n\n## Introduction\n\nBoxer is a simple library that allows for easy cross-platform creation of message boxes / alerts / what have you.\n\n## Example\n\nmacOS:\n\n![macOS](https://user-images.githubusercontent.com/1409522/213894782-72c37b24-bdb3-4b29-a847-cbff7748b1fe.png)\n\nWindows:\n\n![Windows](https://user-images.githubusercontent.com/1409522/213894790-55cf2be8-bcc0-4867-95e0-7741993f07eb.png)\n\nLinux:\n\n![Linux](https://user-images.githubusercontent.com/1409522/213894798-1bb1c279-5190-4108-b49c-08a28c7dfc29.png)\n\n## Language\n\nBoxer is written in C++, though it has a C branch available as well.\n\n## Compiling Boxer\n\nBoxer is set up to be built with CMake.\n\nTo generate a static library, execute CMake with the root of the repo as the source directory. Additionally, the example program can be built by enabling the BOXER_BUILD_EXAMPLES option.\n\nOn Linux, Boxer requires the gtk+-3.0 package.\n\n## Including Boxer\n\nWherever you want to use Boxer, just include the header:\n\n```c++\n#include \u003cboxer/boxer.h\u003e\n```\n\n## Linking Against Boxer\n\n### Static\n\nIf Boxer was built statically, just link against the generated static library.\n\n### CMake\n\nTo compile Boxer along with another application using CMake, first add the Boxer subdirectory:\n\n```cmake\nadd_subdirectory(\"path/to/Boxer\")\n```\n\nThen link against the Boxer library:\n\n```cmake\ntarget_link_libraries(\u003ctarget\u003e \u003cINTERFACE|PUBLIC|PRIVATE\u003e Boxer)\n```\n\n## Using Boxer\n\nTo create a message box using Boxer, call the 'show' method in the 'boxer' namespace and provide a message and title:\n\n```c++\nboxer::show(\"Simple message boxes are very easy to create.\", \"Simple Example\");\n```\n\nA style / set of buttons may also be specified, and the user's selection can be determined from the function's return value:\n\n```c++\nboxer::Selection sel = boxer::show(\"Make a choice:\", \"Decision\", boxer::Style::Warning, boxer::Buttons::YesNo);\n```\n\nCalls to 'show' are blocking - execution of your program will not continue until the user dismisses the message box.\n\n### Encoding\n\nBoxer accepts strings encoded in UTF-8:\n\n```c++\nboxer::show(u8\"Boxer accepts UTF-8 strings. 💯\", u8\"Unicode 👍\");\n```\n\nOn Windows, `UNICODE` needs to be defined when compiling Boxer to enable UTF-8 support:\n\n```cmake\nif (WIN32)\n   target_compile_definitions(Boxer PRIVATE UNICODE)\nendif (WIN32)\n```\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronmjacobs%2FBoxer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronmjacobs%2FBoxer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronmjacobs%2FBoxer/lists"}