Compare commits
	
		
			No commits in common. "b36e5ea9835697b38451c6926757c01cd93dea57" and "8a17ec60c56fed55ac683def9bc8e01ee4a9babf" have entirely different histories.
		
	
	
		
			b36e5ea983
			...
			8a17ec60c5
		
	
		
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -30,5 +30,9 @@ code/plugiciel.so
 | 
				
			|||||||
code/appelant
 | 
					code/appelant
 | 
				
			||||||
code/flydraw.png
 | 
					code/flydraw.png
 | 
				
			||||||
code/flydraw.gif
 | 
					code/flydraw.gif
 | 
				
			||||||
code/xform/yesyno
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					D
 | 
				
			||||||
 | 
					code/flydraw.gif
 | 
				
			||||||
 | 
				
			|||||||
@ -5,8 +5,6 @@ un des premiers langages évolués. Il a été conçu après la seconde
 | 
				
			|||||||
guerre mondiale, en 1954, par
 | 
					guerre mondiale, en 1954, par
 | 
				
			||||||
John Warner Backus, ingénieur en radiophonie chez IBM\index{IBM},
 | 
					John Warner Backus, ingénieur en radiophonie chez IBM\index{IBM},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%	========================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{F77}
 | 
					\section{F77}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dernière version à exiger le format '80 colonnes' des cartes perforées,
 | 
					Dernière version à exiger le format '80 colonnes' des cartes perforées,
 | 
				
			||||||
@ -14,27 +12,7 @@ cette version est aussi (aux yeux de vieux dinos) la plus pure,
 | 
				
			|||||||
à cause d'instructions comme le \textsl{computed goto} ou le
 | 
					à cause d'instructions comme le \textsl{computed goto} ou le
 | 
				
			||||||
mythique \textsl{comefrom}. Nom officiel : \texttt{ANSI X3.9-1978}.
 | 
					mythique \textsl{comefrom}. Nom officiel : \texttt{ANSI X3.9-1978}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%	========================================
 | 
					\section{Et après} \index{gfortran}
 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Gfortan} \index{gfortran}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Puis ce langage du passé a subi une évolution lente vers quelque
 | 
					Puis ce langage du passé a subi une évolution lente vers quelque
 | 
				
			||||||
chose de bien plus moderne : le Fortran 90.
 | 
					chose de bien plus moderne. Les dinos vont devoir s'adapter.
 | 
				
			||||||
Les dinos vont devoir s'adapter. Et utiliser \texttt{gfortran},
 | 
					 | 
				
			||||||
de la Gnu Compiler Collection\index{gcc}.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Il est obligatoire d'avoir l'exemple canonique, donc le voilà.
 | 
					 | 
				
			||||||
Il faut l'enregister dans un fichier nommé \texttt{hello.f90}
 | 
					 | 
				
			||||||
pour que le compilateur le comprenne.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{verbatim}
 | 
					 | 
				
			||||||
program hello
 | 
					 | 
				
			||||||
    implicit none
 | 
					 | 
				
			||||||
    print *, "hello world"
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
\end{verbatim}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%	========================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								chap/X11.tex
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								chap/X11.tex
									
									
									
									
									
								
							@ -153,17 +153,7 @@ protocol, improved threading support, and extensibility.
 | 
				
			|||||||
en C, mais le premier exemple du tutorial d'initiation ne fonctionne
 | 
					en C, mais le premier exemple du tutorial d'initiation ne fonctionne
 | 
				
			||||||
pas vraiment comme il devrait. Mais quand même une affaire à suivre.
 | 
					pas vraiment comme il devrait. Mais quand même une affaire à suivre.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\lstinputlisting[language=c]{code/xform/yesno.c}
 | 
					\lstinputlisting[language=c]{code/xf_yesno.c}
 | 
				
			||||||
 | 
					 | 
				
			||||||
Compilation: \texttt{gcc yesno.c -lforms -o yesno}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
En fait, je ne me souviens plus du petit souci qui m'a fait négliger
 | 
					 | 
				
			||||||
trop lontemps ce discret toolkit graphique, mais ça avait
 | 
					 | 
				
			||||||
quelque chose à voir avec
 | 
					 | 
				
			||||||
la constante \texttt{FL\_BORDER\_BOX} qui
 | 
					 | 
				
			||||||
