windows.h contiene i prototipi delle API di Windows. In Linux, e in tutti i sistemi Unix-like, esiste unistd.h e altri header file che ti consentono di ricorrere alle API di sistema, ma nulla esiste tra queste per la gestione delle finestre. Il window manager in un sistema Unix (come GNU/Linux) è un'applicazione, non fa parte del kernel. Quando avvi Slackware, ad esempio, di default nemmeno ti viene caricato il server grafico, devi essere tu a farlo esplicitamente con startx, e questo ti consente di capire come il window manager e il desktop manager siano appunto dei veri e propri programmi in user space, non parte integrante del sistema ( ma con Ubuntu, Kubuntu, Xubuntu e tutta la dinastia, Fedora, Mandriva e altre pseduo-distro Linux di questo - così come di altro - non potresti mai rendertene conto ).
Se ti serve qualcosa per la gestione del terminale e del puntatore, ci sono le ncurses (che dovresti avere già installate sul tuo sistema). Se invece hai bisogno di sviluppare interfacce grafiche, allora devi ricorrere a librerie specifiche come le gtk+ o anche le Qt (so che è possibile sviluppare con le Qt anche in C, anche se non l'ho mai fatto) o altro ancora. E in generale sia le gtk+ che le Qt dovrebbero essere già instalallate sul tuo sistema, quindi non devi fare altro che trovarti un manuale (preferibilmente cartaceo e di buona qualità) e cominciare a programmare.