Finch does not restore cursor + a fix
Dave Wood
dave at unrealize.co.uk
Tue Jan 6 16:59:41 EST 2009
On (21:50 06/01/09), Dave Wood <dave at unrealize.co.uk> put forth the proposition:
>On (21:35 06/01/09), Dave Wood <dave at unrealize.co.uk> put forth the proposition:
>>On (21:21 06/01/09), Dave Wood <dave at unrealize.co.uk> put forth the proposition:
>>>I noticed this problem a few days ago and also noticed with one of my own
>>>programs. When exiting Finch the cursor is not restored to the termcap
>>>setting.
>>>
>>>I use a flashing block cursor because my eyesight isn't so great but finch
>>>always resets it to underline at exit. I managed to fix my own curses code
>>>so I thought you might like to have a look:
>>>
>>>
>>>int main ( void )
>>>{
>>> // ncurses start
>>> initscr();
>>> cbreak();
>>> noecho();
>>> nonl();
>>> intrflush(stdscr, FALSE);
>>> keypad(stdscr, TRUE);
>>> clear();
>>> curs_set(0);
>>>
>>> //main loop
>>> <snip>
>>>
>>> // exiting
>>> curs_set(1);
>>> cout<<cursor_visible; // < -- restore cursor to terminfo setting
>>> refresh();
>>> endwin();
>>> cout<<clear_screen; // <-- need this to restore colour
>>> return 0;
>>>}
>>>
>>>I haven't tried this in the finch code yet. I will do so now and see if I
>>>have any luck.
>>
>>Well I probably should have looked at the finch source first. No idea what
>>you are using instead of cout.
>
>And you will need to #include "term.h" in there for cursor_visible and
>clear_screen
in finch.c:
#include "term.h"
int main(int argc, char *argv[])
{
signal(SIGPIPE, SIG_IGN);
g_thread_init(NULL);
g_set_prgname("Finch");
#if GLIB_CHECK_VERSION(2,2,0)
g_set_application_name(_("Finch"));
#endif
if (gnt_start(&argc, &argv)) {
gnt_main();
#ifdef STANDALONE
purple_core_quit();
#endif
printf(cursor_visible); // <-- this is all you need by the look of it
}
return 0;
}
>
>>
>>>
>>>Cheers
>>>
>>>--
>>>Cahn's Axiom:
>>> When all else fails, read the instructions.
>>>
>>>_______________________________________________
>>>Support mailing list
>>>Support at pidgin.im
>>>http://pidgin.im/cgi-bin/mailman/listinfo/support
>>
>>--
>>All of the true things I am about to tell you are shameless lies.
>> -- The Book of Bokonon / Kurt Vonnegut Jr.
>>
>>_______________________________________________
>>Support mailing list
>>Support at pidgin.im
>>http://pidgin.im/cgi-bin/mailman/listinfo/support
>
>--
>Finagle's fourth Law:
> Once a job is fouled up, anything done to improve it only makes
>it worse.
>
>_______________________________________________
>Support mailing list
>Support at pidgin.im
>http://pidgin.im/cgi-bin/mailman/listinfo/support
--
"I can resist anything but temptation."
More information about the Support
mailing list