ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Slava Semushin <php-coder@ngs.ru>
To: devel@lists.altlinux.org
Cc: Pawel Veselov <pawel.veselov@gmail.com>
Subject: [devel] Патч xterm_mouse_support для gpm
Date: Wed, 9 Aug 2006 10:48:04 +0700
Message-ID: <20060809034804.GA3760@semushin.plesk.ru> (raw)


    Здравствуйте!

    При сборке консольной игрушки clines столкнулся с проблемой, когда
    после выхода из программы на терминал выводятся лишние пробелы о чем и
    поспешил сообщить разработчику.

    Виталий Липатов (спасибо!) любезно предоставил шелл для расследования
    проблемы и она была найдена.
    
    Ниже привожу оригинальное письмо от автора программы с техническим
    описанием процесса и проблемы.
    

    Интересует вопрос: действительно ли патч xterm_mouse_support не до
    конца корректен или же следует патчить использующую gpm програму?

    Спасибо.


    P.S. Т.к. Павел не подписан на devel@, то просьба при ответе сохранять
    его в СС:


----- Forwarded message from Pawel Veselov <pawel.veselov at gmail.com> -----

Subject: Re: About CLines 1.0.3
From: Pawel Veselov <pawel.veselov at gmail.com>
To: Slava Semushin <php-coder at ngs.ru>
Date: Tue, 8 Aug 2006 20:00:52 -0700

Привет,

ломает всё : gpm-1.20.1-deb-alt-xterm_mouse_support.patch

CLines делает:
   initscr();
   int fd = Gpm_Open();
   if (fd == -2) { Gpm_Close(); } // я сам с xterm'ом разберусь
  ........ игра тут.....
   endwin();

initscr() : открывает терминал, сохраняет значения, устанавливает на
терминале нужный режим
Gpm_Open(с патчем) : вызывает setupterm(), это переписывает в cursese
сохранённые значения
endwin() востанавливет то что было на момент Gpm_Open() , что уже
application mode, посему глюки.

без патча setupterm из Gpm_* не вызывается, и всё нормально.

Наверно если в CLines поменять местами Gpm_Open и initscr, будет работать.
По хорошему в gpm-патче надо сначала проверять на isendwin(), а потом только
коговрить setupterm, или
чего-то ещё делать, чтобы не переписывались значения текущего терминала.

Вот это всё можешь акуратно запостить в devel list. Я собственно и ждал
авторизации в этот list, да -- не придёт -- и фик с ним :)


Счастливо !

-- 
With best of best regards
Pawel S. Veselov

----- End forwarded message -----


-- 
+ Slava Semushin | php-coder @ ngs.ru
+ ALT Linux Team | php-coder @ altlinux.ru
+ Expand QA Team | vsemushin @ swsoft.com



                 reply	other threads:[~2006-08-09  3:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060809034804.GA3760@semushin.plesk.ru \
    --to=php-coder@ngs.ru \
    --cc=devel@lists.altlinux.org \
    --cc=pawel.veselov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git