Commit Graph

16 Commits

Author SHA1 Message Date
Xiang Xiao
31a7b99f9c apps.: Remove the inappropriate NSH_BUILTIN_APPS coupling
1. Check NSH_NETINIT for self network initialization
2. Check NSH_ARCHINIT for sel arch specific initialization
3. Always show help regardless of NSH_BUILTIN_APPS
4. Loop forever regardless of NSH_BUILTIN_APPS, user could:
  a.change the default behavior by the command line argument
  b.or ctrl+c to break out the loop
2019-10-07 02:37:56 -06:00
Xiang Xiao
e806097c70 Application.mk and main.c files: Change builtin's entry point from main to xxx_main by macro expansion. This change make the entry point fully compliant with POSIX/ANSI standard. 2019-10-06 06:14:56 -06:00
Nathan Hartman
3a75edca20 Fix minor typo/copy-paste: 'will be use when'->'will be used when' 2019-08-23 11:59:28 -06:00
Gregory Nutt
51c3d3a054 Squashed commit of the following:
apps/graphics/slcd:  With these changes the CSLcd class now compiles
    successfully.  Still untested.

    apps/graphics/slcd:  Finish off rendering.  Hook into configuration and build system.

    apps/graphics/nxglyphs:  Add images that will eventually be used for clock icons

    apps/graphics/slcd:  Completes all CLcd methods except for rendering to the window.

    apps/graphics/slcd:  Add beginning of SLCD class.

    Add ASCII to SLCD character mapping.

    apps/graphics/slcd:  Represent segments as runs rather than trapezoids.  Trapezoids will be synthesized later.

    A little more SLCD logic

    apps/graphics/slcd:  Flesh out more trapezoids in the decomposition.
2019-05-31 20:44:02 -06:00
Gregory Nutt
41765ebe81 apps/graphics/twm4nx: Fix some errors found when enabling NX keyboard support. The most important being that the mouse and keyboard drivers need to be opened non-blocking. 2019-05-26 12:37:18 -06:00
Gregory Nutt
320e660e85 apps/graphics/twm4nx: Add a configuration option to control the number of buttons in one column of the Icon Manager. The Icon Manager now long relies the default window width; now it determines a preffered window with based primarily on the font size. 2019-05-21 16:00:19 -06:00
Gregory Nutt
0a00a9950c Squashed commit of the following:
apps/graphics/twm4nx:  Adds some colors and better style control to support the CONTEMPORARY theme.  Still getting a few artifacts on the display.

    apps/graphics/twm4nx:  Use custom CWidgetStyle to force Icon background to match selected desktop background.

    apps/graphics/nxglyphs:  Add more modern looking button images for the Twm4Nx CONTEMPORARY theme

    apps/graphics/twm4nx:  Add some definitions to support Themes.  Background image is now optional.
2019-05-21 14:48:01 -06:00
Gregory Nutt
891ea23356 Squashed commit of the following:
apps/graphics/twm4nx:  Fix an uninitialized variable that was causing toolbar buttons to randomly come up enabled or disabled.  Remove some unused event definitions.

    apps/graphics/twm4nx:  Fix a calibration screen startup issue.  Make an initial calibration scrren optional
2019-05-20 12:06:06 -06:00
Gregory Nutt
a06b47394b This commit adds a calibration screen
Squashed commit of the following:

    apps/graphics/twm4nx:  The calibration seems to be functional.  Needs more testing.

    apps/graphics/twm4nx:  Extend event handling to support receiving raw, uncalibaated touchscreen inputs.  This is needed for touchscreen calibration.

    apps/graphics/twm4nx:  Extend event handling to support shutting down of externally controlled windows.  This is need to end the calibration sequence.

    apps/graphics/twm4nx:  CCalibration now compiles okay, but is missing event handling logic for touchscreen input and for window termination.

    apps/graphics/twm4nx:  Move application-related files into different directories to separate them from the core Twm4Nx files.

    apps/graphics/twm4nx:  A little more progress on calibration display.

    app/graphics/twm4ndx:  Add files that will support a calibration display.  This initial commit is simply the calibration display from NxWM and is not hooked into the configuration or build systems.

    apps/graphics/twm4ndx:  Compile out cursor support if we are using a mouse
2019-05-20 11:01:46 -06:00
Gregory Nutt
5f79775690 apps/graphics/twm4ndx: Compile out cursor support if we are using a mouse 2019-05-17 12:52:04 -06:00
Gregory Nutt
abd7c9a165 This commit incorporates the NxTerm window hosting NSH. This is just code complete and just compiles with no errors. The NxTerm item does not appear in the Main Menu, however, selecting the menu item does not yet bring up the NxTerm window.
Squashed commit of the following:

    apps/graphics/twm4nx:  Revamp the event system to support notification of external applications when the window is being closed.

    apps/graphics/twm4nx:  A little NxTerm progress

    apps/graphics/twm4nx:  Clean up some logic associated with use of multiple Icon Managers.

    apps/graphics/twm4nx:  Add CNxterm to the build.  It is a long way from compiling.
2019-05-12 11:57:45 -06:00
Gregory Nutt
afbb51eb1e apps/graphics/twm4nx: Add option to use touschreen instead of mouse input. 2019-05-04 12:26:14 -06:00
Gregory Nutt
b5ae79b8f3 graphics/twm4nx/Kconfig: Add configuration disable keyboard/mouse input for testing purposes.
graphics/twm4nx/src/ciconmgr.cxx:  Correct initial window size and position in the upper righthand corner;  Need to fill draw the button array immediately on window creation.

graphics/twm4nx/src/cwindow.cxx:  Need to fill the toolbar initially with the widget background color.
2019-05-04 10:33:16 -06:00
Gregory Nutt
358f32bfdc Squashed commit of the following:
apps/graphics/twm4nx:  Fix various bugs found in bringup:  Re-order object instantiation to account for inter-object dependencies.  Correct mq_receive() buffer size.  Fix a backward comparison.

    apps/graphics/twm4nx:  Twm4Nx debug can now be separately enabled so that it does not get overwhelmed by other graphics debug output.
2019-05-02 09:19:45 -06:00
Gregory Nutt
ad57b3de4d apps/graphics/twm4nx: Add options to initialize the system via boardctl() and to bring up the network using the new apps/netutils/netinit. This latter is only necessary because VNC is being used to provide graphics. 2019-04-29 11:49:15 -06:00
Gregory Nutt
950b4cb604 wm4Nx is a port of twm, Tab Window Manager (or Tom's Window Manager)
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.
2019-04-25 16:54:17 -06:00