release du matin, chagrin
This commit is contained in:
102
chap/X11.tex
Normal file
102
chap/X11.tex
Normal file
@@ -0,0 +1,102 @@
|
||||
\chapter{X11}
|
||||
\label{X11}
|
||||
|
||||
%-------------------------------------------------------------------
|
||||
\section{Les fontes}
|
||||
|
||||
Comment fait-on pour connaitre la liste des polices installées ?
|
||||
|
||||
\begin{verbatim}
|
||||
$ fc-list | awk -F ":" '{print $1}' | sort -u
|
||||
\end{verbatim}
|
||||
|
||||
Comment faire pour visualiser la plénitude des formes de mes fontes ?
|
||||
|
||||
|
||||
%-------------------------------------------------------------------
|
||||
\section{Xephyr}
|
||||
|
||||
|
||||
D'après la manpage :
|
||||
\textit{Xephyr is a kdrive server that outputs to a window on a pre-existing
|
||||
"host" X display. Think Xnest but with support for modern
|
||||
extensions like composite, damage and randr.}
|
||||
|
||||
Ça semble attirant à première vue, mais l'utilisation n'est pas
|
||||
si simple qua ça.
|
||||
Par exemple, quelle est la méthode à mettre en œuvre pour avoir
|
||||
le clavier en Azerty\index{azerty} ?
|
||||
|
||||
|
||||
%-------------------------------------------------------------------
|
||||
\section{Numlock}
|
||||
|
||||
|
||||
\begin{verbatim}
|
||||
#include <X11/XKBlib.h>
|
||||
#include <X11/extensions/XKB.h>
|
||||
#include <X11/keysym.h>
|
||||
int main(){
|
||||
Display *disp = XOpenDisplay (NULL);
|
||||
if(disp == NULL) return 1;
|
||||
unsigned int nl_mask = XkbKeysymToModifiers \
|
||||
(disp, XK_Num_Lock);
|
||||
XkbLockModifiers (disp, XkbUseCoreKbd, nl_mask, nl_mask);
|
||||
XCloseDisplay (disp);
|
||||
return 0;}
|
||||
\end{verbatim}
|
||||
|
||||
%-------------------------------------------------------------------
|
||||
% new 20 décembre 2012 à Mixart-Myrys
|
||||
\section{xdotool}
|
||||
\index{xdotool}
|
||||
|
||||
D'après la manpage :
|
||||
\textit{
|
||||
xdotool lets you programatically (or manually) simulate keyboard input
|
||||
and mouse activity, move and resize windows, etc. It does this using
|
||||
X11's XTEST extension and other Xlib functions.
|
||||
}
|
||||
|
||||
En gros, et pour faire simple, avec ce logiciel,
|
||||
vous pouvez piloter des
|
||||
applications X11, à la manière d'un wm, et ce, à partir de
|
||||
la ligne de commande.
|
||||
|
||||
Vous pourrez les déplacer, les redimensionner, leur envoyer des
|
||||
évènements clavier, tout ce genre de choses. Il est donc possible
|
||||
de coder «~des sortes d'animations~» uniquement basées sur le
|
||||
protocole de X11. \textsl{Big win, bro !}
|
||||
|
||||
La démarche d'utilisation n'étant pas immédiate, nous allons
|
||||
commencer par un petit exemple : déplacer un Xlogo sur l'écran.
|
||||
La première étape est le lancement de la cible en arrière-plan.
|
||||
La seconde est la récupération de l'indentifiant
|
||||
(interne à X11) de la fenêtre concernée.
|
||||
|
||||
\begin{verbatim}
|
||||
$ xlogo &
|
||||
[3] 2674
|
||||
$ WIN=$(xdotool search -name xlogo)
|
||||
$ echo $WIN
|
||||
69206019
|
||||
$
|
||||
\end{verbatim}
|
||||
|
||||
Voilà\footnote{en français dans le texte}, nous savons maintenant
|
||||
à quelle fenêtre causer : par son numéro.
|
||||
Le problême des multiples fenêtres du
|
||||
même nom sera abordé ultérieurement.
|
||||
Déplaçons donc notre widget\dots
|
||||
|
||||
\begin{verbatim}
|
||||
$ xdotool windowmove $WIN 10 10
|
||||
$
|
||||
\end{verbatim}
|
||||
|
||||
C'est simple, non ?
|
||||
|
||||
|
||||
|
||||
%-------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user