A libadwaita app for viewing GitHub PRs.
  • C 95.9%
  • Makefile 4.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-28 23:38:44 +01:00
images add screenshot to readme 2026-09-25 17:12:56 +01:00
vendor/yyjson initial commit 2026-09-20 16:05:40 +01:00
.clangd initial commit 2026-09-20 16:05:40 +01:00
.gitignore tidy up and remove unused files 2026-09-28 16:34:34 +01:00
alignment.c tidy up and remove unused files 2026-09-28 16:34:34 +01:00
alignment.h tidy up and remove unused files 2026-09-28 16:34:34 +01:00
base.h initial commit 2026-09-20 16:05:40 +01:00
config.c config parsing improvements 2026-09-22 21:27:57 +01:00
config.h use more reasonable limits 2026-09-28 16:32:31 +01:00
LICENSE Create LICENSE 2026-09-25 22:50:43 +01:00
main.c formatting changes on main.c 2026-09-28 23:37:31 +01:00
Makefile tidy up and remove unused files 2026-09-28 16:34:34 +01:00
prs.c add is_draft status and styling 2026-09-23 11:19:05 +01:00
prs.h add is_draft status and styling 2026-09-23 11:19:05 +01:00
pull_request_card.c add is_draft status and styling 2026-09-23 11:19:05 +01:00
pull_request_card.h add is_draft status and styling 2026-09-23 11:19:05 +01:00
pull_request_card.ui extract card GUI into a .ui file 2026-09-22 14:28:41 +01:00
README.md remove redundant comment on dead code from README 2026-09-28 23:38:44 +01:00
static_arena.c finish PR fetching impl 2026-09-21 02:07:18 +01:00
static_arena.h finish PR fetching impl 2026-09-21 02:07:18 +01:00
string_view.c config parsing improvements 2026-09-22 21:27:57 +01:00
string_view.h initial commit 2026-09-20 16:05:40 +01:00
TODO.txt add is_draft status and styling 2026-09-23 11:19:05 +01:00

 _______ ______ ___ ___ __                 
|   |   |   __ \   |   |__|.-----.--.--.--.
|       |      <   |   |  ||  -__|  |  |  |
|__|_|__|___|__|\_____/|__||_____|________|

MRView App Screenshot

A simple libadwaita app for viewing PRs across GitHub repositories. List one
owner/repo per line in ~/.config/mrview/config, then select a repository in the
sidebar.

The config is just a text file. You'll need to make the ~/.config/mrview
directory and the config file yourself. Something like this:

    myname/myrepo
    someoneelse/anotherrepo

Blank lines are ignored, but there's no syntax for comments, and I don't trim
spaces from the lines. Each entry should be exactly owner/repo. I read the file
when the app starts, so restart it after changing the list. There's room for up
to 256 repositories in a 64KB config file. If the file is missing or can't be
read, the app prints an error to stderr and shows no repositories.

I let libadwaita/gtk4 do it's own thing for memory management, but the model is
completely statically allocated via .bss with explicit limits set, hopefully
fairly reasonable limits. The PR arenas share a 16MB storage pool.