Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libyui-ncurses for openSUSE:Factory 
checked in at 2021-02-26 21:58:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui-ncurses"

Fri Feb 26 21:58:01 2021 rev:61 rq:871419 version:4.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses-doc.changes        
2012-08-09 17:47:09.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378/libyui-ncurses-doc.changes  
    2021-02-26 21:58:03.347747277 +0100
@@ -1,0 +2,7 @@
+Mon Feb  1 14:59:07 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses.changes    
2020-11-02 09:39:49.677577371 +0100
+++ /work/SRC/openSUSE:Factory/.libyui-ncurses.new.2378/libyui-ncurses.changes  
2021-02-26 21:58:03.443747361 +0100
@@ -1,0 +2,36 @@
+Thu Feb 11 13:34:20 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Added keyboard shortcuts:
+    Ctrl-D Shift-G - start the debugger
+    Ctrl-D Shift-C - start the configuration console
+    (jsc#PM-1895, jsc#SLE-16263)
+- CMake fix: do not create the include/yui symlink if it already
+  exists
+- 4.0.2
+
+-------------------------------------------------------------------
+Thu Feb  4 10:19:11 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- In tables with nested items, only open/close branches with [Space],
+  don't also send an "Activated" event (bsc#1181789)
+- 4.0.1
+
+-------------------------------------------------------------------
+Mon Feb  1 14:59:06 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
+Mon Feb  1 14:11:33 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Block processing the idle loop after calling the closeUI()
+  method (bsc#1181647)
+
+  The terminal was actually still used by the UI after that
+  call and there was a race condition if the started application
+  after the call also used the terminal.
+- 2.57.3
+
+-------------------------------------------------------------------

Old:
----
  libyui-ncurses-2.57.2.tar.bz2

New:
----
  libyui-ncurses-4.0.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libyui-ncurses-doc.spec ++++++
--- /var/tmp/diff_new_pack.mtQBH4/_old  2021-02-26 21:58:03.927747786 +0100
+++ /var/tmp/diff_new_pack.mtQBH4/_new  2021-02-26 21:58:03.927747786 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-ncurses-doc
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,65 +17,56 @@
 
 
 %define parent libyui-ncurses
-%define so_version 14
+%define         so_version 15
 
 Name:           %{parent}-doc
-Version:        2.57.2
-Release:        0
-Source:         %{parent}-%{version}.tar.bz2
 
+# DO NOT manually bump the version here; instead, use   rake version:bump
+Version:        4.0.2
+Release:        0
 BuildArch:      noarch
 
-BuildRequires:  cmake >= 2.8
+BuildRequires:  cmake >= 3.10
 BuildRequires:  doxygen
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
-BuildRequires:  graphviz-gnome
-BuildRequires:  texlive-latex
-# YLabel::setAutoWrap()
+BuildRequires:  graphviz
 BuildRequires:  libyui-devel >= 3.10.0
 
 URL:            http://github.com/libyui/
 Summary:        Libyui-ncurses documentation
 License:        LGPL-2.1-only OR LGPL-3.0-only
-Group:          Documentation/HTML
+Source:         %{parent}-%{version}.tar.bz2
 
 %description
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
 
-This package provides the documentation. (HTML & PDF)
+This package provides HTML class documentation.
 
 
 %prep
-
 %setup -n %{parent}-%{version}
 
 %build
 
-export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-
-./bootstrap.sh %{_prefix}
-
 mkdir build
 cd build
+
 cmake .. \
-        -DDOC_DIR=%{_docdir} \
-        -DDOCS_ONLY=ON
+  -DBUILD_DOC=on \
+  -DBUILD_SRC=off \
+  -DDOC_DESTDIR=$RPM_BUILD_ROOT
 
-make %{?jobs:-j%jobs} docs
+# No "make doc" here: This would only duplicate the doxygen call
 
 %install
 cd build
-make install DESTDIR="$RPM_BUILD_ROOT"
+make install-doc
+# This implicitly includes "make doc" unconditionally
 
 %fdupes -s $RPM_BUILD_ROOT/%_docdir/%{parent}%{so_version}
 
-%clean
-rm -rf "$RPM_BUILD_ROOT"
-
 %files
 %defattr(-,root,root)
 %doc %{_docdir}/%{parent}%{so_version}

++++++ libyui-ncurses.spec ++++++
--- /var/tmp/diff_new_pack.mtQBH4/_old  2021-02-26 21:58:03.943747800 +0100
+++ /var/tmp/diff_new_pack.mtQBH4/_new  2021-02-26 21:58:03.943747800 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libyui-ncurses
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,38 +17,33 @@
 
 
 Name:           libyui-ncurses
-Version:        2.57.2
+
+# DO NOT manually bump the version here; instead, use   rake version:bump
+Version:        4.0.2
 Release:        0
-Source:         %{name}-%{version}.tar.bz2
 
-%define so_version 14
+%define         so_version 15
+%define         libyui_devel_version libyui-devel >= 4.0.1
 %define bin_name %{name}%{so_version}
 
-%if 0%{?suse_version} > 1325
-BuildRequires:  libboost_headers-devel
-%else
+BuildRequires:  %{libyui_devel_version}
 BuildRequires:  boost-devel
-%endif
-BuildRequires:  cmake >= 2.8
+BuildRequires:  cmake >= 3.10
 BuildRequires:  gcc-c++
-BuildRequires:  pkg-config
-
-# YLabel::setAutoWrap()
-%define libyui_devel_version libyui-devel >= 3.10.0
-BuildRequires:  %{libyui_devel_version}
 BuildRequires:  ncurses-devel
 
 URL:            http://github.com/libyui/
-Summary:        Libyui - Character Based User Interface
+Summary:        Libyui - NCurses (text based) user interface
 License:        LGPL-2.1-only OR LGPL-3.0-only
-Group:          System/Libraries
+Source:         %{name}-%{version}.tar.bz2
 
 %description
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the NCurses (text based) user interface
+component for libyui.
 
 
 %package -n %{bin_name}
+Summary:        Libyui - NCurses (text based) user interface
 
 Requires:       glibc-locale
 Requires:       libyui%{so_version}
@@ -57,56 +52,43 @@
 Obsoletes:      yast2-ncurses < 2.42.0
 Provides:       yui_backend = %{so_version}
 
-URL:            http://github.com/libyui/
-Summary:        Libyui - Character Based User Interface
-Group:          System/Libraries
-
 %description -n %{bin_name}
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
 
 
 %package devel
+Summary:        Libyui - Header fles for the NCurses (text based) user 
interface
 
+Requires:       %{bin_name} = %{version}
 Requires:       %{libyui_devel_version}
-%if 0%{?suse_version} > 1325
-Requires:       libboost_headers-devel
-%else
 Requires:       boost-devel
-%endif
-Requires:       %{bin_name} = %{version}
 Requires:       glibc-devel
 Requires:       libstdc++-devel
 Requires:       ncurses-devel
 
-URL:            http://github.com/libyui/
-Summary:        Libyui-ncurses header files
-Group:          Development/Languages/C and C++
-
 %description devel
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the header files for the NCurses
+(text based) user interface component for libyui.
 
+This package is not needed to develop libyui-based applications,
+only to develop extensions for libyui-ncurses.
 
-This can be used independently of YaST for generic (C++) applications.
-This package has very few dependencies.
 
 %package tools
 
-URL:            http://github.com/libyui/
-Summary:        Libyui-ncurses tools
+Summary:        Libyui - tools for the NCurses (text based) user interface
+Requires:       screen
 # conflict with libyui-ncurses8, /usr/bin/libyui-terminal was originally there
-Group:          System/Libraries
 Conflicts:      %{name}8
 
-Requires:       screen
-
 %description tools
-Character based (ncurses) user interface component for libYUI.
+This package contains tools for the NCurses (text based)
+user interface component for libyui:
 
 libyui-terminal - useful for testing on headless machines
 
+
 %prep
 %setup -q -n %{name}-%{version}
 
@@ -115,39 +97,30 @@
 export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
 export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
 
-./bootstrap.sh %{_prefix}
-
 mkdir build
 cd build
 
 %if %{?_with_debug:1}%{!?_with_debug:0}
-cmake .. \
-        -DYPREFIX=%{_prefix} \
-        -DDOC_DIR=%{_docdir} \
-        -DLIB_DIR=%{_lib} \
-        -DCMAKE_BUILD_TYPE=RELWITHDEBINFO
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
 %else
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
+%endif
+
 cmake .. \
-        -DYPREFIX=%{_prefix} \
         -DDOC_DIR=%{_docdir} \
         -DLIB_DIR=%{_lib} \
-        -DCMAKE_BUILD_TYPE=RELEASE
-%endif
+ $CMAKE_OPTS
 
 make %{?jobs:-j%jobs}
 
 %install
 cd build
 make install DESTDIR="$RPM_BUILD_ROOT"
-install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 install -m0755 -d $RPM_BUILD_ROOT/%{_libdir}/yui
+install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 install -m0644 ../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 
-%clean
-rm -rf "$RPM_BUILD_ROOT"
-
 %post -n %{bin_name} -p /sbin/ldconfig
-
 %postun -n %{bin_name} -p /sbin/ldconfig
 
 %files -n %{bin_name}
@@ -162,9 +135,6 @@
 %dir %{_docdir}/%{bin_name}
 %{_libdir}/yui/lib*.so
 %{_prefix}/include/yui
-%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/cmake/%{name}
-%{_datadir}/libyui
 
 %files tools
 %defattr(-,root,root)

++++++ libyui-ncurses-2.57.2.tar.bz2 -> libyui-ncurses-4.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/CMakeLists.txt 
new/libyui-ncurses-4.0.2/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/CMakeLists.txt    1970-01-01 01:00:00.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/CMakeLists.txt     2021-02-11 17:11:05.000000000 
+0100
@@ -0,0 +1,60 @@
+# CMakeLists.txt for libyui-ncurses
+#
+# Usage:
+#
+#   mkdir build
+#   cd build
+#   cmake ..
+#
+#   make
+#   sudo make install
+#
+# Restart with a clean build environment:
+#   rm -rf build
+#
+# Show the complete compiler commands with all arguments:
+#   make VERBOSE=1
+
+cmake_minimum_required( VERSION 3.10 )
+project( libyui-ncurses )
+
+# Options usage:
+#
+#   cmake -DBUILD_DOC=on -DBUILD_EXAMPLES=off ..
+
+option( BUILD_SRC         "Build in src/ subdirectory"                on )
+option( BUILD_DOC         "Build class documentation"                 off )
+option( WERROR            "Treat all compiler warnings as errors"     on  )
+
+# Non-boolean options
+set( DOC_DESTDIR "" CACHE STRING "Destination directory prefix for installing 
docs" )
+
+#----------------------------------------------------------------------
+
+
+# As of now, no support for /usr/local instead of /usr. But CMake DESTDIR 
works.
+set( CMAKE_INSTALL_PREFIX /usr )
+
+set( CMAKE_INSTALL_MESSAGE LAZY ) # Suppress "up-to-date" messages during 
"make install"
+
+
+# Initialize compiler flags for all targets in all subdirectories
+add_compile_options( "-Wall" )
+add_compile_options( "-Os" )    # Optimize for size (overrides CMake's -O3 in 
RELEASE builds)
+
+if ( WERROR )
+  add_compile_options( "-Werror" )
+endif()
+
+
+#
+# Descend into subdirectories
+#
+
+if ( BUILD_SRC )
+  add_subdirectory( src )
+endif()
+
+if ( BUILD_DOC )
+  add_subdirectory( doc )
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/MAINTAINER 
new/libyui-ncurses-4.0.2/MAINTAINER
--- old/libyui-ncurses-2.57.2/MAINTAINER        2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/MAINTAINER 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-Gabriele Mohr <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Makefile.cvs 
new/libyui-ncurses-4.0.2/Makefile.cvs
--- old/libyui-ncurses-2.57.2/Makefile.cvs      2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/Makefile.cvs       1970-01-01 01:00:00.000000000 
+0100
@@ -1,23 +0,0 @@
-#
-# Makefile.cvs
-#
-
-all: configure
-
-configure: clean
-       ./bootstrap.sh ; \
-       mkdir build ; \
-       cd build ; \
-       cmake -DCMAKE_BUILD_TYPE=RELEASE ..
-
-install: configure
-       cd build ; \
-       make && make install
-
-reconf:
-       cd build ; \
-       cmake rebuild_cache
-
-clean:
-       rm -rf build \
-               CMakeLists.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Makefile.repo 
new/libyui-ncurses-4.0.2/Makefile.repo
--- old/libyui-ncurses-2.57.2/Makefile.repo     1970-01-01 01:00:00.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/Makefile.repo      2021-02-11 17:11:05.000000000 
+0100
@@ -0,0 +1,63 @@
+#
+# Makefile.repo for libyui-ncurses
+#
+
+# Local Variables:
+#    mode: Makefile
+# End:
+
+
+all: clean configure build-hint
+
+build-hint:
+       @echo ""
+       @echo "To build:"
+       @echo ""
+       @echo "  cd build"
+       @echo "  make"
+       @echo ""
+
+configure:
+       mkdir build; \
+       cd build; \
+       cmake ..
+
+build: clean configure
+       cd build; \
+       make -j $$(nproc)
+
+# This needs root privileges, of course
+install: configure
+       cd build; \
+       make -j $$(nproc) && make install
+
+clean:
+       rm -rf build
+
+package:
+       rake package
+
+doc:
+       test -d build || mkdir build
+       cd build; \
+       cmake -DBUILD_DOC=on .. ; \
+       make doc
+
+install-doc: doc
+       cd build; \
+       make install-doc
+
+version-bump:
+       rake version:bump
+
+# Just an alias
+bump-version: version-bump
+
+
+# Enforce rebuilding some targets unconditionally, even if a file or directory
+# with that name exists; otherwise the timestamp of that file or directory
+# would be checked.
+#
+# We need this because we have a subdirectory doc/, a subdirectory package/
+# and possibly a subdirectory build/ here.
+.PHONY: doc package build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/PROJECTINFO.cmake 
new/libyui-ncurses-4.0.2/PROJECTINFO.cmake
--- old/libyui-ncurses-2.57.2/PROJECTINFO.cmake 2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/PROJECTINFO.cmake  1970-01-01 01:00:00.000000000 
+0100
@@ -1,18 +0,0 @@
-##### PROJECTINFO for CMake
-
-SET( BASELIB           "yui" )         # don't change this
-
-##### MAKE ALL NEEDED CHANGES HERE #####
-
-SET( SUBDIRS           src )
-SET( PLUGINNAME                "ncurses" )
-SET( LIB_DEPS          Curses6)
-SET( INTERNAL_DEPS     Libyui )
-SET( LIB_LINKER                )
-SET( URL               "http://github.com/libyui/"; )
-SET( SUMMARY           "Libyui - Character Based User Interface" )
-SET( DESCRIPTION       "This package contains the character based (ncurses) 
user interface\ncomponent for libYUI.\n" )
-
-SET( BUILDTOOLS_LIST
-  cmake/Modules/FindCurses6.cmake
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/README.md 
new/libyui-ncurses-4.0.2/README.md
--- old/libyui-ncurses-2.57.2/README.md 2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/README.md  2021-02-11 17:11:05.000000000 +0100
@@ -8,16 +8,31 @@
 providing Qt, GTK and ncurses frontends. Originally it was developed for
 [YaST](https://yast.github.io/) but it can be used in any independent project.
 
-This part contains the text mode front end which displays the UI in a console
+This part contains the text mode front-end which displays the UI in a console
 or a terminal emulator.
 
+
 ### Building
 
-Libyui uses CMake, driven by a slightly complex set of
-[CMakefiles](https://github.com/libyui/libyui/tree/master/buildtools). For
-reproducible builds it is best to use the [libyui-rake](
-https://github.com/libyui/libyui-rake) Ruby gem like the [Jenkins CI](
-https://ci.opensuse.org/view/libyui/) jobs do.
+Libyui uses CMake. Most operations are available from the toplevel
+_Makefile.repo_:
+
+```
+make -f Makefile.repo
+cd build
+make
+```
+
+or
+
+```
+make -f Makefile.repo build
+```
+
+
+For reproducible builds it is best to use the
+[libyui-rake](https://github.com/libyui/libyui-rake)
+Ruby gem like the [Jenkins CI](https://ci.opensuse.org/view/libyui/) jobs do.
 
 It can be installed from [rubygems.org](https://rubygems.org/gems/libyui-rake/)
 using this command (Ruby needs to be installed in the system):
@@ -31,4 +46,3 @@
 ```
 rake osc:build
 ```
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/Rakefile 
new/libyui-ncurses-4.0.2/Rakefile
--- old/libyui-ncurses-2.57.2/Rakefile  2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/Rakefile   2021-02-11 17:11:05.000000000 +0100
@@ -1,8 +1,17 @@
 #--
-# Copyright (C) 2015 SUSE LLC
+# Copyright (c) 2015-2019 SUSE LLC
+# Copyright (c) 2020-2021 SUSE LLC
 #
 # make continuous integration using rubygem-libyui-rake.
 #
 # MIT license
 #++
 require "libyui/rake"
+
+Libyui::Tasks.configuration do |conf|
+  include Libyui::Tasks::Helpers
+
+  conf.skip_license_check << /^Makefile\.repo$/
+  conf.skip_license_check << /^src\/.*\.h\.in$/
+  conf.skip_license_check << /CMakeLists\.txt$/
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/SOURCECONF.cmake 
new/libyui-ncurses-4.0.2/SOURCECONF.cmake
--- old/libyui-ncurses-2.57.2/SOURCECONF.cmake  2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/SOURCECONF.cmake   1970-01-01 01:00:00.000000000 
+0100
@@ -1,161 +0,0 @@
-SET( ${TARGETLIB}_SOURCES
-  position.cc
-  YNCursesUI.cc
-  NCtoY2Event.cc
-  NCApplication.cc
-  NCWidgetFactory.cc
-  NCOptionalWidgetFactory.cc
-
-  NCPackageSelectorPluginStub.cc
-
-  NCtext.cc
-  NCstring.cc
-  stringutil.cc
-  lang2encoding.cc
-  ncursesw.cc
-  ncursesp.cc
-  NCtypes.cc
-  NCurses.cc
-  NCstyle.cc
-  NCStyleDef.cc
-  NCTableItem.cc
-  NCPad.cc
-  NCButtonBox.cc
-  NCTablePadBase.cc
-  NCTablePad.cc
-  NCTableSort.cc
-  NCTreePad.cc
-  NCTextPad.cc
-  NCWidget.cc
-  NCDialog.cc
-  NCEmpty.cc
-  NCSpacing.cc
-  NCSquash.cc
-  NCAlignment.cc
-  NCFrame.cc
-  NCCheckBoxFrame.cc
-  NCLayoutBox.cc
-  NCReplacePoint.cc
-  NCRadioButtonGroup.cc
-  NCImage.cc
-  NCItemSelector.cc
-  NCCustomStatusItemSelector.cc
-  NCCheckBox.cc
-  NCLabel.cc
-  NCProgressBar.cc
-  NCBusyIndicator.cc
-  NCMenuBar.cc
-  NCMenuButton.cc
-  NCPushButton.cc
-  NCDumbTab.cc
-  NCRadioButton.cc
-  NCInputTextBase.cc
-  NCInputField.cc
-  NCDateField.cc
-  NCTimeField.cc
-  NCIntField.cc
-  NCComboBox.cc
-  NCPadWidget.cc
-  NCRichText.cc
-  NCSelectionBox.cc
-  NCMultiSelectionBox.cc
-  NCTable.cc
-  NCTree.cc
-  NCLogView.cc
-  NCMultiLineEdit.cc
-  NCFileSelection.cc
-  NCWordWrapper.cc
-
-  NCPopup.cc
-  NCPopupTable.cc
-  NCPopupList.cc
-  NCPopupMenu.cc
-  NCPopupTextEntry.cc
-  NCPopupInfo.cc
-  NCAskForDirectory.cc
-  NCAskForFile.cc
-)
-
-SET( ${TARGETLIB}_HEADERS
-  stdutil.h
-  NCi18n.h
-  tnode.h
-  position.h
-  CyclicContainer.h
-  YNCursesUI.h
-  NCtoY2Event.h
-  NCApplication.h
-  NCWidgetFactory.h
-  NCOptionalWidgetFactory.h
-
-  NCPackageSelectorPluginStub.h
-  NCPackageSelectorPluginIf.h
-  NCtext.h
-  NCstring.h
-  stringutil.h
-  ncursesw.h
-  ncursesp.h
-  NCtypes.h
-  NCurses.h
-  NCstyle.h
-  NCStyleDef.h
-  NCTableItem.h
-  NCPad.h
-  NCButtonBox.h
-  NCTablePadBase.h
-  NCTablePad.h
-  NCTableSort.h
-  NCTreePad.h
-  NCTextPad.h
-  NCWidget.h
-  NCDialog.h
-  NCEmpty.h
-  NCSpacing.h
-  NCSquash.h
-  NCAlignment.h
-  NCFrame.h
-  NCCheckBoxFrame.h
-  NCLayoutBox.h
-  NCReplacePoint.h
-  NCRadioButtonGroup.h
-  NCImage.h
-  NCItemSelector.h
-  NCCustomStatusItemSelector.h
-  NCCheckBox.h
-  NCLabel.h
-  NCProgressBar.h
-  NCBusyIndicator.h
-  NCMenuBar.h
-  NCMenuButton.h
-  NCPushButton.h
-  NCDumbTab.h
-  NCRadioButton.h
-  NCInputTextBase.h
-  NCInputField.h
-  NCTimeField.h
-  NCDateField.h
-  NCIntField.h
-  NCComboBox.h
-  NCPadWidget.h
-  NCRichText.h
-  NCSelectionBox.h
-  NCMultiSelectionBox.h
-  NCTable.h
-  NCTree.h
-  NCLogView.h
-  NCMultiLineEdit.h
-  NCFileSelection.h
-  NCWordWrapper.h
-  NCPopup.h
-  NCPopupTable.h
-  NCPopupList.h
-  NCPopupMenu.h
-  NCPopupTextEntry.h
-  NCPopupInfo.h
-  NCAskForDirectory.h
-  NCAskForFile.h
-  NCstyle.braille.h NCstyle.mono.h
-  NCstyle.linux.h NCstyle.xterm.h
-  NCstyle.rxvt.h NCstyle.highcontrast.h
-  NCstyle.inverted.h
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/VERSION.cmake 
new/libyui-ncurses-4.0.2/VERSION.cmake
--- old/libyui-ncurses-2.57.2/VERSION.cmake     2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/VERSION.cmake      2021-02-11 17:11:05.000000000 
+0100
@@ -1,11 +1,9 @@
-SET( VERSION_MAJOR "2" )
-SET( VERSION_MINOR "57" )
+SET( VERSION_MAJOR "4")
+SET( VERSION_MINOR "0" )
 SET( VERSION_PATCH "2" )
-SET( VERSION 
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
+SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
 
-##### This is needed for the libyui core ONLY.
-##### These will be overridden from exports in LibyuiConfig.cmake
-SET( SONAME_MAJOR "14" )
+SET( SONAME_MAJOR "15" )
 SET( SONAME_MINOR "0" )
 SET( SONAME_PATCH "0" )
 SET( SONAME "${SONAME_MAJOR}.${SONAME_MINOR}.${SONAME_PATCH}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/bootstrap.sh 
new/libyui-ncurses-4.0.2/bootstrap.sh
--- old/libyui-ncurses-2.57.2/bootstrap.sh      2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/bootstrap.sh       1970-01-01 01:00:00.000000000 
+0100
@@ -1,26 +0,0 @@
-#!/bin/sh
-set -e
-
-prefix="/usr"
-
-if [ ! -z $1 ]
-then
-  prefix="$1"
-fi
-
-cmake_common="$prefix/share/libyui/buildtools/CMakeLists.common"
-cmake_target="./CMakeLists.txt"
-
-echo "checking for $cmake_common..."
-
-if [ -f "$cmake_common" ]
-then
-  ln -fs "$cmake_common" "$cmake_target"
-  echo "OK: linked to `pwd`/$cmake_target."
-else
-  echo "  Use must have libyui(-devel) >= 3.0.4 installed"
-  echo "  in \"$prefix\" first !!!"
-  exit 1
-fi
-
-exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-ncurses-2.57.2/cmake/Modules/FindCurses6.cmake 
new/libyui-ncurses-4.0.2/cmake/Modules/FindCurses6.cmake
--- old/libyui-ncurses-2.57.2/cmake/Modules/FindCurses6.cmake   2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/cmake/Modules/FindCurses6.cmake    1970-01-01 
01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-# - Try to find curses6
-# Once done this will define
-#  CURSES_FOUND - System has Curses6
-#  CURSES6_INCLUDE_DIR - The Curses6 include directory
-#  CURSES6_LIBRARIES - The libraries needed to use Curses6
-#  CURSES6_DEFINITIONS - Compiler switches required for using Curses6
-
-FOREACH(path ${CMAKE_LIBRARY_PATH} /usr/${LIB_DIR})
-  FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATHS ${path}/ncurses6 
${path} NO_DEFAULT_PATH)
-  FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATHS ${path}/ncurses6 
${path} NO_DEFAULT_PATH)
-  FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATHS ${path}/ncurses6 
${path} NO_DEFAULT_PATH)
-ENDFOREACH()
-
-SET(CURSES6_LIBRARIES ${CURSES6_NCURSESW_LIBRARY} ${CURSES6_PANELW_LIBRARY})
-# tinfo is optional (in 12.1 is not there)
-IF(${CURSES6_TINFO_LIBRARY})
-  SET(CURSES6_LIBRARIES "${CURSES6_LIBRARIES} ${CURSES6_TINFO_LIBRARY}")
-ENDIF(${CURSES6_TINFO_LIBRARY})
-
-FIND_PATH(CURSES6_INCLUDE_DIR ncurses.h PATH_SUFFIXES ncurses6)
-
-SET( CURSES6_DEFINITIONS "-DNCURSES_INTERNALS=1" )
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses6  DEFAULT_MSG
-                                  CURSES6_LIBRARIES CURSES6_INCLUDE_DIR)
-
-MARK_AS_ADVANCED(CURSES6_INCLUDE_DIR CURSES6_LIBRARIES CURSES6_DEFINITIONS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/doc/CMakeLists.txt 
new/libyui-ncurses-4.0.2/doc/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/doc/CMakeLists.txt        1970-01-01 
01:00:00.000000000 +0100
+++ new/libyui-ncurses-4.0.2/doc/CMakeLists.txt 2021-02-11 17:11:05.000000000 
+0100
@@ -0,0 +1,52 @@
+# CMakeLists.txt for libyui-ncurses/doc
+
+include( ../VERSION.cmake )
+
+find_package( Doxygen REQUIRED dot )
+
+
+set( PKG_NAME           libyui-ncurses${SONAME_MAJOR} )
+set( DOC_INSTALL_DIR    ${DOC_DESTDIR}/usr/share/doc/packages/${PKG_NAME} )
+
+
+#
+# Doxygen-generated autodocs
+#
+
+if ( DOXYGEN_FOUND )
+
+  set( DOXYGEN_GENERATE_TREEVIEW yes ) # Enable views tree HTML frame
+  set( DOXYGEN_QUIET             yes ) # Less verbose output
+  set( DOXYGEN_WARN_LOGFILE      doxygen-warnings.log )
+  # See build/CMakeDoxyfile.in for more supported variables
+
+  doxygen_add_docs( doc ../src )
+
+else()
+  message( WARNING "Missing doxygen package" )
+endif()
+
+
+#
+# Other (manually written) docs
+#
+
+file( GLOB DOC_FILES *.md ) # Collect all *.md files by wildcard
+# Don't glob *.txt (CMakeLists.txt!)
+# The license files (../COPYING*) are handled in the .spec file
+
+
+# Define a new custom make target "install-doc".
+# Notice that we can't use DESTDIR here since CMake only sets that
+# for "make install", not for this custom "make install-doc".
+# https://gist.github.com/shundhammer/12b6343309544a5920f51cd0063eeecf
+
+add_custom_target( install-doc
+  DEPENDS doc
+
+  COMMAND mkdir   -m 755 -p ${DOC_INSTALL_DIR}/html
+  COMMAND install -m 644 ${DOC_FILES} ${DOC_INSTALL_DIR}
+  COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/html ${DOC_INSTALL_DIR}
+
+  COMMENT "Installing documentation to ${DOC_INSTALL_DIR}" )
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/doc/keyboard_shortcuts.md 
new/libyui-ncurses-4.0.2/doc/keyboard_shortcuts.md
--- old/libyui-ncurses-2.57.2/doc/keyboard_shortcuts.md 1970-01-01 
01:00:00.000000000 +0100
+++ new/libyui-ncurses-4.0.2/doc/keyboard_shortcuts.md  2021-02-11 
17:11:05.000000000 +0100
@@ -0,0 +1,45 @@
+# Libyui-ncurses Keyboard Shortcuts
+
+The libyui-ncurses interface implements several keyboard shortcuts.
+
+## Widget Shortcuts
+
+Some widgets use special keyboard shortcuts. Make sure that the respective
+widget is active (the cursor is placed there).
+
+### Table
+
+- `Ctrl+O` - Change the ordering. After pressing it a list with the column
+  names is displayed. Select which column should be used for ordering, to
+  change the direction (ascending/descending) select the same column again.
+
+## Global Shortcuts
+
+These shortcuts can be used anytime, it does not matter which widget is active
+(or if any widget is active at all).
+
+- `Shift+F1` - Display a hot key help.
+
+- `Ctrl+L` - Redraw the current screen. If for whatever reason the screen
+  content it not displayed properly you can force redrawing the whole screen.
+
+- `Shift+F4` - Change the color style. This cycles over the built-in color 
styles.
+
+- `Shift+F6` - Ask for widget ID. Enter the ID of the button which should be
+  activated. This is intended for automated tests.
+
+- `Ctrl+D Shift+D` - Dump the current dialog into the log. It dumps the 
screenshot
+  and also the logical structure of the dialog (the widget tree).
+
+- `Ctrl+D Shift+Y` - Start the widget inspector. Displays a special dialog 
which
+  can navigate in the widget tree and display detailed widget properties. It 
can
+  also change some widget properties and even delete or add new widgets.
+
+- `Ctrl+D Shift+G` - Send a debug event. This should start the debugger in the
+  running application.
+
+- `Ctrl+D Shift+C` - Send a configuration event. This should display a special
+  dialog for configuring the application.
+
+- `Ctrl+D Shift+S` (only when `Y2NCDBG` environment variable is set) - Display
+  a special style testing dialog.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.changes 
new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.changes
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.changes        
2020-10-28 19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.changes 2021-02-11 
17:11:05.000000000 +0100
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Mon Feb  1 14:59:07 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
 Thu Jun 12 14:45:00 CEST 2012 - [email protected]
 
 - initial package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.spec 
new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.spec
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses-doc.spec   2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses-doc.spec    2021-02-11 
17:11:05.000000000 +0100
@@ -1,7 +1,8 @@
 #
 # spec file for package libyui-ncurses-doc
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2014-2019 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,65 +16,59 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-%define parent libyui-ncurses
-%define so_version 14
+%define         parent libyui-ncurses
+%define         so_version 15
 
 Name:           %{parent}-doc
-Version:        2.57.2
-Release:        0
-Source:         %{parent}-%{version}.tar.bz2
 
+# DO NOT manually bump the version here; instead, use   rake version:bump
+Version:        4.0.2
+Release:        0
 BuildArch:      noarch
 
-BuildRequires:  cmake >= 2.8
+BuildRequires:  cmake >= 3.10
 BuildRequires:  doxygen
+BuildRequires:  graphviz
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
-BuildRequires:  graphviz-gnome
-BuildRequires:  texlive-latex
-# YLabel::setAutoWrap()
 BuildRequires:  libyui-devel >= 3.10.0
 
 Url:            http://github.com/libyui/
 Summary:        Libyui-ncurses documentation
 License:        LGPL-2.1 or LGPL-3.0
-Group:          Documentation/HTML
+Source:         %{parent}-%{version}.tar.bz2
 
 %description
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
 
-This package provides the documentation. (HTML & PDF)
+This package provides HTML class documentation.
 
 
 %prep
-
 %setup -n %{parent}-%{version}
 
-%build
-
-export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
-export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
 
-./bootstrap.sh %{_prefix}
+%build
 
 mkdir build
 cd build
+
 cmake .. \
-        -DDOC_DIR=%{_docdir} \
-        -DDOCS_ONLY=ON
+  -DBUILD_DOC=on \
+  -DBUILD_SRC=off \
+  -DDOC_DESTDIR=$RPM_BUILD_ROOT
+
+# No "make doc" here: This would only duplicate the doxygen call
 
-make %{?jobs:-j%jobs} docs
 
 %install
 cd build
-make install DESTDIR="$RPM_BUILD_ROOT"
+make install-doc
+# This implicitly includes "make doc" unconditionally
 
 %fdupes -s $RPM_BUILD_ROOT/%_docdir/%{parent}%{so_version}
 
-%clean
-rm -rf "$RPM_BUILD_ROOT"
 
 %files
 %defattr(-,root,root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/package/libyui-ncurses.changes 
new/libyui-ncurses-4.0.2/package/libyui-ncurses.changes
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses.changes    2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses.changes     2021-02-11 
17:11:05.000000000 +0100
@@ -1,4 +1,40 @@
 -------------------------------------------------------------------
+Thu Feb 11 13:34:20 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Added keyboard shortcuts:
+    Ctrl-D Shift-G - start the debugger
+    Ctrl-D Shift-C - start the configuration console
+    (jsc#PM-1895, jsc#SLE-16263)
+- CMake fix: do not create the include/yui symlink if it already
+  exists
+- 4.0.2
+
+-------------------------------------------------------------------
+Thu Feb  4 10:19:11 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- In tables with nested items, only open/close branches with [Space],
+  don't also send an "Activated" event (bsc#1181789)
+- 4.0.1
+
+-------------------------------------------------------------------
+Mon Feb  1 14:59:06 UTC 2021 - Stefan Hundhammer <[email protected]>
+
+- New CMake build environment (bsc#1181653)
+- Bumped SO version to 15
+- 4.0.0
+
+-------------------------------------------------------------------
+Mon Feb  1 14:11:33 UTC 2021 - Ladislav Slez??k <[email protected]>
+
+- Block processing the idle loop after calling the closeUI()
+  method (bsc#1181647)
+
+  The terminal was actually still used by the UI after that
+  call and there was a race condition if the started application
+  after the call also used the terminal.
+- 2.57.3
+
+-------------------------------------------------------------------
 Wed Oct 28 16:23:14 UTC 2020 - Stefan Hundhammer <[email protected]>
 
 - Explicitly set item and line index in NCMultiSelectionBox and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/package/libyui-ncurses.spec 
new/libyui-ncurses-4.0.2/package/libyui-ncurses.spec
--- old/libyui-ncurses-2.57.2/package/libyui-ncurses.spec       2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/package/libyui-ncurses.spec        2021-02-11 
17:11:05.000000000 +0100
@@ -1,7 +1,8 @@
 #
 # spec file for package libyui-ncurses
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2015-2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020-2021 SUSE LLC, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,38 +18,33 @@
 
 
 Name:           libyui-ncurses
-Version:        2.57.2
+
+# DO NOT manually bump the version here; instead, use   rake version:bump
+Version:        4.0.2
 Release:        0
-Source:         %{name}-%{version}.tar.bz2
 
-%define so_version 14
-%define bin_name %{name}%{so_version}
+%define         so_version 15
+%define         libyui_devel_version libyui-devel >= 4.0.1
+%define         bin_name %{name}%{so_version}
 
-%if 0%{?suse_version} > 1325
-BuildRequires:  libboost_headers-devel
-%else
-BuildRequires:  boost-devel
-%endif
-BuildRequires:  cmake >= 2.8
+BuildRequires:  cmake >= 3.10
 BuildRequires:  gcc-c++
-BuildRequires:  pkg-config
-
-# YLabel::setAutoWrap()
-%define libyui_devel_version libyui-devel >= 3.10.0
-BuildRequires:  %{libyui_devel_version}
+BuildRequires:  boost-devel
 BuildRequires:  ncurses-devel
+BuildRequires:  %{libyui_devel_version}
 
 Url:            http://github.com/libyui/
-Summary:        Libyui - Character Based User Interface
+Summary:        Libyui - NCurses (text based) user interface
 License:        LGPL-2.1 or LGPL-3.0
-Group:          System/Libraries
+Source:         %{name}-%{version}.tar.bz2
 
 %description
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the NCurses (text based) user interface
+component for libyui.
 
 
 %package -n %{bin_name}
+Summary:        Libyui - NCurses (text based) user interface
 
 Requires:       glibc-locale
 Requires:       libyui%{so_version}
@@ -57,56 +53,43 @@
 Obsoletes:      yast2-ncurses < 2.42.0
 Provides:       yui_backend = %{so_version}
 
-Url:            http://github.com/libyui/
-Summary:        Libyui - Character Based User Interface
-Group:          System/Libraries
-
 %description -n %{bin_name}
-This package contains the character based (ncurses) user interface
-component for libYUI.
-
+This package contains the NCurses (text based) user interface
+component for libyui.
 
 
 %package devel
+Summary:        Libyui - Header fles for the NCurses (text based) user 
interface
 
-Requires:       %{libyui_devel_version}
-%if 0%{?suse_version} > 1325
-Requires:       libboost_headers-devel
-%else
-Requires:       boost-devel
-%endif
 Requires:       glibc-devel
 Requires:       libstdc++-devel
-Requires:       %{bin_name} = %{version}
+Requires:       boost-devel
 Requires:       ncurses-devel
-
-Url:            http://github.com/libyui/
-Summary:        Libyui-ncurses header files
-Group:          Development/Languages/C and C++
+Requires:       %{libyui_devel_version}
+Requires:       %{bin_name} = %{version}
 
 %description devel
-This package contains the character based (ncurses) user interface
-component for libYUI.
+This package contains the header files for the NCurses
+(text based) user interface component for libyui.
 
+This package is not needed to develop libyui-based applications,
+only to develop extensions for libyui-ncurses.
 
-This can be used independently of YaST for generic (C++) applications.
-This package has very few dependencies.
 
 %package tools
 
-Url:            http://github.com/libyui/
-Summary:        Libyui-ncurses tools
-Group:          System/Libraries
+Summary:        Libyui - tools for the NCurses (text based) user interface
+Requires:       screen
 # conflict with libyui-ncurses8, /usr/bin/libyui-terminal was originally there
 Conflicts:      %{name}8
 
-Requires:       screen
-
 %description tools
-Character based (ncurses) user interface component for libYUI.
+This package contains tools for the NCurses (text based)
+user interface component for libyui:
 
 libyui-terminal - useful for testing on headless machines
 
+
 %prep
 %setup -q -n %{name}-%{version}
 
@@ -115,41 +98,35 @@
 export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
 export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
 
-./bootstrap.sh %{_prefix}
-
 mkdir build
 cd build
 
 %if %{?_with_debug:1}%{!?_with_debug:0}
-cmake .. \
-        -DYPREFIX=%{_prefix} \
-        -DDOC_DIR=%{_docdir} \
-        -DLIB_DIR=%{_lib} \
-        -DCMAKE_BUILD_TYPE=RELWITHDEBINFO
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
 %else
-cmake .. \
-        -DYPREFIX=%{_prefix} \
-        -DDOC_DIR=%{_docdir} \
-        -DLIB_DIR=%{_lib} \
-        -DCMAKE_BUILD_TYPE=RELEASE
+CMAKE_OPTS="-DCMAKE_BUILD_TYPE=RELEASE"
 %endif
 
+cmake .. \
+ -DDOC_DIR=%{_docdir} \
+ -DLIB_DIR=%{_lib} \
+ $CMAKE_OPTS
+
 make %{?jobs:-j%jobs}
 
+
 %install
 cd build
 make install DESTDIR="$RPM_BUILD_ROOT"
-install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 install -m0755 -d $RPM_BUILD_ROOT/%{_libdir}/yui
+install -m0755 -d $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 install -m0644 ../COPYING* $RPM_BUILD_ROOT/%{_docdir}/%{bin_name}/
 
-%clean
-rm -rf "$RPM_BUILD_ROOT"
 
 %post -n %{bin_name} -p /sbin/ldconfig
-
 %postun -n %{bin_name} -p /sbin/ldconfig
 
+
 %files -n %{bin_name}
 %defattr(-,root,root)
 %dir %{_libdir}/yui
@@ -157,14 +134,13 @@
 %doc %dir %{_docdir}/%{bin_name}
 %license %{_docdir}/%{bin_name}/COPYING*
 
+
 %files devel
 %defattr(-,root,root)
 %dir %{_docdir}/%{bin_name}
 %{_libdir}/yui/lib*.so
 %{_prefix}/include/yui
-%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/cmake/%{name}
-%{_datadir}/libyui
+
 
 %files tools
 %defattr(-,root,root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/CMakeLists.txt 
new/libyui-ncurses-4.0.2/src/CMakeLists.txt
--- old/libyui-ncurses-2.57.2/src/CMakeLists.txt        2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/CMakeLists.txt 2021-02-11 17:11:05.000000000 
+0100
@@ -1,3 +1,283 @@
-PROCESS_SOURCES()
+# CMakeLists.txt for libyui-ncurses/src
 
-INSTALL(PROGRAMS libyui-terminal DESTINATION "${YPREFIX}/bin")
+include( ../VERSION.cmake )
+include( GNUInstallDirs )       # set CMAKE_INSTALL_INCLUDEDIR, ..._LIBDIR
+
+
+# Check if the libs we link against are available.
+# They are all part of package ncurses-devel.
+
+find_library( NCURSESW_LIB NAMES ncursesw REQUIRED )
+find_library( PANELW_LIB   NAMES panelw   REQUIRED )
+find_library( TINFO_LIB    NAMES tinfo    REQUIRED )
+
+set( NCURSES_LIBS ${NCURSESW_LIB} ${PANELW_LIB} ${TINFO_LIB} )
+
+
+#
+# libyui plugin specific
+#
+
+set( TARGETLIB          libyui-ncurses )
+set( TARGETLIB_BASE     yui-ncurses    )
+
+set( HEADERS_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/yui/ncurses )
+set( PLUGIN_DIR          ${CMAKE_INSTALL_LIBDIR}/yui ) # /usr/lib64/yui
+
+# if DESTDIR is set, CMAKE_INSTALL_INCLUDEDIR already contains it
+# during "make install" (but not for other make targets!):
+#
+#    sudo make install DESTDIR=/work/foo
+# or
+#    DESTDIR=/work/foo sudo make install
+#
+# -> the include files are installed to /work/foo/usr/include/...
+# We need that for RPM builds to install everything to $RPM_BUILD_ROOT.
+
+
+set( SOURCES
+  YNCursesUI.cc
+  NCApplication.cc
+  NCWidgetFactory.cc
+  NCOptionalWidgetFactory.cc
+
+  NCurses.cc
+  NCStyleDef.cc
+  NCstring.cc
+  NCstyle.cc
+  NCtext.cc
+  NCtoY2Event.cc
+  NCtypes.cc
+  lang2encoding.cc
+  ncursesp.cc
+  ncursesw.cc
+  position.cc
+  stringutil.cc
+
+  NCAlignment.cc
+  NCAskForDirectory.cc
+  NCAskForFile.cc
+  NCBusyIndicator.cc
+  NCButtonBox.cc
+  NCCheckBox.cc
+  NCCheckBoxFrame.cc
+  NCComboBox.cc
+  NCCustomStatusItemSelector.cc
+  NCDateField.cc
+  NCDialog.cc
+  NCDumbTab.cc
+  NCEmpty.cc
+  NCFileSelection.cc
+  NCFrame.cc
+  NCImage.cc
+  NCInputField.cc
+  NCInputTextBase.cc
+  NCIntField.cc
+  NCItemSelector.cc
+  NCLabel.cc
+  NCLayoutBox.cc
+  NCLogView.cc
+  NCMenuBar.cc
+  NCMenuButton.cc
+  NCMultiLineEdit.cc
+  NCMultiSelectionBox.cc
+  NCPackageSelectorPluginStub.cc
+  NCPad.cc
+  NCPadWidget.cc
+  NCPopup.cc
+  NCPopupInfo.cc
+  NCPopupList.cc
+  NCPopupMenu.cc
+  NCPopupTable.cc
+  NCPopupTextEntry.cc
+  NCProgressBar.cc
+  NCPushButton.cc
+  NCRadioButton.cc
+  NCRadioButtonGroup.cc
+  NCReplacePoint.cc
+  NCRichText.cc
+  NCSelectionBox.cc
+  NCSpacing.cc
+  NCSquash.cc
+  NCTable.cc
+  NCTableItem.cc
+  NCTablePad.cc
+  NCTablePadBase.cc
+  NCTableSort.cc
+  NCTextPad.cc
+  NCTimeField.cc
+  NCTree.cc
+  NCTreePad.cc
+  NCWidget.cc
+  NCWordWrapper.cc
+  )
+
+
+set( HEADERS
+  YNCursesUI.h
+  NCApplication.h
+  NCWidgetFactory.h
+  NCOptionalWidgetFactory.h
+
+  NCurses.h
+  NCi18n.h
+  NCstring.h
+  NCstyle.h
+  NCtext.h
+  NCtoY2Event.h
+  NCtypes.h
+  CyclicContainer.h
+  ncursesp.h
+  ncursesw.h
+  position.h
+  stdutil.h
+  stringutil.h
+  tnode.h
+
+  NCAlignment.h
+  NCAskForDirectory.h
+  NCAskForFile.h
+  NCBusyIndicator.h
+  NCButtonBox.h
+  NCCheckBox.h
+  NCCheckBoxFrame.h
+  NCComboBox.h
+  NCCustomStatusItemSelector.h
+  NCDateField.h
+  NCDialog.h
+  NCDumbTab.h
+  NCEmpty.h
+  NCFileSelection.h
+  NCFrame.h
+  NCImage.h
+  NCInputField.h
+  NCInputTextBase.h
+  NCIntField.h
+  NCItemSelector.h
+  NCLabel.h
+  NCLayoutBox.h
+  NCLogView.h
+  NCMenuBar.h
+  NCMenuButton.h
+  NCMultiLineEdit.h
+  NCMultiSelectionBox.h
+  NCPackageSelectorPluginIf.h
+  NCPackageSelectorPluginStub.h
+  NCPad.h
+  NCPadWidget.h
+  NCPopup.h
+  NCPopupInfo.h
+  NCPopupList.h
+  NCPopupMenu.h
+  NCPopupTable.h
+  NCPopupTextEntry.h
+  NCProgressBar.h
+  NCPushButton.h
+  NCRadioButton.h
+  NCRadioButtonGroup.h
+  NCReplacePoint.h
+  NCRichText.h
+  NCSelectionBox.h
+  NCSpacing.h
+  NCSquash.h
+  NCStyleDef.h
+  NCTable.h
+  NCTableItem.h
+  NCTablePad.h
+  NCTablePadBase.h
+  NCTableSort.h
+  NCTextPad.h
+  NCTimeField.h
+  NCTree.h
+  NCTreePad.h
+  NCWidget.h
+  NCWordWrapper.h
+
+  NCstyle.braille.h
+  NCstyle.highcontrast.h
+  NCstyle.inverted.h
+  NCstyle.linux.h
+  NCstyle.mono.h
+  NCstyle.rxvt.h
+  NCstyle.xterm.h
+  )
+
+
+
+# Add shared lib to be built
+add_library( ${TARGETLIB} SHARED ${SOURCES} ${HEADERS} )
+
+
+#
+# Include directories and compile options
+#
+
+set( LOCAL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include )
+
+# Symlink ../../libyui/src to build/src/include/yui
+# so the headers there can be included as <yui/YFoo.h>
+add_custom_target( local-include-dir
+  # check if the symlink already exists
+  COMMAND if [ ! -L "${LOCAL_INCLUDE_DIR}/yui" ]\; then
+      rm -rf ${LOCAL_INCLUDE_DIR}\;
+      mkdir  ${LOCAL_INCLUDE_DIR}\;
+      ln -s  ${CMAKE_CURRENT_SOURCE_DIR}/../../libyui/src 
${LOCAL_INCLUDE_DIR}/yui\;
+    fi
+  )
+
+add_dependencies( ${TARGETLIB} local-include-dir )
+target_include_directories( ${TARGETLIB} BEFORE PUBLIC ${LOCAL_INCLUDE_DIR} )
+
+# Allow operator<<() to output internal values of NCurses WINDOW etc.
+target_compile_definitions( ${TARGETLIB} PUBLIC NCURSES_INTERNALS=1 )
+
+
+# Add more compile options to this target in addition to those
+# added in the toplevel CMakeLists.txt and target_compile_definitions().
+#
+# Notice that CMake will automatically add -fPIC etc. where needed,
+# like for this shared lib.
+### target_compile_options( ${TARGETLIB} PUBLIC "-Dfoo" )
+
+# Show the complete compiler commands with all arguments:
+#   make VERBOSE=1
+
+# Add more compile options to an individual source file:
+### set_source_files_properties( YUI.cc PROPERTIES COMPILE_OPTIONS "-Dfoo" )
+
+
+#
+# Linking
+#
+
+# Find yui during a combined build
+target_link_directories( ${TARGETLIB} BEFORE PUBLIC ../../libyui/build/src )
+
+
+# Libraries that are needed to build this shared lib
+#
+# If in doubt what is really needed, check with "ldd -u" which libs are unused.
+target_link_libraries( ${TARGETLIB}
+  yui
+  ${NCURSES_LIBS}
+  )
+
+
+# 
https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html#target-properties
+set_target_properties( ${TARGETLIB} PROPERTIES
+  VERSION       ${SONAME}           # From ../VERSION.cmake
+  SOVERSION     ${SONAME_MAJOR}     # From ../VERSION.cmake
+  OUTPUT_NAME   ${TARGETLIB_BASE}
+  )
+
+
+#
+# Install
+#
+
+# Install the headers first so the message about the lib does not scroll away
+install( FILES   ${HEADERS}   DESTINATION ${HEADERS_INSTALL_DIR} )
+install( TARGETS ${TARGETLIB} LIBRARY DESTINATION ${PLUGIN_DIR} )
+
+# This script is collected in the .spec file as the contents of the -tools 
subpackage
+install( PROGRAMS libyui-terminal DESTINATION bin )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCApplication.cc 
new/libyui-ncurses-4.0.2/src/NCApplication.cc
--- old/libyui-ncurses-2.57.2/src/NCApplication.cc      2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCApplication.cc       2021-02-11 
17:11:05.000000000 +0100
@@ -179,10 +179,18 @@
     // via system() can use them and draw something to the terminal
     dup2( YNCursesUI::ui()->stdout_save, 1 );
     dup2( YNCursesUI::ui()->stderr_save, 2 );
+
+    // stop processing the idle loop to avoid potential collisions
+    // with the other process running on the terminal, the idle loop might 
redraw
+    // the UI and reading the user input would eat some user entered characters
+    YNCursesUI::ui()->idleLoopSetEnabled(false);
 }
 
 void
 NCApplication::openUI() {
+    // enable the idle loop back
+    YNCursesUI::ui()->idleLoopSetEnabled(true);
+
     // Redirect stdout and stderr to y2log again
     YNCursesUI::ui()->RedirectToLog();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCDialog.cc 
new/libyui-ncurses-4.0.2/src/NCDialog.cc
--- old/libyui-ncurses-2.57.2/src/NCDialog.cc   2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCDialog.cc    2021-02-11 17:11:05.000000000 
+0100
@@ -1160,6 +1160,13 @@
                        YDialogSpy::showDialogSpy();
                        break;
 
+                       case 'C':
+                               pendingEvent = NCursesEvent::special_key_config;
+                       break;
+
+                       case 'G':
+                               pendingEvent = NCursesEvent::debug;
+                       break;
                }
 
                break;
@@ -1386,10 +1393,13 @@
            "<p><b>Shift-F4</b> Change color schema.</p>"
            "<p><b>Ctrl-\\</b> Quit the application.</p>"
            "<p><b>Ctrl-L</b> Refresh screen.</p>"
+           "<p><b>Ctrl-O</b> Change table ordering, selecting the same column 
again changes the direction.</p>"
            "<p><b>Ctrl-D F1</b> Show a list of advanced hotkeys.</p>"
            "<p><b>Ctrl-D Shift-D</b> Dump dialog to the log file as a screen 
shot.</p>"
            "<p><b>Ctrl-D Shift-Y</b> Open YDialogSpy to see the widget 
hierarchy.</p>"
-           "<p>Depending on your desktop environment some of these key 
combinations <br/>might not work.</p>" ),
+           "<p><b>Ctrl-D Shift-G</b> Send a debug event, start the 
debugger.</p>"
+           "<p><b>Ctrl-D Shift-C</b> Send a config event, display special 
configuration options.</p>"
+           "<p>Depending on your desktop environment some of these key 
combinations might not work.</p>" ),
        true );
 
     // restore former text domain
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCOptionalWidgetFactory.cc 
new/libyui-ncurses-4.0.2/src/NCOptionalWidgetFactory.cc
--- old/libyui-ncurses-2.57.2/src/NCOptionalWidgetFactory.cc    2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCOptionalWidgetFactory.cc     2021-02-11 
17:11:05.000000000 +0100
@@ -24,8 +24,8 @@
 
 #include "NCOptionalWidgetFactory.h"
 #include <yui/YUIException.h>
-#include <NCTimeField.h>
-#include <NCDateField.h>
+#include "NCTimeField.h"
+#include "NCDateField.h"
 
 
 #define THROW_UNSUPPORTED( WIDGET_TYPE ) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCTable.cc 
new/libyui-ncurses-4.0.2/src/NCTable.cc
--- old/libyui-ncurses-2.57.2/src/NCTable.cc    2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCTable.cc     2021-02-11 17:11:05.000000000 
+0100
@@ -556,7 +556,6 @@
 NCursesEvent NCTable::wHandleInput( wint_t key )
 {
     NCursesEvent ret  = NCursesEvent::none;
-    bool sendEvent    = false;
     int  currentIndex = getCurrentItem();
 
     // Call the pad's input handler via NCPadWidget::handleInput()
@@ -586,27 +585,33 @@
             break;
 
 
+        case KEY_SPACE:
+            
+            if ( ! handled ) // NCTableLine::handleInput() handles 
opening/closing branches
+            {
+                if ( _multiSelect )
+                {
+                    toggleCurrentItem();
+
+                    if ( notify() )
+                        return NCursesEvent::ValueChanged;
+                }
+            }
+            break;
+            
         // Even if the event was already handled:
         // Take care about sending UI events to the caller.
 
         case KEY_RETURN:
 
-            sendEvent = true;
-
-            if ( _multiSelect)
+            if ( _multiSelect )
             {
                 toggleCurrentItem();
 
-                // Send ValueChanged on Return (like done for NCTree 
multiSelection)
-
-                if ( notify() && sendEvent )
+                if ( notify() )
                     return NCursesEvent::ValueChanged;
             }
-            // FALLTHRU
-
-        case KEY_SPACE:
-
-            if ( !_multiSelect )
+            else // !_multiSelect
             {
                 if ( notify() && currentIndex != -1 )
                     return NCursesEvent::Activated;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCi18n.h 
new/libyui-ncurses-4.0.2/src/NCi18n.h
--- old/libyui-ncurses-2.57.2/src/NCi18n.h      2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCi18n.h       2021-02-11 17:11:05.000000000 
+0100
@@ -26,9 +26,7 @@
 #define NCi18n_h
 
 #include <libintl.h>
-
 #include <yui/YSettings.h>
-#include <yui/Libyui_config.h>
 
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCtoY2Event.cc 
new/libyui-ncurses-4.0.2/src/NCtoY2Event.cc
--- old/libyui-ncurses-2.57.2/src/NCtoY2Event.cc        2020-10-28 
19:29:41.000000000 +0100
+++ new/libyui-ncurses-4.0.2/src/NCtoY2Event.cc 2021-02-11 17:11:05.000000000 
+0100
@@ -76,6 +76,12 @@
        case cancel:
            return new YCancelEvent();
 
+       case debug:
+           return new YDebugEvent();
+
+       case special_key_config:
+           return new YSpecialKeyEvent("config");
+
        case timeout:
            return new YTimeoutEvent();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCtoY2Event.h 
new/libyui-ncurses-4.0.2/src/NCtoY2Event.h
--- old/libyui-ncurses-2.57.2/src/NCtoY2Event.h 2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCtoY2Event.h  2021-02-11 17:11:05.000000000 
+0100
@@ -26,7 +26,7 @@
 #ifndef NCtoY2Event_h
 #define NCtoY2Event_h
 
-#include <NCurses.h>   // NCursesEvent, iostream
+#include "NCurses.h"   // NCursesEvent, iostream
 
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCurses.cc 
new/libyui-ncurses-4.0.2/src/NCurses.cc
--- old/libyui-ncurses-2.57.2/src/NCurses.cc    2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCurses.cc     2021-02-11 17:11:05.000000000 
+0100
@@ -30,8 +30,6 @@
 #include <list>
 #include <set>
 
-#include <yui/Libyui_config.h>
-
 #define  YUILogComponent "ncurses"
 #include <yui/YUILog.h>
 #include "NCurses.h"
@@ -117,6 +115,8 @@
        ENUM_OUT( menu );
        ENUM_OUT( timeout );
        ENUM_OUT( key );
+       ENUM_OUT( debug );
+       ENUM_OUT( special_key_config );
     }
 
 #undef ENUM_OUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/NCurses.h 
new/libyui-ncurses-4.0.2/src/NCurses.h
--- old/libyui-ncurses-2.57.2/src/NCurses.h     2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/NCurses.h      2021-02-11 17:11:05.000000000 
+0100
@@ -82,7 +82,9 @@
        timeout,
        button,
        menu,
-       key
+       key,
+       debug,
+       special_key_config
     };
 
     enum DETAIL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/YNCursesUI.cc 
new/libyui-ncurses-4.0.2/src/YNCursesUI.cc
--- old/libyui-ncurses-2.57.2/src/YNCursesUI.cc 2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/YNCursesUI.cc  2021-02-11 17:11:05.000000000 
+0100
@@ -62,7 +62,7 @@
 }
 
 YNCursesUI::YNCursesUI( bool withThreads, bool topmostConstructor )
-       : YUI( withThreads )
+       : YUI( withThreads ), idle_loop_enabled(true)
 {
     yuiMilestone() << "Start YNCursesUI" << std::endl;
     _ui = this;
@@ -151,6 +151,10 @@
     return app;
 }
 
+void YNCursesUI::idleLoopSetEnabled( bool enabled )
+{
+    idle_loop_enabled = enabled;
+}
 
 void YNCursesUI::idleLoop( int fd_ycp )
 {
@@ -177,7 +181,7 @@
            if ( errno != EINTR )
                yuiError() << "idleLoop error in select() (" << errno << ')' << 
std::endl;
        }
-       else if ( retval != 0 )
+       else if ( retval != 0 && idle_loop_enabled )
        {
            //do not throw here, as current dialog may not necessarily exist yet
            //if we have threads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-2.57.2/src/YNCursesUI.h 
new/libyui-ncurses-4.0.2/src/YNCursesUI.h
--- old/libyui-ncurses-2.57.2/src/YNCursesUI.h  2020-10-28 19:29:41.000000000 
+0100
+++ new/libyui-ncurses-4.0.2/src/YNCursesUI.h   2021-02-11 17:11:05.000000000 
+0100
@@ -85,6 +85,11 @@
      **/
     static YNCursesUI * _ui;
 
+    /**
+     * Enable or disable the idle loop (processing the user input)
+     **/
+    bool idle_loop_enabled;
+
 public:
 
     /**
@@ -132,6 +137,11 @@
      * the user actions.
      **/
     void sendEvent( NCursesEvent event );
+
+    /**
+     * Enable or disable the idle loop processing.
+     **/
+    void idleLoopSetEnabled( bool enabled = true );
 };
 
 

Reply via email to