Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [РЕШЕНО!] Док, двигающий уведомления (xfce4-notifyd, cairo-dock)  (Прочитано 1750 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн M1ke

  • Автор темы
  • Участник
  • *
  • Сообщений: 227
  • ✎…
    • Просмотр профиля
    • IT блог
Доброго всем!
Вопрос эстетики :)
xfce4-notifyd вывод установлен на верх/право. cairo-dock тоже к правому краю приклеен.

notify-send "xfce4-notifyd" "Сейчас я не совсем справа"
killall cairo-dock
killall xfce4-notifyd
notify-send "xfce4-notifyd" "Сейчас я справа"

Копался в настройках cairo, ничего подходящего не нашел (навроде отталкивания, отступов и прочей логичной фигни). Перемещать док не хочу - мне удобно когда он справа. На доке всего два апплета (переключалка окон отключена) - "История буфера обмена" и "Недавние события".

Как это выглядит:


Не сильно критично, но хотелось бы все-таки видеть уведомления действительно справа, прижатыми к краю. (отступы рабочего стола в настройках все на 0). Поможете?

xUbuntu 14.04 amd64
cairo-dock - 3.3.2 из репов.
xfce4-notifyd стандартный.
« Последнее редактирование: 26 Май 2014, 18:05:00 от Mixas »
define(TRUE, FALSE); //секс и наркотики

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
Проверил, вот док снизу:

и вот док справа:


Может, это баг 14,04?
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн M1ke

  • Автор темы
  • Участник
  • *
  • Сообщений: 227
  • ✎…
    • Просмотр профиля
    • IT блог
xf∞,

Поставьте cairo справа, потом сделайте killall xfce4-notifyd, потом notify-send somenotify, посмотрите, как будут выводиться уведомления.
Если я закрываю cairo, потом закрываю notifyd, потом запускаю notifyd потом уже запускаю cairo - несколько минут уведомления норм справа отображаются, затем по новой смещаются.

Писать скрипт, который будет вышеописанное каждые пару минут производить - считаю диким костылем :)
define(TRUE, FALSE); //секс и наркотики

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
Mixas, а зачем cairo-dock закрывать?
если он у вас всегда работает, то не вижу смысла его закрывать. если он при загрузке так себя ведёт, то тогда можно очистить сохранённые сеансы.

а вообще замечаю, что иногда notify ведёт себя странно: например, уведомление может показаться с зелёным фоном(как моей теме для notify) и слева!
после перезагрузки всё возвращается на свои места.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн M1ke

  • Автор темы
  • Участник
  • *
  • Сообщений: 227
  • ✎…
    • Просмотр профиля
    • IT блог
Я, собственно и не закрываю ничего, то что я выше написал - это как пример временного решения, но я этого в реальности естественно не делаю :) А смещение начинается в любом случае само-собой минуты через 3-4 после запуска системы (или описаных выше манипуляций).
Впринципе я уже привыкаю к такому поведению уведомлений, просто подумал, что можно что-нибудь в настройках cairo подкрутить, чтоб было "уплотнёна", и кто-нибудь знает, что именно (:

Пользователь решил продолжить мысль 26 Май 2014, 18:03:10:
Проблему решил. Не совсем таким способом, как хотел, но теперь уведомления отображаются так, как я этого и хотел не взирая на запущенный справа cairo—dock.

Скачал:
http://archive.xfce.org/src/apps/xfce4-notifyd/0.2/xfce4-notifyd-0.2.4.tar.bz2

В файле xfce4-notifyd-0.2.4/xfce4-notifyd/xfce-notify-daemon.c нашел следующее:

    switch(xndaemon->notify_location) {
...
        case GTK_CORNER_TOP_RIGHT:
            initial.x = geom.x + geom.width — allocation->width - SPACE;
            initial.y = geom.y + SPACE;
            break;
...
switch — строка 632

И заменил case на:
    switch(xndaemon->notify_location) {
...
        case GTK_CORNER_TOP_RIGHT:
            initial.x = geom.x + geom.width + allocation->width;
            initial.y = geom.y + SPACE;
            break;
...
Константу SPACE, кстати заменил на 8 — теперь окна уведомлений поплотнее сидят по оси Y.

Затем просто скомпилил все -
cd xfce4-notifyd-0.2.4/
./configure
make

Забекапил /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd :
sudo cp /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd.bak
(!Если будете повторять — бэкап это обязательно) — впервый раз накосячил — получил утиечку памяти, а этот софт стартует с системой.
Исправил так:
(Нажмите, чтобы показать/скрыть)

Затем простор заменил файл
/usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd
на свой, который скомпилил -
xfce4-notifyd-0.2.4/xfce4-notifyd/xfce4-notifyd
sudo cp xfce4-notifyd-0.2.4/xfce4-notifyd/xfce4-notifyd /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd
sudo chmod +x /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd

Вуаля!



Надеюсь, кому будет полезно - в инете вообще не нашел инфы по данной проблеме. Если после ./configure - error - смотрите в самом конце - он укажет недостающие библиотеки, обычно это имя*-dev. - sudo apt-get install *-dev.

p.s. xf∞,
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 26 Май 2014, 18:28:18 от Mixas »
define(TRUE, FALSE); //секс и наркотики

 

Страница сгенерирована за 0.196 секунд. Запросов: 24.