\textbf{ne} fait \textbf{pas} le borderbox.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
http://xforms-toolkit.org/examples.html
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
%-------------------------------------------------------------------
 | 
					%-------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -6,8 +6,8 @@
 | 
				
			|||||||
\index{curses}
 | 
					\index{curses}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
En fait, nous allons plutôt parler de \textbf{ncurses} qui est
 | 
					En fait, nous allons plutôt parler de \textbf{ncurses} qui est
 | 
				
			||||||
l'implémentation actuelle de l'ancêtre \texttt{curses}.
 | 
					l'implémentation actuelle de l'ancêtre \texttt{curses}. Voic ce
 | 
				
			||||||
Voici ce qu'en dit une page de man~:
 | 
					qu'en dit une page de man~:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{quote}
 | 
					\begin{quote}
 | 
				
			||||||
The ncurses library routines give the user a terminal-independent
 | 
					The ncurses library routines give the user a terminal-independent
 | 
				
			||||||
@ -23,46 +23,6 @@ chaque cellule de votre écran (la case où l'on peut mettre
 | 
				
			|||||||
un caractère) pour y écrire quelque chose, en gérant des
 | 
					un caractère) pour y écrire quelque chose, en gérant des
 | 
				
			||||||
attributs tels que gras ou souligné.
 | 
					attributs tels que gras ou souligné.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Les principes}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{itemize}
 | 
					 | 
				
			||||||
\item{Indépendance de l'écran physique}
 | 
					 | 
				
			||||||
\item{Fenêtre et sous-fenêtre}
 | 
					 | 
				
			||||||
\item{Deux écrans : stdscr et curscr}
 | 
					 | 
				
			||||||
\end{itemize}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Au tout début était le terminal canonique, la \textsc{Teletype}.
 | 
					 | 
				
			||||||
C'est dans le doux cliquetis de la vénérable \texttt{ASR33}
 | 
					 | 
				
			||||||
que se sont échaffaudées les premières lignes du code, écrites
 | 
					 | 
				
			||||||
avec \textsl{the only true one}\footnote{ed}.
 | 
					 | 
				
			||||||
Ensuite sont arrivés les terminaux à écran vidéo, les fameuses
 | 
					 | 
				
			||||||
\textsl{Glass TTYs}, qui ne tardèrent pas à se munir d'un
 | 
					 | 
				
			||||||
curseur adressable, ce qui permet alors d'écrire un caractère
 | 
					 | 
				
			||||||
à n'importe quelle endroit de l'écran.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Adm3a, vt52, Qume 60...
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Une structure essentielle dans curses est l'écran,
 | 
					 | 
				
			||||||
appelé \textsl{screen} dans l'original. C'est une matrice
 | 
					 | 
				
			||||||
rectangulaire de cellules caractère/attribut et quelques
 | 
					 | 
				
			||||||
données associées.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Pourquoi deux écrans ? La mécanique interne de curses
 | 
					 | 
				
			||||||
maintient en interne deux écrans (qui sont en fait des fenêtres
 | 
					 | 
				
			||||||
de la taille de l'écran physique) connus sous les noms de
 | 
					 | 
				
			||||||
\texttt{stdscr} et \texttt{curscr}.
 | 
					 | 
				
			||||||
Le premier est celui que voit l'application, et qu'il peut manipuler
 | 
					 | 
				
			||||||
avec les fonctions (genre \texttt{mvaddstr})
 | 
					 | 
				
			||||||
que nous verrons très bientôt.
 | 
					 | 
				
			||||||
Et le second est l'image que se fait la mécanique de l'écran
 | 
					 | 
				
			||||||
physique, donc ce que voit le yuser.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Premier exemple}
 | 
					\section{Premier exemple}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Bien entendu, nous commencerons par l'ECM traditionnel de rigueur.
 | 
					Bien entendu, nous commencerons par l'ECM traditionnel de rigueur.
 | 
				
			||||||
@ -83,8 +43,6 @@ une capture d'écran, puisque je me permet de supposer que vous
 | 
				
			|||||||
avez pris le temps de compiler l'exemple, et de voir par vous même
 | 
					avez pris le temps de compiler l'exemple, et de voir par vous même
 | 
				
			||||||
ce que ça donne.
 | 
					ce que ça donne.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Bell and whistles}
 | 
					\section{Bell and whistles}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Voici comment centrer sur la ligne du haut
 | 
					Voici comment centrer sur la ligne du haut
 | 
				
			||||||
