<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/src/interface-curses.cpp, 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>ncurses: use a default escape delay of 25ms</title>
<updated>2015-12-30T20:01:54+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-12-30T20:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=dc02222f9a633b2f76586a1d4a7d1632d1845b27'/>
<id>dc02222f9a633b2f76586a1d4a7d1632d1845b27</id>
<content type='text'>
 * this practically fixes the delay issues when using
   the escape key since 25ms is too short for humans to notice.
   Still it should be large enough for all practical terminal
   emulators and transmission speeds to get escape sequences
   transmitted.
 * If the escape delay turns out to be too short, it can still
   be overwritten using the (standard ncurses) $ESCDELAY environment
   variable.
 * fnkeys.tes will still provide the escape surrogate since the
   insert key will often be in a better possition on computer
   keyboards.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * this practically fixes the delay issues when using
   the escape key since 25ms is too short for humans to notice.
   Still it should be large enough for all practical terminal
   emulators and transmission speeds to get escape sequences
   transmitted.
 * If the escape delay turns out to be too short, it can still
   be overwritten using the (standard ncurses) $ESCDELAY environment
   variable.
 * fnkeys.tes will still provide the escape surrogate since the
   insert key will often be in a better possition on computer
   keyboards.
</pre>
</div>
</content>
</entry>
<entry>
<title>avoid compiler warning in interface-curses.cpp</title>
<updated>2015-09-25T14:33:13+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-09-25T14:33:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=5cc0aeb15280903018e5e4dd00ab47c26d5f4e7c'/>
<id>5cc0aeb15280903018e5e4dd00ab47c26d5f4e7c</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: 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>added full Haiku OS support (non x86_gcc2)</title>
<updated>2015-07-28T09:18:44+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-07-27T18:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c3f7aa7252ad9adb51cef1e35f566883ef953aad'/>
<id>c3f7aa7252ad9adb51cef1e35f566883ef953aad</id>
<content type='text'>
 * Haiku can be handled like UNIX in most respects
   since it is POSIX compliant, has a UNIX-like terminal
   emulator and uses ncurses.
 * still the Glib platform macro is G_OS_HAIKU instead of
   G_OS_UNIX, so the preprocessor conditionals had to be adapted.
 * the only functional difference between a Haiku and UNIX build
   is the default SCITECOCONFIG path.
   We use the config path returned by Glib instead of $HOME,
   so .teco_ini will be in ~/config/settings on Haiku.
   Other UNIX ports appear to use the same conventions.
 * Some Haiku-specific restrictions still apply:
   * Haiku's terminal is xterm-compatible, but only supports
     8 colors. Therefore only the terminal.tes color scheme
     can be used and the terminal must be set up to
     "Use bright instead of bold text".
   * The terminal has artifacts. This appears to be a Haiku
     bug and affects other curses applications as well.
   * GTK is yet unsupported on Haiku, so there may never be
     a GUI port (unless someone writes a QT GUI for SciTECO).
   * SciTECO cannot be built with the legacy gcc2 used for
     BeOS compatibility on Haiku. This would require too many
     changes for an obsolete platform.
     BeOS and the x86_gcc2 platform of Haiku will therefore
     never be supported.
     The PPC and ARM platforms of Haiku should work but are untested.
 * a HaikuPorts recipe will be provided for the next regular
   SciTECO release. This should hopefully allow installation via
   HaikuDepot.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * Haiku can be handled like UNIX in most respects
   since it is POSIX compliant, has a UNIX-like terminal
   emulator and uses ncurses.
 * still the Glib platform macro is G_OS_HAIKU instead of
   G_OS_UNIX, so the preprocessor conditionals had to be adapted.
 * the only functional difference between a Haiku and UNIX build
   is the default SCITECOCONFIG path.
   We use the config path returned by Glib instead of $HOME,
   so .teco_ini will be in ~/config/settings on Haiku.
   Other UNIX ports appear to use the same conventions.
 * Some Haiku-specific restrictions still apply:
   * Haiku's terminal is xterm-compatible, but only supports
     8 colors. Therefore only the terminal.tes color scheme
     can be used and the terminal must be set up to
     "Use bright instead of bold text".
   * The terminal has artifacts. This appears to be a Haiku
     bug and affects other curses applications as well.
   * GTK is yet unsupported on Haiku, so there may never be
     a GUI port (unless someone writes a QT GUI for SciTECO).
   * SciTECO cannot be built with the legacy gcc2 used for
     BeOS compatibility on Haiku. This would require too many
     changes for an obsolete platform.
     BeOS and the x86_gcc2 platform of Haiku will therefore
     never be supported.
     The PPC and ARM platforms of Haiku should work but are untested.
 * a HaikuPorts recipe will be provided for the next regular
   SciTECO release. This should hopefully allow installation via
   HaikuDepot.
</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>support the CLOSE function key in PDCurses/win32a</title>
<updated>2015-07-13T23:09:34+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2015-07-13T23:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c39b54543c81fefdf30a67caac9a86f9f8ecd215'/>
<id>c39b54543c81fefdf30a67caac9a86f9f8ecd215</id>
<content type='text'>
in other words, PDCurses/win32a now has programmable window-close
behaviour.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in other words, PDCurses/win32a now has programmable window-close
behaviour.
</pre>
</div>
</content>
</entry>
</feed>
