{"id":15968554,"url":"https://github.com/smokku/tgt","last_synced_at":"2026-04-13T21:04:43.772Z","repository":{"id":149345858,"uuid":"128520453","full_name":"smokku/tgt","owner":"smokku","description":"TGT (TextmodeGUIToolkit) is an object-oriented library, written in C, for creating user interfaces under Linux console","archived":false,"fork":false,"pushed_at":"2018-04-07T11:06:59.000Z","size":326,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T09:53:30.167Z","etag":null,"topics":["gui","library","linux","ncurses","termcap","terminal","text-mode-gui","toolkit"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smokku.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-07T11:06:39.000Z","updated_at":"2022-05-23T19:04:33.000Z","dependencies_parsed_at":"2023-07-17T13:02:54.696Z","dependency_job_id":null,"html_url":"https://github.com/smokku/tgt","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/smokku%2Ftgt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Ftgt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Ftgt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Ftgt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smokku","download_url":"https://codeload.github.com/smokku/tgt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247192256,"owners_count":20899058,"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":["gui","library","linux","ncurses","termcap","terminal","text-mode-gui","toolkit"],"created_at":"2024-10-07T19:02:23.662Z","updated_at":"2026-04-13T21:04:43.725Z","avatar_url":"https://github.com/smokku.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n0. DOCUMENTATION FILES CONTAINED IN TGT AT THE MOMENT\n README           - this file\n INSTALL          - a fragment of this file containing installation instructions\n COMMON_PROBLEMS  - a file describing how to manage with several problems that\n                    may occur while trying to use TGT; please read this before\n\t\t    mailing us if you think something does not work properly\n\t\t    in TGT\n\n\n\n doc/en/reference - reference manual of TGT functions and classes for\n                    programmers\n doc/en/CONCEPTS  - an introduction to tgt programming, incomplete\n doc/en/WHYNOTC++\n doc/en/LOOKUP-TABLES - documents that may help to understand the source code\n                    of TGT\t\t    \n \n doc/pl           - obsolete, do not read :)\n \n\n1. WHAT IS TGT\n\nTGT (TextmodeGUIToolkit) is a (mainly) object-oriented library, written in C,\nfor creating user interfaces under Linux console. It's designed as an\nalternative for ncurses - however it does not use its philosophy - in TGT\nmodel, not only all terminal functions but also all GUI management things are\ndone by TGT, thus giving the developer a chance to concentrate on more\nimportant things in his program than user interface; of course it is done at the\ncost of flexibility ...\n\nSome TGT concepts are taken from AmigaOS and MUI (Magic User Interface) for\nAmigaOS.\n\nCurrently, the thing we are worrying mostly about is that TGT can not be\nused in programs that intend to be portable.\n\nWe plan a total rewrite of tgt mechanisms soon. Any concepts and suggestions are welcome.\n\n\n2. REQUIREMENTS\n\n- libdl - shipped with many linux distributions\n- LinuxThreads pthread library - as above\n\n- libutil - also comes with many distributions \n- libgpm - comes with GPM mouse server\n\nThere are mechanisms implemented in TGT that allow it to work fine without\nlibutil and libgpm when they're not available - some magic configuration\nscripts will probably appear in next versions.\n\n- libtermcap - It's not compulsory - actually tgt will manage without it \n            (or with termcap linked to ncurses) - however that kind of\n\t    situation will require some tuning in rcfiles, unless your\n\t    terminal is a standard linux one\n\n3. INSTALLATION\n\n./configure\nmake\nmake install\nldconfig\n\nor\n\n./configure\nmake\nexport LD_LIBRARY_PATH=`pwd`\n\n(in bash)\n\n4. TESTS\n\nIf you are new to TGT you can try running files from tests/ subdirectory\nin order to get familar with controls, mouse support, etc.\nIf You use dynamically loaded classes, make sure TGT is able to\nfind them (as for the moment, this means you have to copy fbpic.class\ninto one of your libdirs (or use a cheap trick with LD_LIBRARY_PATH)\nif you want to see how tests/fb works)\n\n5. INPUT DEVICES\n\nDefault key mappings:\n\nUp\nLeft       Switch to the previous object in a window\n\nTab\nDown\nRight      Switch to the next object in a window\n\n`          Switch windows\n\nCtrl W     Enter/left window moving mode - when it's turned on, cursor\n           keys will let you reposition your windows.\nEnter/\nSpace      Perform an action on current object\n\nEsc\nDelete\nBackspace  Part menu\n\nTry the mouse support yourself ... ;)\n\n6. PROGRAMMER'S VIEW\n\nIf you want to know more about TGT because you want to use TGT routines\nin your applications - see examples/ directory. I personally think that\nwriting any documentation for developers is boring, both for the reader\nand the writer (maybe someone will write a kind of tutorial in the future,\nbut don't count on me - I'm too lazy) - it's really easier to write and\nto understand an example. Also - check doc/en/CONCEPTS and doc/en/reference \n\n7. DEVELOPERS WANTED\n\nIf you think you can help developing TGT (especially - if you can make it\nrun on 64bit machines (erm, I don't even know if it works - \nI don't have any access to such computers =/) or you can make it run\nunder other systems than linux); or you are able to write new documentation,\n(and of course correct our english in the old documents ;) -\nplease let me know (just mailto mtg@elsat.net.pl)\n\n\n---\n______________________________________________________________________\nvlsi \u003cmtg@elsat.net.pl\u003e                                 Mateusz Golicz\n* Only a fool expects rational behavior from his fellow humans. Why *\n*   do you expect it from a machine that humans have constructed?   *\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Ftgt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmokku%2Ftgt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Ftgt/lists"}