@ -104,14 +62,6 @@ La liste complète est dans le man~: \texttt{attr(3NCURSES)},
 | 
				
			|||||||
avec plein
 | 
					avec plein
 | 
				
			||||||
de fonctions spécialisées dans le traitement des attributs.
 | 
					de fonctions spécialisées dans le traitement des attributs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Les fenêtres}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{Astuces}
 | 
					\section{Astuces}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dans une boucle interactive, on va utiliser \texttt{getch()}, qui va
 | 
					Dans une boucle interactive, on va utiliser \texttt{getch()}, qui va
 | 
				
			||||||
 | 
				
			|||||||
@ -1,20 +1,7 @@
 | 
				
			|||||||
\chapter{Hardware}
 | 
					\chapter{Hardware}
 | 
				
			||||||
\label{chap:hardware}
 | 
					\label{chap:hardware}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%   -----------------------------------------------------------
 | 
					 | 
				
			||||||
\section{Joystick}\index{joystick}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{verbatim}
 | 
					 | 
				
			||||||
int                foo, joy_fd;
 | 
					 | 
				
			||||||
struct js_event    js;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
joy_fd = open(joy_device , O_RDONLY);
 | 
					 | 
				
			||||||
foo = read(joy_fd, &js, sizeof(struct js_event));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\end{verbatim}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%   -----------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Diagnostics}
 | 
					\section{Diagnostics}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -25,7 +12,7 @@ dmesg, lshw, lsusb, lspci\dots
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%   -----------------------------------------------------------
 | 
					%   -----------------------------------------------------------
 | 
				
			||||||
\section{Ports série}
 | 
					\section{Ports série}
 | 
				
			||||||
\index{rs232} \label{rs232}
 | 
					\index{rs232}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{quote}
 | 
					\begin{quote}
 | 
				
			||||||
RS-232 (parfois appelée EIA RS-232, EIA 232 ou TIA 232) est
 | 
					RS-232 (parfois appelée EIA RS-232, EIA 232 ou TIA 232) est
 | 
				
			||||||
@ -68,7 +55,7 @@ servir un port série ? » appelle un réponse presque évidente~:
 | 
				
			|||||||
« à plusieurs choses ». Une petite liste~:
 | 
					« à plusieurs choses ». Une petite liste~:
 | 
				
			||||||
Connecter un Minitel\index{MINITEL}
 | 
					Connecter un Minitel\index{MINITEL}
 | 
				
			||||||
pour dialoguer avec Ulla Trentsixquinze ? Brancher un
 | 
					pour dialoguer avec Ulla Trentsixquinze ? Brancher un
 | 
				
			||||||
Sportster 14400 pour retrouver Fidonet\index{Fidonet} ?
 | 
					Sportster 14400 pour retouver Fidonet\index{Fidonet} ?
 | 
				
			||||||
Discuter avec un équipement avionnique ? Rediriger 
 | 
					Discuter avec un équipement avionnique ? Rediriger 
 | 
				
			||||||
l'impression d'un MSX\index{MSX} vers Cups\index{cups} ?
 | 
					l'impression d'un MSX\index{MSX} vers Cups\index{cups} ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -77,6 +64,7 @@ est la limite\footnote{Comme à peu près tout dans la vie.}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%   -----------------------------------------------------------
 | 
					%   -----------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Disques durs}
 | 
					\section{Disques durs}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Iozone ? Bonnie ? Smart\index{smart} ? UUID\index{uuid} ?
 | 
					Iozone ? Bonnie ? Smart\index{smart} ? UUID\index{uuid} ?
 | 
				
			||||||
 | 
				
			|||||||
@ -1,26 +0,0 @@
 | 
				
			|||||||
\chapter{I/O control} 
 | 
					 | 
				
			||||||
\label{chap:ioctl} \index{ioctl}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Un des paradigmes les plus connus à propos des systèmes de la
 | 
					 | 
				
			||||||
famille Unix est : \textsf{Tout est vu comme un fichier}.
 | 
					 | 
				
			||||||
C'est souvent vrai, mais parfois ce n'est pas suffisant.
 | 
					 | 
				
			||||||
Prenons rapidement un exemple, le baton de joie\index{joystick}
 | 
					 | 
				
			||||||
dans Linux.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{verbatim}
 | 
					 | 
				
			||||||
int                foo, joy_fd;
 | 
					 | 
				
			||||||
