PDA

View Full Version : تشخیص تغییر اندازه ترمینال در ncurses



sh_roohani
یک شنبه 30 مرداد 1384, 13:44 عصر
سلام،
ببخشید اگه این سوال رو تو فروم C مطرح نکردم. آخه دیدم اونجا اکثرا ویندوزی هستن. گفتم شاید اینجا کسی بتونه کمکی بکنه.
من یه برنامه با ncurses دارم می نویسم و همه چی داره خوب پیش می ره الا اینکه وقتی ترمینال رو Maximize می کنم، سمت راست و پایین پنجره Maximize شده خالی می مونه و برنامه من هم به همون اندازه که بوده باقی می مونه. راستش اول من فکر می کردم که وقتی ترمینال رو تغییر اندازه می دیم، باید ماتریس کاراکتری اون ثابت بمونه و هر درایه اون کوچک یا بزرگ بشه، اما ظاهرا تعداد درایه ها در عرض و ارتفاع زیاد می شه. حالا من Midnight Commander رو دیدم که با تغییر اندازه ترمینال، خودش رو تنظیم می کنه. چه طوری می شه تو برنامه فهمید که اندازه ترمینال تغییر کرده؟ سیگنالی چیزی تولید می شه؟
البته یه راه اینه که برم سورس MC رو ببینم، ولی این کار یه قرن طول می کشه.
یه سوال دیگه هم دارم. محتوای یه پنجره رو تو ncurses چه طوری می شه scroll کرد؟ من تو اینترنت هم چیز زیادی در این مورد پیدا نکردم. در مورد سوال اول هم همینطور. الان کاری که من در نظر دارم انجام بدم (و البته هنوز امتحان نکردم) اینه که به ازای هر سطر یا ستون scroll شدن، کل محتوای پنجره رو دوباره ترسیم کنم. اما به گمانم این کار از نظر سرعت خیلی مصیبت بار باشه. همینطور هم از نظر حجم کد نویسی. راه بهتری واسه اینکار نیست؟

ممنون می شم اگه کسی راهنمایی کنه.

hosseinzadeh
پنج شنبه 03 شهریور 1384, 17:15 عصر
http://dickey.his.com/ncurses/ncurses-intro.html