#include #include #include #define MAXRES 100 #include #include #include #include static struct termios stored_settings; void set_keypress() { struct termios new_settings; tcgetattr(0,&stored_settings); new_settings = stored_settings; /* Disable canonical mode, and set buffer size to 1 byte */ new_settings.c_lflag &= (~ICANON); new_settings.c_cc[VTIME] = 0; new_settings.c_cc[VMIN] = 1; tcsetattr(0,TCSANOW,&new_settings); return; } void reset_keypress() { tcsetattr(0,TCSANOW,&stored_settings); return; } main() { char result[MAXRES]; int count = 0; fprintf(stdout,"\033[0;1234c"); sleep(2); set_keypress(); while((result[count++] = getchar()) != EOF && count < 10); result[count]= '\0'; reset_keypress(); if (strncmp(result,"[UPFRONT]",9) == 0) { fprintf(stdout,"Running upfront\n"); exit(1); } else { fprintf(stdout,"Running terminal\n"); exit(2); } }