Notify 3

...
  • Notify не учитывает размеры клиентской области. Из-за этого если панель задач сверху, то сообщения налазят на неё.

    Прошу исправить, версия на С-- учитывала этот момент.
    Из хаоса в космос
  • Приятно, что ASM. А то, понимаешь, понабежали C++ы...
    Омская jabber-конференция GNU/Linux:
    omsklug@conference.jabber.ru
    Сайт Омского LUG:
    http://www.omsklug.com
  • r5476 - закрытие по нажатию клавиши Escape.
  • В программе есть экранирование одинарных кавычек?
    Из хаоса в космос
  • Leency wrote:В программе есть экранирование одинарных кавычек?
    Можно писать текст уведомления в двойных ("Lorem ipsum 'dolor sit amet, consectetur' adipisicing elit. Sunt, ratione."), а можно 'Lorem ipsum \'dolor sit amet, consectetur\' adipisicing elit. Sunt, ratione.'
  • version 3.2:
    • Уведомление больше не перехватывает фокус
    • Уведомление теперь рисуется поверх всех окон
    • закрытие по нажатию клавиши Escape (старое изменение, решил включить в этот "релиз")
    GerdtR wrote:Ещё notify надо будет сделать таким, чтоб фокус на себя не забирал. А то мешается. Пусть делает себя поверх всех и возвращает фокус у кого был.
    fixed
    Last edited by e-andrew on Sun Nov 08, 2015 5:39 pm, edited 2 times in total.
  • Спасибо за правки) И одна фишка: escape не работает. Окно-то теперь не активное. Или временно делать горячей клавишей, либо просто убрать.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • v3.3:
    • Добавлена поддержка контроллеров
    • Добавлен флаг 'c'
    • исправлена тонна багов, тонна рефакторинга и оптимизация. Пожалуй, самое глобальное обновление
    Контроллер - расшареная область памяти, через которую происходит общение приложения и уведомления. Создается в приложении после запуска уведомления. Имя области <PID>-NOTIFY, где PID - pid уведомления. После чего приложение должно ждать до тех пор, пока первый байт в области не станет равен 1 - это значит, что контроллер готов.
    Сейчас через контроллер можно:
    - менять текст (размеры окна остаются неизменными)
    - менять иконку (для этого должен заранее быть использован флаг с любой иконкой)
    - переключать заголовок
    - закрывать уведомление
    Текст в котроллере лежит в plain-формате, т.е. никаких экранизаций ковычек. И \n там заменен на символ с кодом 10.

    Хорошо прокоментированный пример уведомления с контроллером можно увидеть тут - бегущая строка и закрытие уведомление по таймеру
    Attachments
    test_ctrl (450 Bytes)
    собранный пример
    Downloaded 290 times
  • v3.3.1:
    • Добавлен прогрессбар
    • Исправлен баг частой перерисовки
    • И еще куча багов исправлена
    Сейчас планируется прикрутить это к @volume, а так же попытаться использовать это для диалогов копирования/перемещения (не всем нравится мысль, что диалог будет висеть поверх всех, так что нужно думать, как поступить. Можно добавить флаг, который не делает диалог поверх всех).

    Для работы прогрессбара нужно добавить флаг "p" и в контроллере установить значения NTCTRL_PBAR_MAX и NTCTRL_PBAR_CUR (максимальное и текущее, оба в dword), после чего установить NTCTRL_APPLY_PBAR (byte) в 1 для применения изменений.

    Для запуска примера нужна последняя сборка (r5900) или собрать нотифай самому.
    Attachments
    как выглядит прогрессбар
    1.png (33.57 KiB)
    как выглядит прогрессбар Viewed 8275 times
    test_ctrl (473 Bytes)
    собранный пример (нужен @notify 3.3.1 из r5900)
    Downloaded 296 times
  • Sewer wrote:а можно как нибудь "расцепить" Плеер и @NOTIFY, при воспроизведении песен @NOTIFY постоянно "ворует" фокус мышки.
    Воспроизвел.
    Почему так происходит @notify ведь теперь не должен тянуть на себя фокус?
    Из хаоса в космос
  • Leency wrote:
    Sewer wrote:а можно как нибудь "расцепить" Плеер и @NOTIFY, при воспроизведении песен @NOTIFY постоянно "ворует" фокус мышки.
    Воспроизвел.
    Почему так происходит @notify ведь теперь не должен тянуть на себя фокус?
    А он и не тянет. Если проблема только с плеером, то возможно дело в плеере, попробую разобраться.
    Речь про пикси?
  • Да
    to infinity and beyond
  • e-andrew wrote:v3.3:
    • Добавлена поддержка контроллеров
    • Добавлен флаг 'c'
    • исправлена тонна багов, тонна рефакторинга и оптимизация. Пожалуй, самое глобальное обновление
    Контроллер - расшареная область памяти, через которую происходит общение приложения и уведомления. Создается в приложении после запуска уведомления. Имя области <PID>-NOTIFY, где PID - pid уведомления. После чего приложение должно ждать до тех пор, пока первый байт в области не станет равен 1 - это значит, что контроллер готов.
    Сейчас через контроллер можно:
    - менять текст (размеры окна остаются неизменными)
    - менять иконку (для этого должен заранее быть использован флаг с любой иконкой)
    - переключать заголовок
    - закрывать уведомление
    Текст в котроллере лежит в plain-формате, т.е. никаких экранизаций ковычек. И \n там заменен на символ с кодом 10.
    Практически ровно спустя 2 года - первая рабочая программа, использующая контроллер - nsinstall http://board.kolibrios.org/viewtopic.ph ... 270#p69670
    Хорошо прокоментированный пример уведомления с контроллером можно увидеть тут - бегущая строка и закрытие уведомление по таймеру
    Пример сильно усложнен для не ассемблерных программистов. У меня заняло два плотных дня для адаптирования его для nsinstall.

    Но в целом ня и спасибо за работу :)
    Attachments
    nsinstall.png
    nsinstall.png (14.26 KiB)
    Viewed 7460 times
    Из хаоса в космос
  • Leency wrote:
    e-andrew wrote:v3.3:
    • Добавлена поддержка контроллеров
    • Добавлен флаг 'c'
    • исправлена тонна багов, тонна рефакторинга и оптимизация. Пожалуй, самое глобальное обновление
    Контроллер - расшареная область памяти, через которую происходит общение приложения и уведомления. Создается в приложении после запуска уведомления. Имя области <PID>-NOTIFY, где PID - pid уведомления. После чего приложение должно ждать до тех пор, пока первый байт в области не станет равен 1 - это значит, что контроллер готов.
    Сейчас через контроллер можно:
    - менять текст (размеры окна остаются неизменными)
    - менять иконку (для этого должен заранее быть использован флаг с любой иконкой)
    - переключать заголовок
    - закрывать уведомление
    Текст в котроллере лежит в plain-формате, т.е. никаких экранизаций ковычек. И \n там заменен на символ с кодом 10.
    Практически ровно спустя 2 года - первая рабочая программа, использующая контроллер - nsinstall http://board.kolibrios.org/viewtopic.ph ... 270#p69670
    Хорошо прокоментированный пример уведомления с контроллером можно увидеть тут - бегущая строка и закрытие уведомление по таймеру
    Пример сильно усложнен для не ассемблерных программистов. У меня заняло два плотных дня для адаптирования его для nsinstall.

    Но в целом ня и спасибо за работу :)
    Ееее, крутотень. Сейчас мне кажется, что весь мой код на колибри был лютым говном
  • Who is online

    Users browsing this forum: No registered users and 2 guests