-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
129 lines (91 loc) · 4.19 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
0. DOCUMENTATION FILES CONTAINED IN TGT AT THE MOMENT
README - this file
INSTALL - a fragment of this file containing installation instructions
COMMON_PROBLEMS - a file describing how to manage with several problems that
may occur while trying to use TGT; please read this before
mailing us if you think something does not work properly
in TGT
doc/en/reference - reference manual of TGT functions and classes for
programmers
doc/en/CONCEPTS - an introduction to tgt programming, incomplete
doc/en/WHYNOTC++
doc/en/LOOKUP-TABLES - documents that may help to understand the source code
of TGT
doc/pl - obsolete, do not read :)
1. WHAT IS TGT
TGT (TextmodeGUIToolkit) is a (mainly) object-oriented library, written in C,
for creating user interfaces under Linux console. It's designed as an
alternative for ncurses - however it does not use its philosophy - in TGT
model, not only all terminal functions but also all GUI management things are
done by TGT, thus giving the developer a chance to concentrate on more
important things in his program than user interface; of course it is done at the
cost of flexibility ...
Some TGT concepts are taken from AmigaOS and MUI (Magic User Interface) for
AmigaOS.
Currently, the thing we are worrying mostly about is that TGT can not be
used in programs that intend to be portable.
We plan a total rewrite of tgt mechanisms soon. Any concepts and suggestions are welcome.
2. REQUIREMENTS
- libdl - shipped with many linux distributions
- LinuxThreads pthread library - as above
- libutil - also comes with many distributions
- libgpm - comes with GPM mouse server
There are mechanisms implemented in TGT that allow it to work fine without
libutil and libgpm when they're not available - some magic configuration
scripts will probably appear in next versions.
- libtermcap - It's not compulsory - actually tgt will manage without it
(or with termcap linked to ncurses) - however that kind of
situation will require some tuning in rcfiles, unless your
terminal is a standard linux one
3. INSTALLATION
./configure
make
make install
ldconfig
or
./configure
make
export LD_LIBRARY_PATH=`pwd`
(in bash)
4. TESTS
If you are new to TGT you can try running files from tests/ subdirectory
in order to get familar with controls, mouse support, etc.
If You use dynamically loaded classes, make sure TGT is able to
find them (as for the moment, this means you have to copy fbpic.class
into one of your libdirs (or use a cheap trick with LD_LIBRARY_PATH)
if you want to see how tests/fb works)
5. INPUT DEVICES
Default key mappings:
Up
Left Switch to the previous object in a window
Tab
Down
Right Switch to the next object in a window
` Switch windows
Ctrl W Enter/left window moving mode - when it's turned on, cursor
keys will let you reposition your windows.
Enter/
Space Perform an action on current object
Esc
Delete
Backspace Part menu
Try the mouse support yourself ... ;)
6. PROGRAMMER'S VIEW
If you want to know more about TGT because you want to use TGT routines
in your applications - see examples/ directory. I personally think that
writing any documentation for developers is boring, both for the reader
and the writer (maybe someone will write a kind of tutorial in the future,
but don't count on me - I'm too lazy) - it's really easier to write and
to understand an example. Also - check doc/en/CONCEPTS and doc/en/reference
7. DEVELOPERS WANTED
If you think you can help developing TGT (especially - if you can make it
run on 64bit machines (erm, I don't even know if it works -
I don't have any access to such computers =/) or you can make it run
under other systems than linux); or you are able to write new documentation,
(and of course correct our english in the old documents ;) -
please let me know (just mailto mtg@elsat.net.pl)
---
______________________________________________________________________
vlsi <mtg@elsat.net.pl> Mateusz Golicz
* Only a fool expects rational behavior from his fellow humans. Why *
* do you expect it from a machine that humans have constructed? *