blob: f21565b0d36b6c7070d70dc8e1655eec39532a4c [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>nxwm NuttX Tiny Window Manager (NxWM) &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/sphinx_collapse.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css" />
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
<script src="../../../_static/jquery.js"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
<script src="../../../_static/doctools.js"></script>
<script src="../../../_static/sphinx_highlight.js"></script>
<script src="../../../_static/clipboard.min.js"></script>
<script src="../../../_static/copybutton.js"></script>
<script src="../../../_static/design-tabs.js"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="CNxConsole Keyboard Input" href="cnxconsole.html" />
<link rel="prev" title="nxwidgets NXWidgets" href="../nxwidgets/index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../../latest" selected="selected">latest</option>
<option value="../../../../10.0.0" >10.0.0</option>
<option value="../../../../10.0.1" >10.0.1</option>
<option value="../../../../10.1.0" >10.1.0</option>
<option value="../../../../10.2.0" >10.2.0</option>
<option value="../../../../10.3.0" >10.3.0</option>
<option value="../../../../11.0.0" >11.0.0</option>
<option value="../../../../12.0.0" >12.0.0</option>
<option value="../../../../12.1.0" >12.1.0</option>
<option value="../../../../12.2.0" >12.2.0</option>
<option value="../../../../12.2.1" >12.2.1</option>
<option value="../../../../12.3.0" >12.3.0</option>
<option value="../../../../12.4.0" >12.4.0</option>
<option value="../../../../12.5.0" >12.5.0</option>
<option value="../../../../12.5.1" >12.5.1</option>
<option value="../../../../12.6.0" >12.6.0</option>
<option value="../../../../12.7.0" >12.7.0</option>
<option value="../../../../12.8.0" >12.8.0</option>
<option value="../../../../12.9.0" >12.9.0</option>
<option value="../../../../12.10.0" >12.10.0</option>
<option value="../../../../12.11.0" >12.11.0</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../components/index.html">OS Components</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../audioutils/index.html">Audio Utility libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../boot/index.html">Bootloader Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../benchmarks/index.html">Benchmark Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../canutils/index.html">CAN Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../crypto/index.html">Cryptography Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../fsutils/index.html">File System Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../games/index.html">Games</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Graphics Support</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../ft80x/index.html"><code class="docutils literal notranslate"><span class="pre">ft80x</span></code> FTDI/BridgeTek FT80x library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../jpegresizetool/index.html">JPEG Resize Tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libjpeg/index.html"><code class="docutils literal notranslate"><span class="pre">libjpeg</span></code> JPEG image encoding library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libyuv/index.html"><code class="docutils literal notranslate"><span class="pre">libyuv</span></code> libyuv</a></li>
<li class="toctree-l3"><a class="reference internal" href="../lvgl/index.html"><code class="docutils literal notranslate"><span class="pre">lvgl</span></code> LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxwidgets/index.html"><code class="docutils literal notranslate"><span class="pre">nxwidgets</span></code> NXWidgets</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">nxwm</span></code> NuttX Tiny Window Manager (NxWM)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="cnxconsole.html">CNxConsole Keyboard Input</a></li>
<li class="toctree-l4"><a class="reference internal" href="#doxygen">Doxygen</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#installing-the-necessary-packages-in-ubuntu">Installing the necessary packages in Ubuntu</a></li>
<li class="toctree-l5"><a class="reference internal" href="#generating-documentation">Generating documentation</a></li>
<li class="toctree-l5"><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../pdcurs34/index.html"><code class="docutils literal notranslate"><span class="pre">pdcurs34</span></code> pdcurses Text User Interface (TUI)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../screenshot/index.html"><code class="docutils literal notranslate"><span class="pre">screenshot</span></code> TIFF screenshot utility</a></li>
<li class="toctree-l3"><a class="reference internal" href="../slcd/index.html"><code class="docutils literal notranslate"><span class="pre">slcd</span></code> Segment LCD Emulaton</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tiff/index.html"><code class="docutils literal notranslate"><span class="pre">tiff</span></code> TIFF Creation Library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../twm4nx/index.html"><code class="docutils literal notranslate"><span class="pre">twm4nx</span></code> Tab Window Manager (TWM)</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../industry/index.html">Industrial Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../inertial/index.html">Inertial Libraries Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../interpreters/index.html">Interpreters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../logging/index.html">Logging Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../lte/index.html">LTE Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../math/index.html">Math Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../mlearing/index.html">Machine Learning Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../netutils/index.html">Network Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../nsh/index.html">NuttShell (NSH)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../sdr/index.html">Software Defined Radio Libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../system/index.html">System Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../testing/index.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../tools/index.html">Host Side Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../wireless/index.html">Wireless Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../examples/index.html">Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../implementation/index.html">Implementation Details</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../debugging/index.html">Debugging</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../standards/index.html">Standards</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../logos/index.html">NuttX Logos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../_tags/tagsindex.html">Tags</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Applications</a></li>
<li class="breadcrumb-item"><a href="../index.html">Graphics Support</a></li>
<li class="breadcrumb-item active"><code class="docutils literal notranslate"><span class="pre">nxwm</span></code> NuttX Tiny Window Manager (NxWM)</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/nuttx/blob/master/Documentation/applications/graphics/nxwm/index.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="nxwm-nuttx-tiny-window-manager-nxwm">
<h1><code class="docutils literal notranslate"><span class="pre">nxwm</span></code> NuttX Tiny Window Manager (NxWM)<a class="headerlink" href="#nxwm-nuttx-tiny-window-manager-nxwm" title="Permalink to this heading"></a></h1>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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).</p>
<p>Note 1: NwWM requires <code class="docutils literal notranslate"><span class="pre">NuttX-7.19</span></code> or above to work with the current
<code class="docutils literal notranslate"><span class="pre">NxWidgets-1.18</span></code> release.</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Contents</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="cnxconsole.html">CNxConsole Keyboard Input</a></li>
</ul>
</div>
<section id="doxygen">
<h2>Doxygen<a class="headerlink" href="#doxygen" title="Permalink to this heading"></a></h2>
<section id="installing-the-necessary-packages-in-ubuntu">
<h3>Installing the necessary packages in Ubuntu<a class="headerlink" href="#installing-the-necessary-packages-in-ubuntu" title="Permalink to this heading"></a></h3>
<ol class="arabic">
<li><p>Install the following packages:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ sudo aptitude install doxygen doxygen-doc doxygen-gui dot2tex graphviz
</pre></div>
</div>
</li>
<li><p>(Optional) Install Doxygen from the latest sourcode.</p>
<p>The Ubuntu package is outdated. The newer the version of Doxygen, the better
the documentation looks.</p>
<p>Place yourself in some temporary folder where you can download the source,
and run [1]:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk doxygen-svn
$ cd doxygen-svn
$ ./configure
$ make
$ make install
</pre></div>
</div>
</li>
</ol>
</section>
<section id="generating-documentation">
<h3>Generating documentation<a class="headerlink" href="#generating-documentation" title="Permalink to this heading"></a></h3>
<p>Two ways described here:</p>
<ol class="arabic">
<li><p>Use the provided <code class="docutils literal notranslate"><span class="pre">gendoc.sh</span></code> script:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>trunk/NXWidgets/Doxygen/gendoc.sh
</pre></div>
</div>
<p>The script only needs the argument to the absolute path where to place the
generated documentation. I.e.:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ cd /path/to/nuttx/trunk/NXWidgets/Doxygen/
$ mkdir doc
$ ./gendoc.sh $PWD/doc
</pre></div>
</div>
</li>
<li><p>Using the <code class="docutils literal notranslate"><span class="pre">Doxyfile</span></code> directly:</p>
<p>The file <code class="docutils literal notranslate"><span class="pre">Doxyfile</span></code> contains the configuration of the Doxygen settings for
the run, edit only if necessary.</p>
<p>To generate the documentation type:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ cd /path/to/nuttx/trunk/NXWidgets/Doxygen/
$ doxygen Doxyfile
</pre></div>
</div>
</li>
</ol>
</section>
<section id="references">
<h3>References<a class="headerlink" href="#references" title="Permalink to this heading"></a></h3>
<p>[1] <a class="reference external" href="http://www.stack.nl/~dimitri/doxygen/download.html">http://www.stack.nl/~dimitri/doxygen/download.html</a></p>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../nxwidgets/index.html" class="btn btn-neutral float-left" title="nxwidgets NXWidgets" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="cnxconsole.html" class="btn btn-neutral float-right" title="CNxConsole Keyboard Input" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>