\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. janv. 13 20:53:29 CET 2014}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={xrandr},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Interface pour l'extension RandR},
CreationDate={D:20140113205329},
ModDate={D:20140113205329},
Keywords={X;X Window System}
}}
\begin{document}
 
\begin{center}
{\Huge xrandr }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Interface pour l'extension RandR}
 
\vspace{10mm}
 
\hspace{1mm}  Xrandr est utilisé pour définir la taille, l'orientation et/ou la réflexion des sorties pour un écran. Il peut également définir la taille de l'écran. Invoqué sans option, il dump l'état des sorties, affiche les modes existant pour chacun d'entre eux, avec un '+' pour le mode préféré et un '*' après le mode courant.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --verbose]{augmente la quantité d'informations affichées}
\item[\hspace{1mm} -q, --query]{Affiche l'état courant du système}
\item[\hspace{1mm} --dryrun]{Effectue toutes les actions spécifiées exceptée qu'aucun changement n'est fait}
\item[\hspace{1mm} --nograb]{Applique les modifications sans saisir l'écran. Évite de bloquer d'autre applications durant la mise à jour, mais en cas de redimensionnement, les applications qui détectent la taille de l'écran peuvent recevoir les anciennes valeurs.}
\item[\hspace{1mm} -d, -display name]{Affichage à utiliser}
\item[\hspace{1mm} --screen snum]{Séléctionne l'écran à manipuler}
\item[\hspace{1mm} --q1]{Force l'utilisation de RandR version 1.1}
\item[\hspace{1mm} --q12]{Force l'utilisation de RandR version 1.2}
\end{description}
 
\vspace{1cm}{\huge OPTIONS version 1.3 }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --current]{Retourne la configuration de l'écran courant}
\item[\hspace{1mm} --noprimary]{Ne définis par de sortie primaire}
\item[\hspace{1mm} --panning widthxheight\texttt{[}+x+y\texttt{[}/track\_widthxtrack\_height+track\_x+track\_y\texttt{[}/border\_left/border\_top/border\_right/border\_bottom\texttt{]}\texttt{]}\texttt{]}]{Définis les paramètres de panning. Les 4 premiers paramètres spécifient le panning total, les 4 suivant, l'aire de suivi du pointeur (qui sont les même par défault). Les 4 derniers spécifient la bordure. Généralement cette option est définie en même temps que la taille de l'écran (--fb)}
\item[\hspace{1mm} --transform a,b,c,d,e,f,g,h,i]{Spécifie une matrice de transformation à appliquer sur la sortie. Un filtre bilinéaire est automatiquement sélectionné. La transformation est basée sur des coordonnées homogènes. La matrice multipliée par le vecteur de coordonnées d'un pixel de la sortie donne le vecteur de coordonnées transformée. Le vecteur (x,y) du pixel de sortie est étendu à 3 valeurs ( x y w ), avec 1 comme coordonnées w et multipliée avec la matrice. Les coordonnées finales du pixel sont ainsi calculés avec une division homogène par la coordonnée w transformée. En d'autres termes, les coordonnées (x' y') du pixel transformé sont:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} x’ = (ax + by + c) / w’ et]{}
\item[\hspace{6mm} y’ = (dx + ey + f) / w’ ,]{}
\item[\hspace{6mm} avec w’ = (gx + hy + i)]{}
\end{description}
 
\hspace{6mm}  Typiquement, \textbf{a} et \textbf{e} correspondent à l'échelle sur les axes \textbf{X} et \textbf{Y}, \textbf{c} et \textbf{f} correspondent à la translation sur ces axes, et \textbf{g}, \textbf{h} et \textbf{i} sont respectivement \textbf{0}, \textbf{0} et \textbf{1}. La matrice peut aussi être utilisée pour exprimer des transformations plus complexes tels qu'une correction keystone, ou une rotation. pour une rotation, cette formule peut être utilisée:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{6mm} cos T -sin T 0]{}
\item[\hspace{6mm} sin T cos T 0]{}
\item[\hspace{6mm} 0 0 1]{}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} --scale xxy]{Change les dimensions de l'image de sortie. Les valeurs supérieur à 1 compressent l'écran, des valeurs inférieur créent un zoom dans la sortie. Cette option est une version raccourci de l'option --transform}
\item[\hspace{1mm} --primary]{Définis la sortie comme primaire. Elle sera triée d'abord dans Xinerama et RANDR.}
\end{description}
 
\vspace{1cm}{\huge OPTIONS version 1.2 }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --prop, --properties]{Affiche les propriétés de chaque sortie.}
\item[\hspace{1mm} --fb widthxheight]{Reconfigure l'écran à la taille spécifiée}
\item[\hspace{1mm} --fbmm widthxheight]{Définis les valeurs reportées pour la taille physique de l'écran.}
\item[\hspace{1mm} --dpi dpi]{Définis également la taille physique de l'écran. Il utilise le dpi spécifié pour calculer la taille approprié}
\item[\hspace{1mm} --newmode name mode]{De nouveaux modelines peuvent être ajoutés au serveur et associés avec les sorties. mode est spécifié en utilisant la syntaxe ModeLine de xorg.conf}
\item[\hspace{1mm} --rmmode name]{supprime un mode du serveur}
\item[\hspace{1mm} --addmode output name]{Ajoute un mode au jeu de modes valides pour une sortie}
\item[\hspace{1mm} --delmode output name]{Supprime un mode du jeu de modes valide pour une sortie}
\item[\hspace{1mm} --output output]{Séléctionne une sortie à configurer}
\item[\hspace{1mm} --auto]{Pour les sorties désactivées mais connectées, les active et utilisant leur mode préféré. Pour les sorties activées mais déconnectées, les désactive.}
\item[\hspace{1mm} --mode mode]{Sélectionne un mode}
\item[\hspace{1mm} --preferred]{Sélectionne le même mode que --auto, sans activer ni désactiver les sorties.}
\item[\hspace{1mm} --pos xxy]{Positionne la sortie dans l'écran en utilisant les coordonnées pixel. En cas de réflexion ou rotation, la translation est appliquée après les effets}
\item[\hspace{1mm} --rate rate]{Marque une préférence pour le taux de rafraîchissement proche des valeurs spécifiées.}
\item[\hspace{1mm} --reflect reflection]{Peut être normal, x, y, ou xy. Force le contenu de la sortie d'être réflechis au travers des axes spécifiés}
\item[\hspace{1mm} --rotate rotation]{Peut être normal, left, right, ou inverted.}
\item[\hspace{1mm} --left-of, --right-of, --above, --below, --same-as another-output]{Positionne la sortie relative à la position d'une autre sortie.}
\item[\hspace{1mm} --set property value]{Définis une propriété de sortie.}
\item[\hspace{1mm} --off]{Désactive une sortie}
\item[\hspace{1mm} --crtc crtc]{Utilise le crtc spécifié (soit comme index dans la liste de crtc, soit XID)}
\item[\hspace{1mm} --gamma red:green:blue]{Définis les valeurs point flottant comme correction gamma sur le crtc actuellement attaché à cette sortie. Il n'est pas possible de définir 2 valeurs différentes pour des sorties ayant le même crtc (ex: des sorties clonées) et passer une sortie à un autre crtc ne change pas les correction gamma.}
\item[\hspace{1mm} --brightness brightness]{Multiplie les valeurs gamma sur le crtc actuellement attaché à la sortie aux valeurs spécifiées.}
\end{description}
 
\vspace{1cm}{\huge OPTIONS version 1.1 }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -s, --size size-index, --size widthxheight]{Définis la taille d'écran}
\item[\hspace{1mm} -r, --rate, --refresh rate]{Définis le taux de rafraîchissement au plus proche de la valeur spécifiée}
\item[\hspace{1mm} -o, --orientation rotation]{Définis l'orientation de l'écran (normal, inverted, left, right)}
\item[\hspace{1mm} -x]{Réflète sur l'axe X}
\item[\hspace{1mm} -y]{Réflète sur l'axe Y}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Définis une sortie appelée LVDS à son mode préféré, et à sa droite, place une sortie appelée VGA au mode préféré d'un écran qui a été physiquement pivoté dans le sens des aiguilles d'une montre: \\
\hspace{1mm} \textbf{xrandr --output LVDS --auto --rotate normal --pos 0x0 --output VGA --auto --rotate left --right-of LVDS} \\
\hspace{1mm} Force l'utilisation du mode 1024x768 sur une sortie appelée VGA: \\
\hspace{1mm} \textbf{xrandr --newmode "1024x768" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync} \\
\hspace{1mm} \textbf{xrandr --addmode VGA 1024x768} \\
\hspace{1mm} \textbf{xrandr --output VGA --mode 1024x768} \\
\hspace{1mm} Active le panning sur un desktop 1600x768 tout en affichant un mode 1024x768 sur une sortie appelée VGA: \\
\hspace{1mm} \textbf{xrandr --fb 1600x768 --output VGA --mode 1024x768 --panning 1600x0} \\
\hspace{1mm} Un écran LVDS 1280x800 affichant une version réduite d'un desktop 3200x2000, et un grand écran VGA affichant la souris à une taille normale \\
\hspace{1mm} \textbf{xrandr --fb 3200x2000 --output LVDS --scale 2.5x2.5 --output VGA --pos 0x0 --panning 3200x2000+0+0/3200x2000+0+0/64/64/64/64} \\
\hspace{1mm} Afficher la sortie VGA en trapèze pour que le keystone soit corrigé quand le projecteur est légèrement au-dessus de l'écran \\
\hspace{1mm} \textbf{xrandr --fb 1024x768 --output VGA --transform 1.24,0.16,-124,0,1.24,0,0,0.000316,1} \\
\end{flushleft}
\end{document}
