Faire un terminal

Faire un terminal - Linux et OS Alternatifs

Marsh Posté le 20-11-2002 à 20:21:32    

Voila, j'essaye de faire un petit prog qui m'afficherait un terminal ( comme xterm quoi ) avec de l'opengl et des truc joli.
 
Ce que je fait.
J'ouvre un couple /dev/pty /dev/tty.  
Je fork.
Dans le child :
 

Code :
  1. close( fd_pty );
  2. dup2( fd_tty, FILENO_STDIN );
  3. dup2( fd_tty, FILENO_STDOUT );
  4. dup2( fd_tty, FILENO_STDERR );
  5. exec( "/bin/sh", argv );


 
Dans le parent, je close stdin,out,err et fd_tty. J'attend un evenement ( frappe clavier ou arriver d'un char sur fd_pty ). J'affice ce qui vient de fd_pty et j'envoie les caractère au clavier sur fd_pty. Ca marche assez bien sauf :
 - Les car special je les gère pas encore ( couleur position ) mais ca je sais comment faire.
 - Certain programme ( genre 'su' ), le prompt du password s'affiche pas dans la fenetre que je gere mais dans la fenetre ou le parent a été lancé ...
 

Reply

Marsh Posté le 20-11-2002 à 20:21:32   

Reply

Marsh Posté le 21-11-2002 à 10:15:31    

Je peux pas t'aider, mais je vois pas bien l'interet d'un terme openGL...
Alors j'aimerais bien que tu detailles si c'est possible...


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 21-11-2002 à 11:02:18    

Comme j'utilise principalement que des terminal ( pour vim, pour programmer ), je me suis dit que j'essaierait bien un truc :
 
J'aurait une fenetre en full screen dans laquelle je peut faire apparaitre plusieurs autres fenetres qui sont des terminaux et avec l'open GL, je peut gerer la vrai transparence ( quand un terminal est au dessus de l'autres ), quand j'en fait passé un a l'arriere plan, on pourrait le voir "s'enfoncer" un peu comme dans de l'eau avec des petit effets graphique, ... Bref plein de truc qui servent pas a grand chose c juste pour le fun ;)
 
En fouillant les source de rxvt j'ai trouvé ce que je cherchait :
 

Code :
  1. setsid()
  2. setpgid( 0,0 );
  3. setpgrp();

   
 
Et la ca marche. Mais j'ai encore rien a montrer j'ai pas encore fait la partie graphique ;)
 

Reply

Marsh Posté le 21-11-2002 à 11:09:07    

Ah ca peut etre sympa...
Tu nous tiens au courant ?


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 21-11-2002 à 11:47:20    

En effet, ça a l'air totalement inutile, ton truc, donc absolument indispensable.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed