{"id":17800900,"url":"https://github.com/refi64/uterm","last_synced_at":"2026-03-06T04:03:50.379Z","repository":{"id":69429360,"uuid":"112141136","full_name":"refi64/uterm","owner":"refi64","description":"A WIP terminal emulator, written in C++11 using Skia, libtsm, and GLFW","archived":false,"fork":false,"pushed_at":"2019-04-24T01:54:48.000Z","size":185,"stargazers_count":24,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-03T00:33:00.142Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/refi64.png","metadata":{"files":{"readme":"README.rst","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,"roadmap":null,"authors":null}},"created_at":"2017-11-27T03:10:45.000Z","updated_at":"2024-06-18T11:28:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"294c112b-fdde-46dc-8236-a38cb9b39b71","html_url":"https://github.com/refi64/uterm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/refi64/uterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refi64%2Futerm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refi64%2Futerm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refi64%2Futerm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refi64%2Futerm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/refi64","download_url":"https://codeload.github.com/refi64/uterm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refi64%2Futerm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30161345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"online","status_checked_at":"2026-03-06T02:00:08.268Z","response_time":250,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10-27T12:32:31.338Z","updated_at":"2026-03-06T04:03:50.315Z","avatar_url":"https://github.com/refi64.png","language":"C++","funding_links":[],"categories":["Packages"],"sub_categories":["Terminals"],"readme":"uterm\n=====\n\nuterm is a WIP terminal emulator, written in C++11 using Skia, libtsm, and GLFW.\n\nSupported platforms\n*******************\n\nCurrently uterm has only been tested on Linux, though it should also work on OSX. It\n*may* also work on BSD; anyone willing to test it should be able to just edit\n``fbuildroot.py`` to change all instances of ``{'linux'}`` to ``{'linux', 'bsd'}``.\n\nDownloading\n***********\n\nAppImages are available `here \u003chttps://upspin.refi64.com/nightly@refi64.com/uterm\u003e`_. If\nyou want to build it yourself, read on.\n\nDependencies\n************\n\n- GLFW.\n- OpenGL and EGL. These should come by default with your Linux mesa installation.\n- Freetype2 and Fontconfig.\n\nBuilding\n********\n\nYou need `Fbuild \u003chttps://github.com/felix-lang/fbuild\u003e`_ version 0.3 RC 2 or greater.\n(Just using the *master* branch should be good enough.) Run::\n\n  $ fbuild\n\nto do a full build. If you want to do a release build, instead use::\n\n  $ fbuild --release\n\nNote that the initial build will take quite a while, as it will be building the entire\nSkia library, which is pretty huge.\n\nIf you're concerned about size, a debug build is 73MB, and a release build is only 6MB\n(largely thanks to LTO).\n\nConfiguration\n*************\n\nConfiguration is done using `libConfuse \u003chttps://github.com/martinh/libconfuse\u003e`_.\nHere's an example config file (stored in ``$HOME/.config/uterm/uterm.conf``)\n\n.. code-block:: c\n\n  // C-style comments are supported\n\n  // ***VERTICAL SYNC***\n  // By default, uterm uses adaptive vsync, which is given via a vsync value of -1. If you\n  // experience input lag, try setting it to 0. On the other hand, if you experience screen\n  // tearing, you can try setting it to 1, but it might cause input delays. -1 should make\n  // sure input is snappy while still avoiding tearing.\n  vsync = -1\n\n  // ***FONTS**\n\n  // Set the default font size.\n  font-defaults {\n    size = 16\n  }\n\n  // By default uterm uses the system monospace font. Any fonts appearing here will\n  // take priority in the order that they are specified in this file.\n\n  // These can specify a size too if you want; it'll look just like above.\n\n  // In this example, Roboto Mono is the #1 font. If any characters aren't available\n  // in Roboto Mono, it'll fall back to Hack. After that, it will fall back to the system\n  // monospace font.\n  font \"Roboto Mono\" {}\n  font Hack {}\n\n  // ***THEMING***\n\n  theme test {\n    // You can use 0xRRGGBB style\n    red = 0xFF0000\n    // or 0xRRGGBBAA style\n    background = 0xFFFFFFAA\n\n    // Supported colors: black, red, green, yellow, blue, magenta, cyan, white\n    // Prefix a color with bright_ (e.g. red_bright) to set the \"bright\" version of the color.\n    // You can also set the default foreground and background color:\n\n    foreground = 0x000000\n\n    // If any of the mentioned colors are ommitted, they will use the versions from the default\n    // theme.\n  }\n\n  // You can define multiple themes in this file. To switch between them, use current-theme:\n  current-theme = test\n\n  // If you omit it to set it to an empty string (\"\"), the default theme will be used.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefi64%2Futerm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frefi64%2Futerm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefi64%2Futerm/lists"}