nuttx-apps/graphics/nxwm
Xiang Xiao e76ab9c868 Remove all fclose with stdin, stdout and stderr
since it is wrong to close the builtin stream and specially note
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fclose.html:

Since after the call to fclose() any use of stream results in
undefined behavior, fclose() should not be used on stdin, stdout,
or stderr except immediately before process termination (see XBD
Process Termination), so as to avoid triggering undefined behavior
in other standard interfaces that rely on these streams. If there
are any atexit() handlers registered by the application, such a
call to fclose() should not occur until the last handler is
finishing. Once fclose() has been used to close stdin, stdout, or
stderr, there is no standard way to reopen any of these streams.

and it is also unnecessary because the stream always get flushed.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-29 20:43:59 +09:00
..
doc Squashed commit of the following: 2019-04-04 18:53:29 -06:00
Doxygen Rewritten READMEs to Markdown 2020-07-25 01:01:51 -07:00
src Remove all fclose with stdin, stdout and stderr 2020-10-29 20:43:59 +09:00
ChangeLog.txt Change all 'Nuttx' to 'NuttX' 2020-10-18 22:27:57 -07:00
COPYING Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00
Kconfig Change the defaults of stack size configs to DEFAULT_TASK_STACKSIZE 2020-03-27 02:43:11 -05:00
Make.defs Remove extra whitespace from files (#43) 2020-01-31 08:29:24 -06:00
Makefile build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs 2020-07-09 15:17:37 -03:00
README.md Rewritten READMEs to Markdown 2020-07-25 01:01:51 -07:00
ReleaseNotes.txt Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00
TODO.txt Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00

Graphics / nxwm NxWM

This directory holds a tiny desktop for small embedded devices with a touchscreen,. NxWM. NxWM is true multiple window manager but only one window is displayed at a time. This simplification helps performance on LCD based products (in the same way that a tiled window manager helps) and also makes the best use of small displays. It is awkward from a human factors point-of-view trying to manage multiple windows on a small display.

The window manager consists of a task bar with icons representing the running tasks. If you touch the task's icon, it comes to the top. Each window has a toolbar with (1) a title, (2) a minimize button, and (3) a stop application button using the standard icons for these things.

There is always a start window that is available in the task bar. When you touch the start window icon, it brings up the start window containing icons representing all of the available applications. If you touch an icon in the start window, it will be started and added to the task bar.

There is a base class that defines an add-on application and an interface that supports incorporation of new application. The only application that is provided is NxTerm. This is an NSH session running in a window. You should be able to select the NX icon in the start menu and create as many NSH sessions in windows as you want. (keybard input still comes through serial).

Note 1: NwWM requires NuttX-7.19 or above to work with the current NxWidgets-1.18 release.