Как полностью обновить экран? (Linux)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Как полностью обновить экран? (Linux)

Сообщение Andreich » 30.10.2008 06:36:28

Всем доброго времени суток!
Пишу приложение работающее в полноэкранном режиме,.. после завершения программы на экране остается очень много артефактов (т.е. старое изображение лишь местами затирается другими окнами). Как с этим бороться?! Есть ли способ позволяющий полностью обновить содержимое рабочего стола? (интересует вариант для *nix)

Добавлено спустя 8 часов 9 минут 9 секунд:
Подойдет даже какая-нибудь системная команда или утилита ... Как ее прикрутить я придумаю!
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Как полностью обновить экран? (Linux)

Сообщение shade » 30.10.2008 18:07:26

Создай окно, разверни его на весь экран и закрой.
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Re: Как полностью обновить экран? (Linux)

Сообщение Andreich » 31.10.2008 10:48:38

shade писал(а):Создай окно, разверни его на весь экран и закрой.

Очень заманчивое предложение, вот только есть один вопрос,... как развернуть окно на весь экран (включая гномовские панели)?
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Как полностью обновить экран? (Linux)

Сообщение shade » 31.10.2008 12:49:54

В Delphi если не ошибаюсь делал так:
FormStyle = fsStayOnTop
BordreStyle = bsNone
WindowState = wsMaximized
получалось окно развернутое на весь экран, которое перекрывало и панель задач.
Что-то в KDE так не прёт :(
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Re: Как полностью обновить экран? (Linux)

Сообщение Andreich » 31.10.2008 14:03:51

shade писал(а):Что-то в KDE так не прёт :(

Вот в том то и проблема,... У меня под Gnome тоже этот вариант не срабатывает!
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Как полностью обновить экран? (Linux)

Сообщение B4rr4cuda » 31.10.2008 20:16:50

xrefresh
Xrefresh is a simple X program that causes all or part of your screen to be repainted. This is useful when system messages have messed up your screen. Xrefresh maps a window on top of the desired area of the screen and then immediately unmaps it, causing refresh events to be sent to all applications. By default, a window with no background is used, causing all applications to repaint ``smoothly.'' However, the various options can be used to indicate that a solid background (of any color) or the root window back-ground should be used instead.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Как полностью обновить экран? (Linux)

Сообщение Andreich » 31.10.2008 22:31:58

B4rr4cuda писал(а):xrefresh

Спасибо! Это именно то, что нужно... :) Как говориться: все гениальное - просто!
Andreich
постоялец
 
Сообщения: 268
Зарегистрирован: 17.04.2008 12:33:43

Re: Как полностью обновить экран? (Linux)

Сообщение B4rr4cuda » 01.11.2008 00:56:33

Да пожалуйста. Кстати, работает по алгоритму предложенному shade, так что можно поковырять сорц и сделать аналогично.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

Рейтинг@Mail.ru