[linux-programlama] Re: konsolda sütun ayarlama

---------

From: Serdar KÖYLÜ (skoylu@gizemcafe.net)
Date: Thu 11 Sep 2003 - 08:23:15 EDT

  • Next message: Kenan Dogan: "[linux-programlama] Re: konsolda sütun ayarlama"

    Selamlar...

    Eski DOS/Windows programcilari baska cikar yollari olmadigi icin bu tur
    API isleriyle bogusmayi tercih ederler :)) Bende hain pengueni oynayip
    ses cikarmadim ki hacking kabileyetlerimiz biraz semirsin.. Ama
    goruyorum ki is maalesef baska mecralara gidecek, thin client
    marka/model vs. flame'i kopacak :))

    Oysa, Terminal denen sey, ESCAPE kodlari ile ayarlanan bir
    sanal/fiziksel cihazdir. Sutun sayisini degistir, kursoru yerlestir, su
    renkle yaz, scroll et vs. vs. hepsi esc[foo;bar; gibi karakterlerle
    yapilir. Mesela sizin aradiginiz 25x132 modu, vt220 uyumlu terminallerde
    "\ESC[1;25r\ESC[25;1H" gibi bir komut olmali. Peki mesela Linux
    terminalde nasildir, vt340'da nasildir ? Bu sorunun cevabi
    "/etc/termcap" dosyasinda gizlidir. Bu dosyayi incelerseniz, Linux'un
    destekledigi her tur terminal icin bu kodlarin tek tek listelendigini
    goreceksiniz. Basitce, 132 cols seklinde grep veya search yapin..

    Peki kodu bulunca ne yapacagiz ? Basit
    'printf("\0x1B[kod;hede;hodo\n");' Oldu size dilediginiz terminal
    aksiyonu.. 0x1B yerine gene o dosyadan bulabileceginiz ESCAPE
    karakterini koymalisiniz..

    man termcap
    man terminfo
    man ncurses

    Size yardimci olacak en iyi asistanlardir, konsol uygulamasi yazarken..
    Bu termcap/terminfo icinden calistiginiz terminal icin gerekli olan
    komut dizesini ogrenip ekrana yazmaniz yeterli ve sart olan kosul..

    Saygi ve sevgiler..

    On Thu, 11 Sep 2003 03:51:20 -0700 (PDT)
    Kenan Dogan <kndogan@yahoo.com> wrote:

    > =20
    > > Elimde Igel e-terminaller var. Bunlar linux
    > > tabanl=FD disksiz (diskonchip ile =E7al=FD=FE=FDyor)
    > > makineler.
    > =20
    > Terminalleriniz san=FDyorum "=C7elimsiz istemci :^)"
    > (thin-client) t=FCr=FCnden. Bir ara bro=FE=FCrlerini
    > inceledi=F0imi hat=FDrl=FDyorum.
    > =20
    > > Bu makineler uygulamadan gelen komut ile her
    > > konsolu ayr=FD ayr=FD 80-132 kolona de=F0i=FEtirebiliyor.
    > > Ancak elimdeki linux makineler bunu desteklemiyor.=20
    > > svgalib'i y=FCkleyip resizcons'u inceleyece=F0im.
    > "Uygulamadan gelen komut ile" derken kast=FDn=FDz acaba
    > bu terminallere y=F6nelik =F6zel bir kod mu, yoksa daha
    > genel bir C program kodu mu ? Buras=FD belki bir =E7=FDk=FD=FE
    > noktas=FD olabilir. Bir de =FEu var; o terminaller ana
    > makinaya san=FDyorum "terminal em=FClasyonu" ile
    > ba=F0lan=FDyordur (VT220, Wyse-60 v.b.).
    > Siz o terminallerin yerine Linux y=FCkl=FC PC koyunca,
    > do=F0rudan Linux konsol kullanm=FD=FE oluyorsunuz.
    > (Bu yorumumda yan=FDl=FDyor olabilirim...)
    > =20
    > svgalib'in incelenmesini, bu konu ile ilgili temel
    > baz=FD bilgi ve program kodlar=FDn=FD i=E7eriyor olmas=FD
    > nedeniyle =F6nermi=FEtim. Yoksa "resizecons" program=FDn=FDn
    > bu paket b=FCnyesinde oldu=F0unu kastetmedim. Zaten size
    > cevap yazd=FDktan sonra merak edip arad=FD=F0=FDmda "kbd"
    > paketinin i=E7inde oldu=F0unu g=F6rd=FCm. Bu C prog. kodunun
    > ba=FE=FDndaki a=E7=FDklama sat=FDrlar=FD da size fikir verebilecek
    > nitelikte g=F6r=FCn=FCyorlar.
    > =20
    > Ayr=FDca kodun bir yerinde /dev/tty[0-9] , tty[0-9][0-9]
    > serisinin t=FCm=FCne uygulanan "size" de=F0i=FEtirme i=FElemi
    > var. Siz her bir konsol ekran=FDn=FDn ayr=FD ayr=FD
    > ayarlanmas=FDn=FD tercih ediyorsan=FDz, kodun o b=F6l=FCm=FC ile
    > oynaman=FDz gerekebilir.
    > =20
    > =D6zetlersek :
    > =20
    > * kbd paketinin son s=FCr=FCm=FCnden "resizecons.c" yi
    > inceleyebilirsiniz. ( ben 1.08 s=FCr=FCm=FCn=FC buldum )
    > =20
    > * svgalib paketinde bu konu ile do=F0rudan ilgili
    > "restoretextmode" ve "restorefont" programlar=FDn=FD
    > (hem kod, hem man sayfas=FD olarak) inceleyebilirsiniz.
    > "restore" s=F6z=FC sizi yan=FDltmas=FDn; "-r" , "-w"
    > se=E7imlikleri ile hem okuma hem yazma yapabiliyorlar.
    > =20
    > Ek-Not: K=FC=E7=FCk bir C program=FD i=E7inden system(".....")
    > y=F6ntemi ile kabu=F0a inerek deneme yapt=FDm;
    > her iki t=FCrl=FC ge=E7i=FE de ger=E7ekle=FEiyor.
    > (80->132 , 132->80) Basit bir denemeydi,
    > ama fikir vermesi a=E7=FDs=FDndan yazd=FDm bunu.
    > =20
    > =DDncelemeniz bitti=F0inde, olumlu-olumsuz sonucu da
    > listeye yazarsan=FDz, ilgilenebilecek di=F0er =FCyeler
    > ve liste ar=FEivi a=E7=FDs=FDndan yararl=FD olabilir.
    > =20
    > =DDyi =E7al=FD=FEmalar.
    > =20
    >=20
    >=20
    > ---------------------------------
    > Do you Yahoo!?
    > Yahoo! SiteBuilder - Free, easy-to-use web site design software
    >=20
    >=20
    >=20


  • Next message: Kenan Dogan: "[linux-programlama] Re: konsolda sütun ayarlama"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.