Manipulação de Sinais de Processos em Ruby - Saiba quando sua tela foi redimensionada
Código ruby do dia!
A classe Signal do ruby como o próprio nome diz, permite “manipular” sinais. Sendo assim, ela nos possibilita fazer experiências legais como saber quando a tela do terminal foi redimensionada.
Para fazer este teste execute o seguinte trecho de código dentro de uma sessão do IRB.
Signal.trap('SIGWINCH', proc{ puts "The terminal size changed... Yay!"})
Agora redimensione a janela e veja a mensagem dentro do proc aparecer a cada resize. Ruby é muito amor! ;)
Edit: Brincadeiras legais de se fazer no IRB! Para matar o processo utilize o comando kill -9
ou Control \
(que é o SIGQUIT
).
Signal.trap('SIGINT', proc{ puts "It's a TRAP!!! Muahahahaha!!!"})
Signal.trap('SIGTSTP', proc{ puts "You CAN'T suspend me, I love you honey!"})
Signal.trap('SIGWINCH', proc{ puts "The terminal size changed... Yay!"})