<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/src/interface-curses.h, branch v2.5.2</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>interfaces have their own automake subdirectories and convenience libraries now</title>
<updated>2016-01-31T04:04:50+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-01-31T04:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=ea0179e342343f5fbefb265bde4dea0d475f0781'/>
<id>ea0179e342343f5fbefb265bde4dea0d475f0781</id>
<content type='text'>
 * use libtool convenience libraries as much as possible
   (for all static libraries except Scintilla)
 * improves separation of language and user interface implementations
   (e.g. the Gtk widgets are not interesting for the rest of SciTECO)
 * the Curses popup widget can now be factored out of interface-curses.cpp
 * some common CPPFLAGS are now defined by ./configure via AM_CPPFLAGS,
   so they don't have to be repeated in each submodule.
 * fixed building the Curses UI: GTK_FLOW_BOX_FALLBACK conditional
   must always be defined.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * use libtool convenience libraries as much as possible
   (for all static libraries except Scintilla)
 * improves separation of language and user interface implementations
   (e.g. the Gtk widgets are not interesting for the rest of SciTECO)
 * the Curses popup widget can now be factored out of interface-curses.cpp
 * some common CPPFLAGS are now defined by ./configure via AM_CPPFLAGS,
   so they don't have to be repeated in each submodule.
 * fixed building the Curses UI: GTK_FLOW_BOX_FALLBACK conditional
   must always be defined.
</pre>
</div>
</content>
</entry>
<entry>
<title>updated copyright to 2016</title>
<updated>2016-01-28T01:45:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-01-28T01:25:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e3818dae4b4a5fa2af9c982a0b3a3cf4d15cb373'/>
<id>e3818dae4b4a5fa2af9c982a0b3a3cf4d15cb373</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>minor Clang and OS X compilation fixes</title>
<updated>2015-10-14T14:06:30+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-10-14T14:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=574a7ff80b7a5c73e0993a25ef7996f83eee0d45'/>
<id>574a7ff80b7a5c73e0993a25ef7996f83eee0d45</id>
<content type='text'>
 * we cannot use G_N_ELEMENTS in attribute declarations with Clang
   unless declaring C++11. In this case, since the size of the orig_color_table
   is fixed anyway, the declaration was simply fixed.
 * some reordering was necessary in cmdline.cpp. This should not
   have any influence on GCC when optimizations are enabled.
 * Scintilla/Scinterm had to be updated as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * we cannot use G_N_ELEMENTS in attribute declarations with Clang
   unless declaring C++11. In this case, since the size of the orig_color_table
   is fixed anyway, the declaration was simply fixed.
 * some reordering was necessary in cmdline.cpp. This should not
   have any influence on GCC when optimizations are enabled.
 * Scintilla/Scinterm had to be updated as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>curses UI: fixed truncation of non-filename popup entries</title>
<updated>2015-09-25T10:52:27+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-09-25T10:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=21e0d302fc849d9f8827b9f2cb93472f7c30fafe'/>
<id>21e0d302fc849d9f8827b9f2cb93472f7c30fafe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>curses UI: properly truncate q-register and file names</title>
<updated>2015-09-25T10:52:27+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-09-25T09:29:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=b710f6a01db827a6a6ea9f74894a6d3dec330734'/>
<id>b710f6a01db827a6a6ea9f74894a6d3dec330734</id>
<content type='text'>
 * format_str() will now automatically right-truncate strings (with
   formatted control characters) exceeding the window width (or provided
   maximum width of formatted characters).
   This means that Q-Register names in the info line are now properly
   truncated.
 * introduced format_filename() which takes care of canonicalizing
   control characters in a given filename and truncate the filename
   if necessary. Filenames are currently left-truncated since the file
   name proper and the directory containing it is more significant
   than the directory names closer to the root.
   On Windows, we make sure that the drive letter is not truncated.
   The truncation rules may have to be further tweaked later.
   This feature properly truncated file names in the info line and
   in the auto-completion popup.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * format_str() will now automatically right-truncate strings (with
   formatted control characters) exceeding the window width (or provided
   maximum width of formatted characters).
   This means that Q-Register names in the info line are now properly
   truncated.
 * introduced format_filename() which takes care of canonicalizing
   control characters in a given filename and truncate the filename
   if necessary. Filenames are currently left-truncated since the file
   name proper and the directory containing it is more significant
   than the directory names closer to the root.
   On Windows, we make sure that the drive letter is not truncated.
   The truncation rules may have to be further tweaked later.
   This feature properly truncated file names in the info line and
   in the auto-completion popup.
