Пишу замену notify-osd с плюшками, которых мне не хватало: закрытие по клику, поддержка html, максимальная конфигурабельность внешнего вида. Однако, не могу понять как сделать такую плюшку, как truncation - обрезание слишком длинных сообщений. Пример:
1
2
3
4
5
6
7
8
9
|
|
|
V
1
2
3
4
...
9
Проблема в том что с появлением поддержки хтмл обрезание текста становится невозможным: текст может быть коротким, но большим, в сообщении могут встретиться таблицы, которые естественно обрезать нельзя ни по вертикали, ни тем более по горизонтали. И я решил что от одной из фич придется отказаться. Что посоветуете выкинуть: обрезание или поддержка html?
> Да кому нужна эта производительность, если речь идёт о свистоперделках?
Вот! Истину глаголишь, отрок. Надо ещё прикрутить туды какой-нибудь трудновыводимый изврат, заставляющий программу работать, например, только на ATI с блобом версии не ниже 11.х. Ну или на nvidia, тут уже не принципиально.
> А с уведомлениями я еще и вижу что мне написали, и не отвлекаюсь на разную фигню.
Как раз таки уведомления и есть всякая фигня, на которую отвлекаешься с текущей задачи. Да и нечего демонстрировать то что написали всяким разным людям, которые могли случайно оказаться у монитора.
А с уведомлениями я еще и вижу что мне написали, и не отвлекаюсь на разную фигню.
Если я занят, я вообще не отвлекаюсь. А уведомления один фиг заставляют их прочитать и отвлечься своим «выскакиванием», что бы идентифицировать бред там, или нет. Если же не сильно занят и могу позволить себе отвлечься, то один доп. клик погоды не делает.
Виджет самого сообщения фиксированной (или максимальной) высоты, а в нём дочерних вижджет с возможностью прокрутки. И да, закрытие по клику — это то чего так не хватает кдешному.
> Что мешает выводить скопированный в новый буфер начало и конец сообщения?
Текст может быть форматированным, списки, содержать таблицы и изображения. Если с текстом и списки еще можно обрезать, то таблицы и особенно изображения - уже нет. Тут предлагали отрендерить изображения и вырезать часть, но ИМХО этот метод будет тормозить.