bashbash-trap

Trap Command not detecting terminal resize (SIGWINCH)


Im trying to detect when my menu is resized using trap "echo resized" SIGWINCH but it doesnt seem to be detecting it. Im currently using ubuntu 20.04 and i am using a bash script to do this. The trap command is at the top of my script. Why is it not executing?


Solution

  • According to bash manual (man bash):

    If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes.

    You can verify this with:

    trap 'echo resized' SIGWINCH
    
    while true; do
        sleep 1
    done