</pre>
</div>
</content>
</entry>
<entry>
<title>Curses UI: revised popup area, with borders and a scroll bar; reduce flickering</title>
<updated>2015-07-15T03:32:53+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-07-15T02:36:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=8baae7579973b755b47250742d9a1a94795ae1bb'/>
<id>8baae7579973b755b47250742d9a1a94795ae1bb</id>
<content type='text'>
 * InterfaceCurses::Popup has been turned into a proper class.
   This made sense since it is more complicated now and allows
   us to isolate popup-related code.
   This will also ease moving the popup code as a widget into
   its own file later (it seems we will need subdirs per interface
   anyway).
 * the popup is now implemented using curses pads of which pages
   are copied into the popup window (to implement cycling through
   the list of entries). This simplifies things conceptually.
 * instead of a trailing ellipsis, scrollbars are shown if the popup
   area is too small to show all entries.
   This looks much better and consistent with regard to Scinterm's
   scrollbars. Also, the planned GTK+ popup widget rewrite will have
   scroll bars, too for cycling through the list of entries.
   Therefore, the popup window will now always be the same size
   when cycling. This also looks better.
 * Borders are drawn around the popup area.
   This makes sense since the popup area had to be colored distinctly
   just to be able to discern it from the rest of the UI (esp. the
   Scintilla view). Now, less annoying colors may be used by default
   or set up in color profiles while still maintaining good visibility.
   Also, with the borders added, the popup area looks more consistent
   when it covers the entire screen.
 * Entries that are too long to fit on the screen (e.g. long file names)
   are now truncated with a bold/underline ellipsis.
 * Use scintilla_noutrefresh() to refresh the Scintilla view.
   Since popups have to be refreshed __after__ the Scintilla view,
   this improves performance significantly and reduces flickering
   when displaying large popups.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * InterfaceCurses::Popup has been turned into a proper class.
   This made sense since it is more complicated now and allows
   us to isolate popup-related code.
   This will also ease moving the popup code as a widget into
   its own file later (it seems we will need subdirs per interface
   anyway).
 * the popup is now implemented using curses pads of which pages
   are copied into the popup window (to implement cycling through
   the list of entries). This simplifies things conceptually.
 * instead of a trailing ellipsis, scrollbars are shown if the popup
   area is too small to show all entries.
   This looks much better and consistent with regard to Scinterm's
   scrollbars. Also, the planned GTK+ popup widget rewrite will have
   scroll bars, too for cycling through the list of entries.
   Therefore, the popup window will now always be the same size
   when cycling. This also looks better.
 * Borders are drawn around the popup area.
   This makes sense since the popup area had to be colored distinctly
   just to be able to discern it from the rest of the UI (esp. the
   Scintilla view). Now, less annoying colors may be used by default
   or set up in color profiles while still maintaining good visibility.
   Also, with the borders added, the popup area looks more consistent
   when it covers the entire screen.
 * Entries that are too long to fit on the screen (e.g. long file names)
   are now truncated with a bold/underline ellipsis.
 * Use scintilla_noutrefresh() to refresh the Scintilla view.
   Since popups have to be refreshed __after__ the Scintilla view,
   this improves performance significantly and reduces flickering
   when displaying large popups.
</pre>
</div>
</content>
</entry>
<entry>
<title>curses UI: support terminal palette restoration on PDCurses/win32 and xterm</title>
<updated>2015-07-14T01:29:29+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-07-14T01:29:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=45e2f9a5c6a8ac29ce9fa1bf2e18343098c4a050'/>
<id>45e2f9a5c6a8ac29ce9fa1bf2e18343098c4a050</id>
<content type='text'>
 * palette changes are persistent on PDCurses/win32, too.
   Fortunately, on this port we can reliably query the console palette.
   This is done ONLY on PDcurses/win32 since on other ports (notably
   ncurses), this can cause more harm than it helps.
 * support palette restoration on xterm by hardcoding the appropriate
   escape sequence. $TERM cannot be used to identify xterm, but
   looking at $XTERM_VERSION is sufficient hopefully.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * palette changes are persistent on PDCurses/win32, too.
   Fortunately, on this port we can reliably query the console palette.
   This is done ONLY on PDcurses/win32 since on other ports (notably
   ncurses), this can cause more harm than it helps.
 * support palette restoration on xterm by hardcoding the appropriate
   escape sequence. $TERM cannot be used to identify xterm, but
   looking at $XTERM_VERSION is sufficient hopefully.
