Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > 1d876fa8c1caf5809b8232d098efff65 > files > 38

howto-text-pl-8.1-1mdk.noarch.rpm

  Duy-kursor-w-X11 MINI-JTZ
  Jak uywa powikszonego kursora myszy z systemem X Window
  Joerg Schneider <mailto:joerg.schneider@ira.uka.de>
  v2, 11 August 1997


  WWeerrssjjaa ppoollsskkaa:: KKrrzzyysszzttooff PP.. JJaassiiuuttoowwiicczz kkppjjaass@@pprriivv..oonneett..ppll
  v1.0, 27 sierpnia 1999 roku


  ______________________________________________________________________

  Spis treci


  1. Wstp

  2. O tym dokumencie

  3. Jak To Zrobi

  4. Uwagi i ograniczenia

  5. Szczegy techniczne

  6. Inne pomysy jak poprawi widoczno kursora myszy

  7. Informacje zwizane z tym tematem

     7.1 Jak uywa font serwera
        7.1.1 instalacja font serwera
     7.2 Jak uzyska rda bdf jakiego fonta


  ______________________________________________________________________


  11..  WWssttpp

  Jest kilka przyczyn dla ktrych standardowy kursor myszy jest dla
  niektrych niewaciwy :

  +o  praca na notebooku w X Window z LCD o niskim kontracie

  +o  na zwykych monitorach przy wysokich rozdzielczociach, np. 1600x1280

  +o  u osb z osabionym wzrokiem nawet na zwykych monitorach przy niszych
     rozdzielczociach

  W tych przypadkach pomocne s powikszone kursory myszy. Optymalnie
  powinno to by robione przez jeden program X-w, ktry automatycznie
  powikszaby kady kursor myszy.

  O ile wiem, nie da si w prosty sposb napisa takiego programu, poniewa
  protok X-w nie umoliwia dostpu do kursora myszy.  Wicej szczegw
  znajdziesz w rozdziale ``Szczegy techniczne'' poniej.

  Jeli naszym celem nie jest takie oglne rozwizanie, co nieco da si
  zrobi :

  Istnieje standardowy zestaw kursorw myszy, znajdujcy si w foncie
  kursora ( wyprbuj polecenie xfd -fn cursor wtedy go obejrzysz).
  Wikszo programw wykorzystuje te kursory myszy i zasada polega na
  zastpowaniu standardowego kursora jego powikszon wersj.


  22..  OO ttyymm ddookkuummeenncciiee

  Zostaem umotywowany do napisania tego MINIHOWTO, kiedy sabo widzcy
  kolega student zapyta mnie jak powikszy kursor myszy w X-ach.  Kiedy
  ju si dowiedziaem jak to zrobi, napisaem pierwotn wersj tego
  dokumentu. Poniewa wiedza o sposobie tu opisanym nie jest zapewne
  powszechna, zdecydowaem podzieli si ni i utworzyem z tego dokumentu
  MINIHOWTO linuksowe, mimo tego e, _n_i_e _j_e_s_t _o_n _w_c_a_l_e _t_y_p_o_w_y _d_l_a
  _L_i_n_u_k_s_a. Jak inne MINIHOWTO, znajduje si on na macierzystym serwerze
  Linux Documentation Project (LDP) <http://sunsite.unc.edu/LDP/HOWTO/>.

  Matryca <http://i11www.ira.uka.de/~schneid/X11-big-cursor/master/>
  tego dokumentu jest w formacie SGML/linuxdoc. Dziki temu moliwe jest
  automatyczne tworzenie wersji w nastpujcych formatach (ktre s dostpne
  w tym samym miejscu co matryca) : html, text, LaTeX, DVI, PostScript i
  GNU info.

  Shinobu Miyata <mailto:shinobu@emichan.rim.or.jp> przetumaczy to
  MINIHOWTO na japoski. Znajduje si ono tu :
  <http://i11www.ira.uka.de/~schneid/jp/X11-big-cursor/>.


  33..  JJaakk TToo ZZrroobbii

  Postpuj zgodnie z instrukcj podan poniej. Jeli nie chcesz sam
  odnajdywa i kompilowa pakietu bdfresize, moesz przej do punktu 3 i
  cign powikszony font zamiast tworzy go.

  1. we cursor.bdf, plik rdowy fonta kursora, z jakiej dystrybucji X-w,
     n. p. z  <ftp://ftp.x.org/pub/R6.3/xc/fonts/bdf/misc/cursor.bdf>
     (jeli tam go nie bdzie sprbuj archie lub pobierz go ode mnie
     <http://i11www.ira.uka.de/~schneid/X11-big-cursor/cursor.bdf>).

  2. zdobd, skompiluj i zainstaluj pakiet bdfresize z
     <ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z>
     (lub ode mnie <http://i11www.ira.uka.de/~schneid/X11-big-
     cursor/bdfresize-1.4.tar.gz>):

          zcat bdfresize-1.4.tar.Z  | tar xf -
          cd bdfresize-1.4
          xmkmf
          make



  W Linuksie pewnie trzeba uy:

       make CCOPTIONS='-include /usr/include/bsd/bsd.h' clean all




  3. utwrz katalog i zainstaluj w nim powikszony font kursora
     (powikszenie dwukrotne w tym przykadzie):


          mkdir $HOME/fonts
          bdfresize -f 2 cursor.bdf | bdftopcf >$HOME/fonts/cursor2.pcf
          mkfontdir $HOME/fonts




  Przygotowaem kilka powikszonych fontw kursora
  <http://i11www.ira.uka.de/~schneid/X11-big-cursor/fonts/> o nastpuj-
  cych stopniach powikszenia: 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8 i 16-krotne.
  Mona je cign  jeden z nich i zainstalowa w $HOME/fonts jeeli nie
  chcesz uywa bdfresize.

  4. zmodyfikuj plik .xinitrc lub .xsession : przed uruchomieniem
     jakiegokolwiek klienta X-w (ktry uywa kursora) nastpujce polecenie
     musi by wykonane :


          xset +fp $HOME/fonts
          xsetroot -cursor_name X_cursor




  5. przerwij sesj X-w i zrestartuj.

  Gotowe--teraz wszystkie kursory myszy powinny by podwojonych rozmiarw.



  44..  UUwwaaggii ii ooggrraanniicczzeenniiaa


  +o  X serwery mog mie pewien limit dla maksymalnego rozmiaru kursora,
     szczeglnie gdy uywaj hardware-owej implementacji kursora myszy.
     Inne X serwery nie maj takiego ograniczenia. N. p. XF86_S3 3.3
     pracuje nawet z kursorem myszy 512x512 (raczej wolno).

  +o  Powikszony kursor myszy musi mie tak sam nazw jak pierwotny font
     (_n_a_z_w_a _f_o_n_t_a musi by cursor, _n_a_z_w_a _p_l_i_k_u nie ma znaczenia)--nie ma
     problemu bo bdfresize nie zmienia nazwy fonta.

  +o  katalog z nowym fontem kursora musi znajdowa si przed katalogiem ze
     standardowym fontem kursora w ciece fontw--wykonuje si to za pomoc
     xset +fp (w przeciwiestwie do xset fp+).

  +o  Zmiany w $HOME/fonts/ bd widoczne dopiero po wydaniu polecenia
     mkfontdir $HOME/fonts; xset fp rehash i tylko w nowo otworzonych
     klientach X-w (dokadniej nowo utworzonych kursorach).

  +o  xset +fp path moe nie dziaa na terminalu X-w. W tym wypadku mona uy
     font serwera (zobacz w rozdziale ``Jak uywa font serwera'') jeli
     jest wspierany przez terminal X-w lub jak inny sposb instalacji
     fonta na terminalu X-w (zazwyczaj moe to tylko wykona administrator
     systemu).

  +o  Identyczne podejcie moe by zastosowane dla fontw olcursor i
     decw$cursor i i kadego innego fontu kursora, ktry znajdziesz.

  +o  Fonty kursora stworzone przez bdfresize nie wygldaj rwno,
     szczeglnie przy wyszych stopniach powikszenia. Byoby dobrze gdyby
     kto mg stworzy rcznie lepiej wygldajce wersje niektrych czciej
     uywanych rozmiarw.


  55..  SSzzcczzeeggyy tteecchhnniicczznnee

  Czy jest moliwe napisanie programu dla X-w, powikszajcego kursory
  automatycznie?


     RRoozzwwiizzaanniiee ((cczzcciioowwee))
        Uyj XTestCompareCursor z rozszerzenia XTEST. We wszystkich
        oknach nad ktrymi znajduje si kursor porwnuj kursor tego okna z
        zestawem 'znanych' kursorw (n. p. z fontu kursora ). Jeeli
        kursor istnieje, zamie go na powikszony odpowiednik, w innym
        przypadku albo zostaw bez zmian albo zamie na standardowy
        kursor.  To zadziaa tylko tam, gdzie dostpne jest rozszerzenie
        XTest.


     RRoozzwwiizzaanniiee 22
        Napisz proxy X serwer, ktry przekazuje wszystkie dania klientw
        bez zmian, lecz przechwytuje wszystkie dania odnoszce si do
        funkcji Xlib XCreate*Cursor.  dania XCreate*Cursor powinny by
        zmieniane tak aby powikszonego kursora.

        Ten serwer proxy symuluje nowy display, n. p. :1.  Wszystkie
        programy klienckie, ktre cz si z tym display (n. p. xterm
        -display :1) s wywietlane na rzeczywistym serwerze (zwykle :0) i
        ich kursory myszy s automatycznie powikszone. Kursory myszy
        klientw, ktre cz si z :0 pozostan _n_i_e_z_m_i_e_n_i_o_n_e.


  66..  IInnnnee ppoommyyssyy jjaakk ppoopprraawwii wwiiddoocczznnoo kkuurrssoorraa mmyysszzyy

  Oto niektre pomysy dla raczej prostych programw dla X-w, ktre sprawi e
  kursor myszy bdzie lepiej widoczny.


  +o  Kiedy "gorcy klawisz" zostanie nacinity wywietl co (duy kursor, mae
     okno, ksztat okna) w pozycji kursora na 0,5 s.

  +o  uyj XRecolorCursor do zmiany koloru kursora co 0,1 s.

  Bardziej ambitnym projektem byyby llaaddyy mmyysszzyy a la windoze, t. j. kiedy
  mysz jest przesuwana i kursor myszy musi by wywietlony w innej
  pozycji, wtedy "stary kursor" nie znika od razu, ale z pewnym
  opnieniem.  lady myszy najlepiej byoby zaimplementowa w X serwerze,
  ale mona by to wykona jako klienta X-w, lub lepiej jako serwer proxy (
  dokadniejszy opis w rozdziale ``Szczegy techniczne'').


  77..  IInnffoorrmmaaccjjee zzwwiizzaannee zz ttyymm tteemmaatteemm

  77..11..  JJaakk uuyywwaa ffoonntt sseerrwweerraa

  Font serwer jest usug sieciow, ktra dostarcza zestaw fontw X11 z
  nieskomplikowanym protokoem. Mona do niego wysya zapytania, ktre fonty
  s dostpne i zada od niego fontu bitmapowego.

  Font serwer moe by przydatny do dostarczenia X serwerowi
  zmodyfikowanego fontu kursora, zamiast informowania gdzie w file
  systemie on si znajduje.

  Ta metoda jest szczeglnie przydatna jeli uywa si kilku maszyn, ktre
  nie maja tego samego systemu plikw lub jeli uywa si X terminali, ktre
  wspieraj protok font serwera.

  Font serwer i zwizane z nim narzdzia s w dystrybucji X11R5+ (o ile
  wiem).


  77..11..11..  iinnssttaallaaccjjaa ffoonntt sseerrwweerraa

  Przeczytaj strony podrcznika systemowego _f_s_(_1_), _f_s_l_s_f_o_n_t_s_(_1_) (lub
  _x_f_s_(_1_), _x_f_s_l_s_f_o_n_t_s_(_1_) pod X11R6) i sprbuj--to nie jest trudne.
  Powiedzmy, e serwer jest uruchomiony na hocie some.host.edu na porcie
  7100. Instalacj mona wyprbowa poleceniem fslsfonts -server
  some.host.edu:7100


  eby naprawd uruchomi font serwer naley wyda polecenie :

  xset +fp tcp/some.host.edu:7100

  ktre nie powinno da informacji o bdzie.



  77..22..  JJaakk uuzzyysskkaa rrddaa bbddff jjaakkiieeggoo ffoonnttaa

  Jeli uruchomie font serwer uyj po prostu fstobdf doczonego do serwera
  fontw.

  Inne wyjcie to uycie getbdf ktry moe zapisa dowolny zainstalowany font
  X11 do pliku bdf.