950b4cb604
version 1.0.10 to NuttX NX windows server. No, a port is not the right word. It is a re-design of TWM from the inside out to work with the NuttX NX server. The name Twm4Nx reflects this legacy. But Twm4Nx is more a homage to TWM than a port of TWM. The original TWM was based on X11 which provides a rich set of features. TWM provided titlebars, shaped windows, several forms of icon management, user-defined macro functions, click-to-type and pointer-driven keyboard focus, graphic contexts, and user-specified key and pointer button bindings, etc. Twm4Nx, on the other hand is based on the NuttX NX server which provides comparatively minimal support. Additional drawing support comes from the NuttX NxWidgets library (which necessitated the change to C++). Twm4Nx is greatly stripped down and targeted on small embedded systems with minimal resources. For example, no assumption is made about the availability of a file system; no .twmrc file is used. Bitmaps are not used (other than for fonts). The TWM license is, I believe compatible with the BSD license used by NuttX. The origin TWM license required notice of copyrights within each file and a full copy of the original license which you can find in the COPYING file. within this directory. STATUS: This port was brutal. Much TWM logic was removed because it depending on X11 features (or just because I could not understand how to use it). The logic is partial. A lot more needs to be done to have a complete system (hence, it is marked EXPERIMENTAL). The kinds of things that need to done are: 1. Update some logic that is only fragmentary for how like resizing, and menus. 2. Integrate NxWidgets into the windows: The resize menu needs a CLabel, the menus are CListBox'es, but not completely integrated, the Icon Manager needs to be a button array. 3. Resit Icons. They are windows now, but need to be compound widgets lying on the background. 4. Widget events are only partially integrated. A lot more needs to be done. A partial change to thoe event system that hints at the redesign is in place but it is far from complete.
45 lines
999 B
Plaintext
45 lines
999 B
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
config GRAPHICS_TWM4NX
|
|
tristate "Minimal Tom's Window Manager (TWM) for NuttX (Twm4Nx)"
|
|
default n
|
|
select NX_RAMBACKED
|
|
select NXWIDGETS
|
|
depends on NX && EXPERIMENTAL
|
|
---help---
|
|
Enable Tom's Window Manager (TWM) for NuttX (Twm4Nx).
|
|
|
|
Use of this window manager requires keyboard and mouse input.
|
|
Output is through the NX server.
|
|
|
|
if GRAPHICS_TWM4NX
|
|
|
|
config TWM4NX_PROGNAME
|
|
string "Twm4Nx program name"
|
|
default "twm4nx"
|
|
depends on BUILD_LOADABLE
|
|
---help---
|
|
This is the name of the program that will be use when the NSH ELF
|
|
program is installed.
|
|
|
|
config TWM4NX_PRIORITY
|
|
int "Twm4Nx task priority"
|
|
default 100
|
|
|
|
config TWM4NX_STACKSIZE
|
|
int "Twm4Nx stack size"
|
|
default 2048
|
|
|
|
config TWM4NX_REVMAJOR
|
|
string "Twm4Nx major version number"
|
|
default "0"
|
|
|
|
config TWM4NX_REVMINOR
|
|
string "Twm4Nx minor version number"
|
|
default "0"
|
|
|
|
endif # GRAPHICS_TWM4NX
|