{"id":20950474,"url":"https://github.com/colleagueriley/screenshot-tool","last_synced_at":"2025-08-24T09:15:18.753Z","repository":{"id":181474220,"uuid":"666616120","full_name":"ColleagueRiley/Screenshot-Tool","owner":"ColleagueRiley","description":"Simple super lightweight screenshot tool with GUI written in pure C. (Based on XFCE's screenshoter) [WIP]","archived":false,"fork":false,"pushed_at":"2023-08-06T17:18:09.000Z","size":396,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T22:41:08.529Z","etag":null,"topics":["c","fonsstash","lightweight","pure-c","rgfw","rlgl","screenshot","screenshot-tool","screenshot-utility","sili","stb","x11","xlib","xss"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ColleagueRiley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-07-15T02:29:37.000Z","updated_at":"2024-01-11T12:16:50.000Z","dependencies_parsed_at":"2025-01-19T22:36:09.425Z","dependency_job_id":"14e63b2a-2a88-46c2-8aaf-c0a913be3c50","html_url":"https://github.com/ColleagueRiley/Screenshot-Tool","commit_stats":null,"previous_names":["colleagueriley/screenshot-tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColleagueRiley%2FScreenshot-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColleagueRiley%2FScreenshot-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColleagueRiley%2FScreenshot-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ColleagueRiley%2FScreenshot-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ColleagueRiley","download_url":"https://codeload.github.com/ColleagueRiley/Screenshot-Tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243345904,"owners_count":20275913,"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":["c","fonsstash","lightweight","pure-c","rgfw","rlgl","screenshot","screenshot-tool","screenshot-utility","sili","stb","x11","xlib","xss"],"created_at":"2024-11-19T00:48:45.713Z","updated_at":"2025-03-13T05:18:44.535Z","avatar_url":"https://github.com/ColleagueRiley.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Super-Lightweight-Screenshot-Tool\n![alt text](https://github.com/ColleagueRiley/screenshot-tool/blob/main/logo.png?raw=true)\n![alt text](https://github.com/ColleagueRiley/screenshot-tool/blob/main/Screenshot.png?raw=true)\n\n![workflow](https://github.com/ColleagueRiley/Screenshot-Tool/actions/workflows/linux.yml/badge.svg)\n\nJust as the name implies, it is a **SUPER** lightweight screenshot tool.\nNot only is the code itself lightweight, but the libraries it relies on are lightweight too!\n\nThey're so lightweight infact, that they're all included in this project\n\n# Dependencies\nOther than the single header files, the screenshot tool requires you to have some native libraries installed.\n\nMost of these libraries should already be installed on your system.\n\nThese include, libGL (opengl), libX11 (xlib) and libGLX (glX).\n\nIf you do not have any one of these installed, your package manager will have some package for it.\n\n# fonts \nBy default the program chooses the first font it can find from this list,\n\n```\nDejaVuSans.ttf\nLiberationSans-Regular.ttf\nDroidSans.ttf\nRoboto-Regular.ttf\nUbuntu-Regular.ttf\nNotoSans-Regular.ttf\nNotoSansNerdFontPropo-Regular.ttf\n```\n\nin paths, ./, ~/.fonts and /usr/share/fonts/TTF\n\n\nThre's a decent chance one of these fonts is already be installed on your system .\n\n## However, if you do not have any of these fonts installed you can either\n\nA) Install a font package that includes one of these fonts\n\nB) Find [a legal copy of] one of the fonts somewhere on the internet and manually install it\n\nC) Edit the array in `include/fonts.h` to include a font you do have installed and [re]compile\n\nIf a font is not found, the program will crash it print the error\n\n\"No font file found\"\n\n# Icon / logo.png\nIf the icon file is not found at ./logo.png, the program checks if the icon file is at\n/usr/share/icons/r-screenshot-tool/logo.png\n\nrunning `sudo make install` automatically copies `logo.png` to `/usr/share/icons/r-screenshot-tool/logo.png` and `screenshot-tool` to `/usr/bin`\n\nIf the icon file is not found, the program prints the warning \"Warning : logo.png not found\"\n\nOtherwise the program runs as normal, just without an icon.\n\n# Documentation\n### toggle  \n`-e` :   Capture entire screen [on by default]\\  \n`-a` :   Capture active window\\\n`-s` :   Capture selected region\\\n`-c` :   Capture cursor [on by default]\\\n`-b` :   Capture border [on by default]\n\n### other   \n`-d` :   Delay [seconds]\\\n`-l` :   Light mode\\\n`-n` :   Screenshot now [no gui]\\\n`-N` :   Skip preview window\\\n`-C` :   Set color to [hex code] (eg. -C F60033)\\\n`-o` :   Where to put the file [directory/path], defaults to `./` if nothing is added\\ \n`-h` :   Display this information\n\n# Credits\n\n# Sili\n[Sili](https://github.com/EimaMei/sili-toolchain) is a single-header-file C toolchain library that aims at modernizing C without becoming bloatware nor infringing on C's elegance\\\nWritten by [EimaMei](https://github.com/EimaMei)\n\n# Stb\n[Stb](https://github.com/nothings/stb/) is a very popular collection of single-header files. They're very lightweight, portable and convienet to use.\n\nIn this project I use `stb_image` `stb_truetype` and `stb_image_write`\n\n# RLGL\n[RLGL](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) is a single header file OpenGL Abstaction layer\\\nIt does version abstaction and allows modern OpenGL rendering to be done using the old pipeline system\n\nIt's made as a backend for [raylib](https://github.com/raysan5/raylib/) but can also be used as a standalone single-header-file!\n\n# Fontstash\n[Fontstash](https://github.com/memononen/fontstash) is an abstaction layer over `stb_truetype` that makes font rendering a lot easier. \n\nFontstash itself doesn't render anything but instead requires a seperate graphics backend. \n\nFor the backend, I use `rlglfontstash` which is my edited version of `glfontstash.h` to support rlgl.\n\nFontstash is written by [memononen](https://github.com/memononen), however the version I use\\\nhas been slightly edited and optimized by me.\n\n# RGFW\n[RGFW](https://github.com/ColleagueRiley/RGFW) is a simple lightweight single-header abstaction layer over X11, WinAPI and Silicon created by me[!].\\\nIt's meant to be an single-header and lightweight alternative for GLFW which uses an event queue rather than callbacks inorder to make it easier to work with.\n\nIt's mainly meant for creating GUI Libraries or simple GUI applications. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolleagueriley%2Fscreenshot-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolleagueriley%2Fscreenshot-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolleagueriley%2Fscreenshot-tool/lists"}