Wersja polska: Krzysztof P. Jasiutowicz
kpjas@priv.onet.pl
v1.0, 27 sierpnia 1999 roku
Jest kilka przyczyn dla których standardowy kursor myszy jest dla niektórych niewłaściwy :
W tych przypadkach pomocne są powiększone kursory myszy. Optymalnie powinno to być robione przez jeden program X-ów, który automatycznie powiększałby każdy kursor myszy.
O ile wiem, nie da się w prosty sposób napisać takiego programu, ponieważ protokół X-ów nie umożliwia dostępu do kursora myszy. Więcej szczegółów znajdziesz w rozdziale Szczegóły techniczne poniżej.
Jeśli naszym celem nie jest takie ogólne rozwiązanie, co nieco da się zrobić :
Istnieje standardowy zestaw kursorów myszy, znajdujący się w foncie
kursora ( wypróbuj polecenie xfd -fn cursor wtedy go obejrzysz).
Większość programów wykorzystuje te kursory myszy i zasada polega na 
zastępowaniu standardowego kursora jego powiększoną wersją.
Zostałem umotywowany do napisania tego MINIHOWTO, kiedy słabo widzący kolega student zapytał mnie jak powiększyć kursor myszy w X-ach. Kiedy już się dowiedziałem jak to zrobić, napisałem pierwotną wersję tego dokumentu. Ponieważ wiedza o sposobie tu opisanym nie jest zapewne powszechna, zdecydowałem podzielić się nią i utworzyłem z tego dokumentu MINIHOWTO linuksowe, mimo tego że, nie jest on wcale typowy dla Linuksa. Jak inne MINIHOWTO, znajduje się on na macierzystym serwerze Linux Documentation Project (LDP).
Matryca tego dokumentu jest w formacie SGML/linuxdoc. Dzięki temu możliwe jest automatyczne tworzenie wersji w następujących formatach (które są dostępne w tym samym miejscu co matryca) : html, text, LaTeX, DVI, PostScript i GNU info.
Shinobu Miyata przetłumaczył to MINIHOWTO na japoński. Znajduje się ono tu : http://i11www.ira.uka.de/~schneid/jp/X11-big-cursor/.
Postępuj zgodnie z instrukcją podaną poniżej. Jeśli nie chcesz sam odnajdywać i kompilować pakietu bdfresize, możesz przejść do punktu 3 i ściągnąć powiększony font zamiast tworzyć go.
     zcat bdfresize-1.4.tar.Z  | tar xf -
     cd bdfresize-1.4
     xmkmf
     make
     
W Linuksie pewnie trzeba użyć:
     make CCOPTIONS='-include /usr/include/bsd/bsd.h' clean all
     
     mkdir $HOME/fonts
     bdfresize -f 2 cursor.bdf | bdftopcf >$HOME/fonts/cursor2.pcf
     mkfontdir $HOME/fonts
     
     
Przygotowałem kilka powiększonych 
fontów kursora
o następujących stopniach powiększenia: 1.5, 2, 2.5, 3, 4, 5,
6, 7, 8 i 16-krotne. Można je ściągnąć  jeden z nich i zainstalować w 
$HOME/fonts jeżeli nie chcesz używać bdfresize.
.xinitrc lub .xsession : przed
uruchomieniem jakiegokolwiek klienta X-ów (który używa kursora) 
następujące polecenie musi być wykonane :
     xset +fp $HOME/fonts
     xsetroot -cursor_name X_cursor
     
Gotowe—teraz wszystkie kursory myszy powinny być podwojonych rozmiarów.
cursor, nazwa pliku
nie ma znaczenia)—nie ma problemu bo bdfresize nie zmienia
nazwy fonta.xset +fp (w przeciwieństwie do
xset fp+).$HOME/fonts/ będą widoczne dopiero
po wydaniu polecenia mkfontdir $HOME/fonts; xset fp rehash
i tylko w nowo otworzonych klientach X-ów (dokładniej nowo utworzonych
kursorach).xset +fp path może nie działać na terminalu X-ów. W tym wypadku
można użyć font serwera (zobacz w rozdziale 
Jak używać font serwera)
jeśli jest wspierany przez terminal X-ów lub jakąś
inny sposób instalacji fonta na terminalu X-ów (zazwyczaj może
to tylko wykonać administrator systemu).olcursor i
decw$cursor i i każdego innego fontu kursora, który 
znajdziesz.
Czy jest możliwe napisanie programu dla X-ów, powiększającego kursory automatycznie?
Użyj XTestCompareCursor z rozszerzenia XTEST. We wszystkich oknach nad którymi znajduje się kursor porównuj kursor tego okna z zestawem 'znanych' kursorów (n. p. z fontu kursora ). Jeżeli kursor istnieje, zamień go na powiększony odpowiednik, w innym przypadku albo zostaw bez zmian albo zamień na standardowy kursor. To zadziała tylko tam, gdzie dostępne jest rozszerzenie XTest.
Napisz proxy X serwer, który przekazuje 
wszystkie żądania klientów bez zmian, lecz przechwytuje wszystkie
żądania odnoszące się do funkcji Xlib XCreate*Cursor.
Żądania XCreate*Cursor powinny być zmieniane tak aby
powiększonego kursora. 
Ten serwer proxy symuluje nowy display, n. p. :1. 
Wszystkie programy klienckie, które łączą się z tym display (n. p. xterm -display
:1) są wyświetlane na rzeczywistym serwerze (zwykle :0) i ich
kursory myszy są automatycznie powiększone. Kursory myszy klientów,
które łączą się z :0 pozostaną niezmienione.
Oto niektóre pomysły dla raczej prostych programów dla X-ów, które sprawią że kursor myszy będzie lepiej widoczny.
Bardziej ambitnym projektem byłyby ślady myszy à la windoze, t. j. kiedy mysz jest przesuwana i kursor myszy musi być wyświetlony w innej pozycji, wtedy "stary kursor" nie znika od razu, ale z pewnym opóźnieniem. Ślady myszy najlepiej byłoby zaimplementować w X serwerze, ale można by to wykonać jako klienta X-ów, lub lepiej jako serwer proxy ( dokładniejszy opis w rozdziale Szczegóły techniczne).
Font serwer jest usługą sieciową, która dostarcza zestaw fontów X11 z nieskomplikowanym protokołem. Można do niego wysyłać zapytania, które fonty są dostępne i zażądać od niego fontu bitmapowego.
Font serwer może być przydatny do dostarczenia X serwerowi zmodyfikowanego fontu kursora, zamiast informowania gdzie w file systemie on się znajduje.
Ta metoda jest szczególnie przydatna jeśli używa się kilku maszyn, które nie maja tego samego systemu plików lub jeśli używa się X terminali, które wspierają protokół font serwera.
Font serwer i związane z nim narzędzia są w dystrybucji X11R5+ (o ile wiem).
Przeczytaj strony podręcznika systemowego fs(1), 
fslsfonts(1) (lub
xfs(1), xfslsfonts(1) pod X11R6) i spróbuj—to nie
jest trudne. Powiedzmy, że serwer jest uruchomiony na hoście
some.host.edu na porcie 7100. Instalację można wypróbować poleceniem 
fslsfonts -server some.host.edu:7100
Żeby naprawdę uruchomić font serwer należy wydać polecenie :
xset +fp tcp/some.host.edu:7100
które nie powinno dać informacji o błędzie.
Jeśli uruchomiłeś font serwer użyj po prostu fstobdf 
dołączonego do serwera fontów.
Inne wyjście to użycie getbdf który może zapisać dowolny
zainstalowany font X11 do pliku bdf.