{"id":13485532,"url":"https://github.com/mabe02/lanterna","last_synced_at":"2025-04-23T20:55:15.210Z","repository":{"id":34313244,"uuid":"38230607","full_name":"mabe02/lanterna","owner":"mabe02","description":"Java library for creating text-based GUIs","archived":false,"fork":false,"pushed_at":"2025-03-22T13:41:24.000Z","size":12980,"stargazers_count":2386,"open_issues_count":86,"forks_count":258,"subscribers_count":66,"default_branch":"master","last_synced_at":"2025-04-09T17:16:27.683Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mabe02.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License.txt","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":"2015-06-29T06:06:29.000Z","updated_at":"2025-04-08T17:13:31.000Z","dependencies_parsed_at":"2024-01-03T01:20:41.175Z","dependency_job_id":"31293485-a1d8-48a1-a8d4-d8ec388cc3cd","html_url":"https://github.com/mabe02/lanterna","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabe02%2Flanterna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabe02%2Flanterna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabe02%2Flanterna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabe02%2Flanterna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mabe02","download_url":"https://codeload.github.com/mabe02/lanterna/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248074920,"owners_count":21043490,"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-07-31T18:00:25.237Z","updated_at":"2025-04-09T17:16:33.776Z","avatar_url":"https://github.com/mabe02.png","language":"Java","readme":"Lanterna\n---\n\n![Lanterna screenshot](http://mabe02.github.io/lanterna/resources/lanterna.png)\n\nLanterna is a Java library allowing you to write easy semi-graphical user interfaces in a text-only environment,\nvery similar to the C library [curses](http://en.wikipedia.org/wiki/Curses_(programming_library)) but with more functionality.\nLanterna is supporting xterm compatible terminals and terminal emulators such as konsole, gnome-terminal, putty, xterm and many more.\nOne of the main benefits of lanterna is that it's not dependent on any native library but runs 100% in pure Java.\n\nAlso, when running Lanterna on computers with a graphical environment (such as Windows or Xorg), a bundled terminal emulator\nwritten in Swing will be used rather than standard output. This way, you can develop as usual from your IDE\n(most of them doesn't support ANSI control characters in their output window) and then deploy to your headless server without changing any code.\n\nLanterna is structured into three layers, each built on top of the other and you can easily choose which one fits your needs best.\n\n1. The first is a low level terminal interface which gives you the most basic control of the terminal text area.\n   You can move around the cursor and enable special modifiers for characters put to the screen. You will find these classes in package com.googlecode.lanterna.terminal.\n\n2. The second level is a full screen buffer, the whole text screen in memory and allowing you to write to this before flushing the changes to the actual terminal.\n   This makes writing to the terminal screen similar to modifying a bitmap. You will find these classes in package com.googlecode.lanterna.screen.\n\n3. The third level is a full GUI toolkit with windows, buttons, labels and some other components.\n   It's using a very simple window management system (basically all windows are modal) that is quick and easy to use.\n   You will find these classes in package com.googlecode.lanterna.gui2.\n\n\nMaven\n---\n\nLanterna is available on [Maven Central](http://search.maven.org/), through [Sonatype OSS hosting](http://oss.sonatype.org/). Here's what you want to use:\n\n```xml\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.googlecode.lanterna\u003c/groupId\u003e\n        \u003cartifactId\u003elanterna\u003c/artifactId\u003e\n        \u003cversion\u003e3.1.2\u003c/version\u003e\n    \u003c/dependency\u003e\n```\n\nDiscussions\n---\nThere is a [google group](https://groups.google.com/forum/#!forum/lanterna-discuss) for discussions and announcements related to Lanterna.\nYou are recommended to raise issues directly on Github though.\n\n\nProjects using Lanterna\n---\nIncomplete list of projects using Lanterna, feel free to let us know something we can add to this list:\n * https://github.com/MultiMUD/clojure-lanterna\n * https://github.com/datacron/project-lanterminal\n * https://github.com/gabrieljones/ScaLaMatrixRain\n\n\nDevelopment Guide\n---\nSee [docs](docs/contents.md) for examples and guides.\n\nJavaDoc is available here:\n * http://mabe02.github.io/lanterna/apidocs/3.1/\n\nThe JavaDocs for the previous versions (2.1 and 3.0) are also available here:\n* http://mabe02.github.io/lanterna/apidocs/2.1/\n* http://mabe02.github.io/lanterna/apidocs/3.0/\n\nThere is also a development guide and some tutorials available [right here on Github](https://github.com/mabe02/lanterna/blob/master/docs/contents.md).\n","funding_links":[],"categories":["Projects","Java","Java ☕","Table of Contents","项目","Miscellaneous"],"sub_categories":["CLI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabe02%2Flanterna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabe02%2Flanterna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabe02%2Flanterna/lists"}