struct js_event    js;
 | 
					 | 
				
			||||||
char               joy_name[128];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
joy_fd = open(joy_device , O_RDONLY);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\end{verbatim}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Ailleurs dans ce document : Ports série (p. \pageref{rs232})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
% =========================================================
 | 
					 | 
				
			||||||
@ -1,11 +1,9 @@
 | 
				
			|||||||
\chapter{OpenWrt}
 | 
					\chapter{OpenWrt}
 | 
				
			||||||
\label{chap:openwrt}
 | 
					\label{chap:openwrt}
 | 
				
			||||||
\index{OpenWrt}
 | 
					\index{openwrt}
 | 
				
			||||||
 | 
					 | 
				
			||||||
Sur quoi tenter de le faire tourner ?
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{verbatim}
 | 
					\begin{verbatim}
 | 
				
			||||||
TP Link
 | 
					TP Ling
 | 
				
			||||||
    AC 1750
 | 
					    AC 1750
 | 
				
			||||||
    Archer C7
 | 
					    Archer C7
 | 
				
			||||||
\end{verbatim}
 | 
					\end{verbatim}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										37
									
								
								chap/sdr.tex
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								chap/sdr.tex
									
									
									
									
									
								
							@ -1,37 +0,0 @@
 | 
				
			|||||||
\chapter{Sofware Defined Radio}
 | 
					 | 
				
			||||||
\label{chap:sdr} \index{sdr}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Beaucoup d'empirisme danc ce chapitre.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Tout d'abord, le matériel à ma disposition~:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{verbatim}
 | 
					 | 
				
			||||||
Bus 004 Device 010: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
 | 
					 | 
				
			||||||
\end{verbatim}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Ensuite, le premier hack, dont je n'ai pas encore bien capté
 | 
					 | 
				
			||||||
la raison~:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{verbatim}
 | 
					 | 
				
			||||||
$ cat /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf 
 | 
					 | 
				
			||||||
# added by tth 
 | 
					 | 
				
			||||||
blacklist dvb_usb_rtl28xxu
 | 
					 | 
				
			||||||
\end{verbatim}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%     ===================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\section{CubicSDR}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{quote}
 | 
					 | 
				
			||||||
CubicSDR  is  a cross-platform Software Defined Radio application which
 | 
					 | 
				
			||||||
allows you to navigate the radio spectrum and  demodulate  any  signals
 | 
					 | 
				
			||||||
you might discover.  It currently includes several common analog
 | 
					 | 
				
			||||||
demodulation schemes such as AM and FM and will support digital modes
 | 
					 | 
				
			||||||
in the future.
 | 
					 | 
				
			||||||
SDR  hardware  is accessed through SoapySDR and therefore any
 | 
					 | 
				
			||||||
hardware for which a SoapySDR module exists can be used as  a  receiver
 | 
					 | 
				
			||||||
with CubicSDR.
 | 
					 | 
				
			||||||
\end{quote}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%     ===================================================
 | 
					 | 
				
			||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
Abordons maintenant un sujet complexe :
 | 
					Abordons maintenant un sujet complexe :
 | 
				
			||||||
le son en général,
 | 
					le son en général,
 | 
				
			||||||
la musique (p. \pageref{chap:musique}) et la
 | 
					la musique (p. \pageref{chap:musique}) et la
 | 
				
			||||||
synthèse de sons (p. \pageref{chap:modular}).
 | 
					synthèse(p. \pageref{chap:modular}).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%------------------------------------------------------------------
 | 
					%------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,18 +1,16 @@
 | 
				
			|||||||
#include <forms.h>
 | 
					#include <forms.h>
 | 
				
			||||||
