On Mar 19, 2011, at 4:36 PM, Massimo Di Pierro wrote:
>
> for me curses endwin does not restore console settings. I tried
> curses.wrapper and no luck.
curses!
There are a couple of stty hacks, if you're willing to call out to stty (with
the terminal as stdin).
stty sane will do sort of what it implies: restore the terminal to a reasonable
setting.
More elaborately, you can do this:
save_state=$(stty -g)
mess it up
...
stty "$save_state"
(except pythonically)
>
> On Mar 19, 6:28 pm, Jonathan Lundell <[email protected]> wrote:
>> On Mar 19, 2011, at 3:37 PM, Massimo Di Pierro wrote:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>> Let me keep my competitive advantage for a while. ;-)
>>
>>> Besides I have this problem I cannot solve. Consider this code:
>>
>>> import terminal
>>> import time
>>> import sys
>>> import curses
>>> import os
>>
>>> screen = curses.initscr()
>>> curses.nocbreak()
>>> curses.echo()
>>> curses.endwin()
>>> curses.noraw()
>>> curses.nl()
>>> #curses.setupterm(term=os.environ.get("TERM",
>>> "unknown"),fd=sys.__stdout__.fileno())
>>> for i in range(10):
>>> if i>0: sys.stdout.write(terminal.UP)
>>> sys.stdout.write(str(i)+'\n')
>>> time.sleep(0.1)
>>
>>> It is part of kryten. It messes up the shell (on Mac, I have not tried
>>> on Linux). How do I restore the shell from python programmatically?
>>
>> That's what endwin is supposed to do, assuming that you terminate normally.
>>
>> But curses.wrapper is a good idea, seems to me.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>> Massimo
>>
>>> On Mar 19, 5:19 pm, mart <[email protected]> wrote:
>>>> Massimo, you are enjoying this way too much! ;)
>>
>>>> Just kidding :) This is fantastic! I love this approach (input csv,
>>>> process, then output) - its clean, clear, concise and immensely
>>>> usable!
>>
>>>> Thanks :)
>>
>>>> P.s. Can we use your new and amazing application, kryten ? pretty
>>>> please? :) :)
>>
>>>> On Mar 19, 6:07 pm, Massimo Di Pierro <[email protected]>
>>>> wrote:
>>
>>>>> http://vimeo.com/21239786