summaryrefslogtreecommitdiff
path: root/src/poezio.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/poezio.py')
-rw-r--r--src/poezio.py32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/poezio.py b/src/poezio.py
index 9a26e135..7a83f510 100644
--- a/src/poezio.py
+++ b/src/poezio.py
@@ -19,6 +19,29 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
import singleton
+def test_curses():
+ """
+ Check if the system ncurses linked with python has unicode capabilities.
+ """
+ import curses
+ if hasattr(curses, 'unget_wch'):
+ return True
+ print("""\
+ERROR: The current python executable is linked with a ncurses version that \
+has no unicode capabilities.
+
+This could mean that:
+ - python was built on a system where readline is linked against \
+libncurses and not libncursesw
+ - python was built without ncursesw headers available
+
+Please file a bug for your distribution or fix that on your system and then \
+recompile python.
+Poezio is currently unable to read your input or draw its interface properly,\
+ so it will now exit.""")
+ return False
+
+
def main():
"""
Enter point
@@ -36,6 +59,10 @@ def main():
from config import options
+ if options.check_config:
+ config.check_config()
+ sys.exit(0)
+
import theming
theming.update_themes_dir()
@@ -75,4 +102,7 @@ def main():
pass
if __name__ == '__main__':
- main()
+ if test_curses():
+ main()
+ else:
+ sys.exit(1)