N
Nit Khair
I need to trap ^Y, ^Z, ^S, ^Q etc in my app. Have googled a lot but
unable to find anything.
Finally, I wrote a program and trapped all the signals.
1. Both C-z and C-y are trapped by SIGTSTP, but there is no key in
getch() that they seem to trigger. Regardless of whether I use "SIG_IGN"
or print, my curses program aborts.
2. I am still not getting C-s and C-q. They are not caught by any
signal.
My code inside a ncurses program is like this:
%w[ TSTP CONT ABRT HUP STOP PIPE IO IOT CHLD CLD ILL INFO QUIT SYS TRAP
TTOU URG USR1 USR2 ].each { | alrm |
#Signal.trap("SIG#{alrm}") { stdscr.mvprintw(17, 2, "%-40s" % "#{alrm}
");
stdscr.refresh; } Signal.trap("SIG#{alrm}") { "SIG_IGN" }
}
The commented line prints TSTP for both C-y and c-z and exits.
The second exits.
Its not a terminal setting since I use Vim and alpine and they use these
keys.
unable to find anything.
Finally, I wrote a program and trapped all the signals.
1. Both C-z and C-y are trapped by SIGTSTP, but there is no key in
getch() that they seem to trigger. Regardless of whether I use "SIG_IGN"
or print, my curses program aborts.
2. I am still not getting C-s and C-q. They are not caught by any
signal.
My code inside a ncurses program is like this:
%w[ TSTP CONT ABRT HUP STOP PIPE IO IOT CHLD CLD ILL INFO QUIT SYS TRAP
TTOU URG USR1 USR2 ].each { | alrm |
#Signal.trap("SIG#{alrm}") { stdscr.mvprintw(17, 2, "%-40s" % "#{alrm}
");
stdscr.refresh; } Signal.trap("SIG#{alrm}") { "SIG_IGN" }
}
The commented line prints TSTP for both C-y and c-z and exits.
The second exits.
Its not a terminal setting since I use Vim and alpine and they use these
keys.