After BUG#6 had apparently been closed with the screen locks introduced in commit a80f8dcf2c6eb3b54658218bc081ee9694204dd5, some people still had problems with random characters appearing in the notification bar. This was obviously caused by wgetch() refreshing the screen if the status panel was changed. From wgetch(3): If the window is not a pad, and it has been moved or modified since the last call to wrefresh, wrefresh will be called before another character is read. Since the wgetch(3) isn't thread-safe, there were race conditions between the notification bar thread drawing to the notification bar and wgetch() updating the screen. Introduce a (hidden) window that handles all key presses and never gets changed in order to avoid this. Also, call wins_wrefresh() explicitly in status_mesg(), since we can no longer rely on wgetch() updating windows automatically. Fixes reopened BUG#6. Note that this is a hotfix -- FR#26 has been opened to ensure we fix this properly in the next major release. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
calcurse ======== Read `INSTALL` for instructions on how to build and install calcurse. Check `TODO` for things that still need to be done. Browse the file `doc/manual.html` (or its source `doc/manual.txt`) for detailed descriptions on how to use calcurse. Package Overview ---------------- You should be reading this file in a directory called: `calcurse-x.y.z`, where `x.y.z` is the current version number. There should be four subdirectories: * `src`: contains calcurse sources * `test`: contains a test suite and test cases for calcurse * `scripts`: contains additional scripts, such as `calcurse-upgrade` * `doc`: contains detailed documentation in plain text and HTML Authors ------- * Frederic Culot (Founder) * Lukas Fleischer (Developer) Contributors ------------ * RegEx support: Erik Saule * Dutch translation: Jeremy Roon, 2007-2010 * French translation: Frédéric Culot, 2006-2010 * French translation: Toucouch, 2007 * French translation: Erik Saule, 2011-2012 * French translation: Stéphane Aulery, 2012 * French translation: Baptiste Jonglez, 2012 * German translation: Michael Schulz, 2006-2010 * German translation: Chris M., 2006 * German translation: Benjamin Moeller, 2010 * German translation: Lukas Fleischer, 2011-2012 * Portuguese (Brazil) translation: Rafael Ferreira, 2012 * Russian translation: Aleksey Mechonoshin, 2011-2012 * Spanish translation: Jose Lopez, 2006-2010 Also check the `Thanks` section in the manual for a list of people who have contributed by reporting bugs, sending fixes, or suggesting improvements.
Description
Languages
C
65.7%
Shell
29.6%
Python
3.4%
M4
0.8%
Makefile
0.5%