/*
 | 
					
 | 
				
			||||||
 *            gcc yesno.c -lforms -O YESYNO
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
int main(int argc, char *argv[]) {
 | 
					int main(int argc, char *argv[]) {
 | 
				
			||||||
    FL_FORM *form;
 | 
					    FL_FORM *form;
 | 
				
			||||||
    FL_OBJECT *yes,
 | 
					    FL_OBJECT *yes,
 | 
				
			||||||
              *no,
 | 
					              *no,
 | 
				
			||||||
              *but;
 | 
					              *but;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fl_initialize(&argc, argv, "Yes or No ?", 0, 0);
 | 
					    fl_initialize(&argc, argv, "FormDemo", 0, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    form = fl_bgn_form(FL_UP_BOX, 320, 120);
 | 
					    form = fl_bgn_form(FL_UP_BOX, 320, 120);
 | 
				
			||||||
    fl_add_box(FL_BORDER_BOX, 160, 40, 0, 0,      \
 | 
					    fl_add_box(FL_BORDER_BOX, 160, 40, 0, 0,      \
 | 
				
			||||||
                            "Do you want something?");
 | 
					                            "Do you want to Quit?");
 | 
				
			||||||
    yes = fl_add_button(FL_NORMAL_BUTTON, \
 | 
					    yes = fl_add_button(FL_NORMAL_BUTTON, \
 | 
				
			||||||
                            40, 70, 80, 30, "Yes");
 | 
					                            40, 70, 80, 30, "Yes");
 | 
				
			||||||
    no  = fl_add_button(FL_NORMAL_BUTTON, \
 | 
					    no  = fl_add_button(FL_NORMAL_BUTTON, \
 | 
				
			||||||
@ -20,10 +18,10 @@ int main(int argc, char *argv[]) {
 | 
				
			|||||||
    fl_end_form();
 | 
					    fl_end_form();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fl_show_form(form, FL_PLACE_MOUSE, FL_TRANSIENT, \
 | 
					    fl_show_form(form, FL_PLACE_MOUSE, FL_TRANSIENT, \
 | 
				
			||||||
                             "Vroum !");
 | 
					                             "Question");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (1) {
 | 
					    while (1) {
 | 
				
			||||||
        if (fl_do_forms() == yes) {
 | 
					        if (fl_do_forms() == yes {
 | 
				
			||||||
            printf("Yes is pushed\n");
 | 
					            printf("Yes is pushed\n");
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
							
								
								
									
										7
									
								
								main.tex
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								main.tex
									
									
									
									
									
								
							@ -30,7 +30,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
\makeatletter
 | 
					\makeatletter
 | 
				
			||||||
\def\verbatim@font{\normalfont\ttfamily\small}
 | 
					\def\verbatim@font{\normalfont\ttfamily\small}
 | 
				
			||||||
% XXX \def\quote@font{\sffamily}
 | 
					 | 
				
			||||||
\makeatother
 | 
					\makeatother
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\title{Tricks pour mon ordinateur}
 | 
					\title{Tricks pour mon ordinateur}
 | 
				
			||||||
@ -118,7 +117,7 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
 | 
				
			|||||||
\input{chap/webcam}
 | 
					\input{chap/webcam}
 | 
				
			||||||
% \input{chap/SCSI}
 | 
					% \input{chap/SCSI}
 | 
				
			||||||
\input{chap/X11}
 | 
					\input{chap/X11}
 | 
				
			||||||
\input{chap/Fortran}
 | 
					% \input{chap/Fortran}
 | 
				
			||||||
% \input{chap/GMP}
 | 
					% \input{chap/GMP}
 | 
				
			||||||
\input{chap/Python}
 | 
					\input{chap/Python}
 | 
				
			||||||
\input{chap/dino}
 | 
					\input{chap/dino}
 | 
				
			||||||
@ -137,8 +136,6 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
 | 
				
			|||||||
\input{chap/photos}
 | 
					\input{chap/photos}
 | 
				
			||||||
\input{chap/plugins}
 | 
					\input{chap/plugins}
 | 
				
			||||||
\input{chap/Bonjour}
 | 
					\input{chap/Bonjour}
 | 
				
			||||||
\input{chap/ioctl}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
\input{chap/debug}
 | 
					\input{chap/debug}
 | 
				
			||||||
\input{chap/buzybox}
 | 
					\input{chap/buzybox}
 | 
				
			||||||
\input{chap/gif89a}
 | 
					\input{chap/gif89a}
 | 
				
			||||||
@ -149,8 +146,6 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
 | 
				
			|||||||
\input{chap/ssh}
 | 
					\input{chap/ssh}
 | 
				
			||||||
\input{chap/hardware}
 | 
					\input{chap/hardware}
 | 
				
			||||||
\input{chap/gadgets}
 | 
					\input{chap/gadgets}
 | 
				
			||||||
\input{chap/sdr}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
% \input{chap/slang}
 | 
					% \input{chap/slang}
 | 
				
			||||||
\input{chap/curses}
 | 
					\input{chap/curses}
 | 
				
			||||||
\input{chap/openwrt}
 | 
					\input{chap/openwrt}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user