</pre>
</div>
</content>
</entry>
<entry>
<title>programmable terminal color redefinition and theming SciTECO curses UI based on Scintilla styles</title>
<updated>2015-07-13T22:18:28+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-07-13T21:35:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f69d1f04c841521c17542cd00f9851db1ff3e220'/>
<id>f69d1f04c841521c17542cd00f9851db1ff3e220</id>
<content type='text'>
 * The first 16 colors of the terminal palette can be redefined
   using the 3EJ property - with all restrictions that ncurses
   and UNIX terminals impose on us.
   It is still important to be able to redefine the palette for
   some color schemes like Solarized since it may be difficult
   for users to set up the terminal emulator's palette manually.
   Also when using PDCurses, setting the palette is port-specific
   or only possible using init_color(). In order to allow color
   redefinitions across all curses ports it makes sense if SciTECO
   gives access to the color initialization of curses even if it can
   guarantee very little about its semantics in general.
 * 3EJ is completely ignored for GTK+
 * use the STYLE_DEFAULT of the current document to style the message line.
   Fg and bg colors are reversed to guarantee a good contrast to the
   Scintilla view.
   Errors are still hardcoded to a red background, warnings to yellow
   and info messages to green.
   This allows color-scheming more of SciTECO given that the
   red, yellow and green terminal colors are not changed fundamentally
   in the terminal's palette.
 * info line is now also styled using STYLE_DEFAULT (reverse colors).
   The Q-Register and buffer names are now written out using format_str()
   which means that control characters are written out in REVERSE just
   like in the command line.
   String::canonicalize_ctl() is still used to canonicalize window
   titles.
 * Command line is now modelled as a curses Pad and "blitted" to the
   command line window. This allowed simplification of the command line
   drawing code and introduction of format_str().
   The command line is now styled according to STYLE_DEFAULT (original
   fg and bg colors).
   The rubbed-out part of the command line can now longer be shown in
   bold black - or even bold light black - since that is not visible in
   all color themes. Instead it is now only shown in bold.
   Command line theming problems will be gone once we use a Scintilla
   view for the command line.
 * The popup widget is now styled according to STYLE_CALLTIP.
 * This means that all relevant parts of SciTECO's user interface
   can now be themed. This allows the creation of themes that redefine
   the terminal palette radically (e.g. Solarized) and the creation of
   "bright" themes (e.g. Solarized/bright).
 * theming of the non-scintilla-view parts of SciTECO is currently
   unsupported on GTK+. The reason is that both the popup widget
   and command line widgets have to be rewritten completely in GTK+
   and are work in progress, so adapting the current code would be
   a waste of time.
 * Added a manual section about the UI and theming.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * The first 16 colors of the terminal palette can be redefined
   using the 3EJ property - with all restrictions that ncurses
   and UNIX terminals impose on us.
   It is still important to be able to redefine the palette for
   some color schemes like Solarized since it may be difficult
   for users to set up the terminal emulator's palette manually.
   Also when using PDCurses, setting the palette is port-specific
   or only possible using init_color(). In order to allow color
   redefinitions across all curses ports it makes sense if SciTECO
   gives access to the color initialization of curses even if it can
   guarantee very little about its semantics in general.
 * 3EJ is completely ignored for GTK+
 * use the STYLE_DEFAULT of the current document to style the message line.
   Fg and bg colors are reversed to guarantee a good contrast to the
   Scintilla view.
   Errors are still hardcoded to a red background, warnings to yellow
   and info messages to green.
   This allows color-scheming more of SciTECO given that the
   red, yellow and green terminal colors are not changed fundamentally
   in the terminal's palette.
 * info line is now also styled using STYLE_DEFAULT (reverse colors).
   The Q-Register and buffer names are now written out using format_str()
   which means that control characters are written out in REVERSE just
   like in the command line.
   String::canonicalize_ctl() is still used to canonicalize window
   titles.
 * Command line is now modelled as a curses Pad and "blitted" to the
   command line window. This allowed simplification of the command line
   drawing code and introduction of format_str().
   The command line is now styled according to STYLE_DEFAULT (original
   fg and bg colors).
   The rubbed-out part of the command line can now longer be shown in
   bold black - or even bold light black - since that is not visible in
   all color themes. Instead it is now only shown in bold.
   Command line theming problems will be gone once we use a Scintilla
   view for the command line.
 * The popup widget is now styled according to STYLE_CALLTIP.
 * This means that all relevant parts of SciTECO's user interface
   can now be themed. This allows the creation of themes that redefine
   the terminal palette radically (e.g. Solarized) and the creation of
   "bright" themes (e.g. Solarized/bright).
 * theming of the non-scintilla-view parts of SciTECO is currently
   unsupported on GTK+. The reason is that both the popup widget
   and command line widgets have to be rewritten completely in GTK+
   and are work in progress, so adapting the current code would be
   a waste of time.
 * Added a manual section about the UI and theming.
</pre>
</div>
</content>
</entry>
<entry>
<title>major Curses UI revision: initialize curses as late as possible</title>
<updated>2015-06-22T02:05:02+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-06-18T14:24:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=8101cec729c07fd5bdeda70c12dbb43a2383cbe8'/>
<id>8101cec729c07fd5bdeda70c12dbb43a2383cbe8</id>
<content type='text'>
 * relies on a patched version of Scinterm that allows you to
   construct Scintilla objects, send messages etc. before Curses
   is initialized.
   The Scintilla and Scinterm submodules have been updated.
 * This once and for all fixes batch mode and stdio redirections
   in batch mode on all Curses platforms and operating systems.
 * Fixes the ^C-does-not-interrupt bug on ncurses/UNIX.
   See #4.
 * On ncurses/UNIX we will still do a newterm()-initialization.
   This allows us to keep stdout/stderr alone in case they are
   redirected. This effectively allows redirecting SciTECO's
   output into a file even in interactive mode.
   ncurses/UNIX now behaves like, e.g. PDCurses/win32a and GTK+
   in this regard.
 * Curses environment variable handling fixed.
   The environment registers are exported into the process environment
   so that Curses environment variables can be set/modified by the
   SciTECO profile.
 * Use term.h for accessing terminfo now.
   Explained set_window_title() limitations.
 * fixed interruption via SIGINT. If the UI is waiting for user
   input, SIGINT is effectively ignored instead of letting the
   next character fail always.
 * Updated sciteco(1) and sciteco(7): More options, environment variables
   and signals documented. Also rewritten DESCRIPTION section
   (different modes of operation).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * relies on a patched version of Scinterm that allows you to
   construct Scintilla objects, send messages etc. before Curses
   is initialized.
   The Scintilla and Scinterm submodules have been updated.
 * This once and for all fixes batch mode and stdio redirections
   in batch mode on all Curses platforms and operating systems.
 * Fixes the ^C-does-not-interrupt bug on ncurses/UNIX.
   See #4.
 * On ncurses/UNIX we will still do a newterm()-initialization.
   This allows us to keep stdout/stderr alone in case they are
   redirected. This effectively allows redirecting SciTECO's
   output into a file even in interactive mode.
   ncurses/UNIX now behaves like, e.g. PDCurses/win32a and GTK+
   in this regard.
 * Curses environment variable handling fixed.
   The environment registers are exported into the process environment
   so that Curses environment variables can be set/modified by the
   SciTECO profile.
 * Use term.h for accessing terminfo now.
   Explained set_window_title() limitations.
 * fixed interruption via SIGINT. If the UI is waiting for user
   input, SIGINT is effectively ignored instead of letting the
   next character fail always.
 * Updated sciteco(1) and sciteco(7): More options, environment variables
   and signals documented. Also rewritten DESCRIPTION section
   (different modes of operation).
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed compiling on G++ v4.4: It needs a more verbose syntax when calling template base class constructors</title>
<updated>2015-03-18T01:53:56+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-03-18T01:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c3e9da06da7d36fcfb62427851592fc1ba87dbe8'/>
<id>c3e9da06da7d36fcfb62427851592fc1ba87dbe8</id>
<content type='text'>
 * v4.4 is still officially supported by SciTECO (see INSTALL)
 * Ubuntu Lucid appears to use v4.4 by default and lucid is till
   supported by PPA. So this should fix building SciTECO in its PPA
   for Ubuntu Lucid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * v4.4 is still officially supported by SciTECO (see INSTALL)
 * Ubuntu Lucid appears to use v4.4 by default and lucid is till
   supported by PPA. So this should fix building SciTECO in its PPA
   for Ubuntu Lucid.
</pre>
</div>
</content>
</entry>
</feed>
