LINUX.ORG.RU
ФорумTalks

[GNOME][трей] патч

 ,


0

0

По мотивам вот этого. Допилил до юзабельного состояния. Боевой патч для 2.24.3 - здесь.

Для 2.26.* я сделал, но проверить не могу - качать пол-гнома зависимостей на жпрс... хм. Поэтому прошу вас, кому интересно, собрать панель с этим патчем и дать мне фидбэк. Нужна gnome-panel >= 2.26.2 судя по чейнжлогу. Патчи ставятся с -p1, как-то так. Дискач.

★★★★★

Ответ на: комментарий от tensai_cirno

>Фичу, про которую я говорил, реализовал?

Нет, я считаю нет смысла реализовывать под старый трей, а новый слишком перекроили и наобум я вряд ли что-то сделаю. Вот обновлюсь на следующей неделе до 11-ки и займусь.

lester_dev ★★★★★
() автор топика

Хм, на гномопанель 2.26.2 не накладывается патч:
% patch -p1 < ~/downloads/m54f8033b.txt
patching file applets/notification_area/na-tray.c
Hunk #1 FAILED at 12.
Hunk #2 FAILED at 26.
Hunk #3 FAILED at 52.
Hunk #4 FAILED at 88.
Hunk #5 FAILED at 107.
Hunk #6 FAILED at 177.
Hunk #7 FAILED at 196.
Hunk #8 FAILED at 358.
Hunk #9 FAILED at 464.
Hunk #10 FAILED at 542.
Hunk #11 FAILED at 618.
Hunk #12 FAILED at 701.
Hunk #13 FAILED at 709.
Hunk #14 FAILED at 736.
Hunk #15 FAILED at 769.
Hunk #16 FAILED at 787.
16 out of 16 hunks FAILED -- saving rejects to file applets/notification_area/na-tray.c.rej

anotheranonymous
()
Ответ на: комментарий от lester_dev

Странно даже, вроде должен нормально примениться, вот например кусок rej файла. Может это pastebin как то патч извратил?
*** 26,31 ****
  #include <panel-applet-gconf.h>

  

  #include <gtk/gtk.h>

  

  #include "na-tray-manager.h"

  #include "fixedtip.h"

--- 26,32 ----
  #include <panel-applet-gconf.h>

  

  #include <gtk/gtk.h>

+ #include <gtk/gtktable.h>

  

  #include "na-tray-manager.h"

  #include "fixedtip.h"

***************

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

В общем наложил его вручную, там немного оказалось, но собираться - не собирается :)
na-tray.c: In function ‘tray_added’:
na-tray.c:202: error: ‘icon_size’ undeclared (first use in this function)
na-tray.c:202: error: (Each undeclared identifier is reported only once
na-tray.c:202: error: for each function it appears in.)
na-tray.c: In function ‘update_size_and_orientation’:
na-tray.c:467: error: ‘w’ undeclared (first use in this function)
na-tray.c:467: error: ‘h’ undeclared (first use in this function)
na-tray.c:472:3: warning: "/*" within comment
na-tray.c: In function ‘na_tray_size_request’:
na-tray.c:702: error: ‘obox’ undeclared (first use in this function)
make[4]: *** [notification_area_applet-na-tray.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

А блин, вот что значит править без сборки.

Должно быть в tray_added:

  g_assert (priv->trays_screen == trays_screen);

- gtk_widget_set_size_request(icon, icon_size, icon_size);
+ gtk_widget_set_size_request(icon, tray->icon_size, tray->icon_size);

и в update_size_and_orientation:

  NaTrayPrivate *priv = tray->priv;
+ gint h,w;

в na_tray_size_request:

  gtk_widget_size_request (gtk_bin_get_child (GTK_BIN (widget)), requisition);
- na_box_resize_table ( NA_TRAY(obox), requisition->width, requisition->height);
+ na_box_resize_table ( NA_TRAY(widget), requisition->width, requisition->height);

lester_dev ★★★★★
() автор топика

А сделай как в винсемь, чтобы ненужные иконки складывать в отдельный отстойничек в виде поп-ап окошка, вызываемый кнопкой рядом с треем.

Фича востребованнее многострочности, имхо (:

PolarFox ★★★★★
()
Ответ на: комментарий от lester_dev

Хм, не хочет.
na-tray.c: In function ‘tray_added’:
na-tray.c:202: error: ‘NaTray’ has no member named ‘icon_size’
na-tray.c:202: error: ‘NaTray’ has no member named ‘icon_size’
na-tray.c:473:3: warning: "/*" within comment
make[4]: *** [notification_area_applet-na-tray.o] Error 1
make[4]: *** Waiting for unfinished jobs....
na-tray.c: In function ‘tray_added’:
na-tray.c:202: error: ‘NaTray’ has no member named ‘icon_size’
na-tray.c:202: error: ‘NaTray’ has no member named ‘icon_size’
na-tray.c:473:3: warning: "/*" within comment

icon_size вроде в priv, а не в tray. Заменил на нее, вроде собралось.

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

>icon_size вроде в priv, а не в tray. Заменил на нее, вроде собралось.

Ага так и есть. Запусти testtray, что-нибудь есть?

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от lester_dev
Ответ на: комментарий от e000xf000h

Вечно висящий нетворк манагер и иконка блутуса нужны редко. Но иногда нужны. Так что, думаю, полезно.

А вообще, если легко реализовать перемещение иконок, то наверное можно и их прятание в отдельное окно сделать.

Только вот в си не силён я.

PolarFox ★★★★★
()
Ответ на: комментарий от e000xf000h

Автоскрытие (как в венде) никогда не нравилось. Из той же серии — удаление неиспользуемых иконок рабочего стола (на той же win xp).

Это мой трей, и мне как бы самому решать — нужна мне иконка или нет.

Да и критерии неиспользуемости тоже всякие бывают. Часто туда попадает IM, если давно не было хайлайтов/новых сообщений.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Я то же думал над этим... проскакивала мысль о такой свистелке
чтобы в трее отображалось какое-то условное кол-во иконок, скажем в виде бусинок/шариков/etc одного цвета, ну скажем 4 шт, при наведении на крайную справа бусину отображалось типа окошка нотификации/предпросмотра и в нем сменяя друг друга перемещались иконки запущенных приложений, с права на лево, в левую бусину с лева на право, и на нужной иконке тыкая клавишей мыши раскрывалось нужное окно или само приложение.

Вот как-то так.

e000xf000h
()
Ответ на: комментарий от PolarFox

Что автоскрытие, что "прятание в отдельное окно" - одно и то же, в винде оно настраивается - что надо, что не надо прятать. В xfce, кстати тоже в 4.5 реализовали это, да и в кедах вроде есть. Ну, в гноме нет, видимо потому что в макоси нет такого :)

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

Но вот автоскрытия в той самой седьмой венде нет вообще. Нужность иконки назначается только пользователем. Хотя нет. Там есть вариант автоскрытия по времени прошлой активности иконки, хотя опять же только с разрешения юзверя.

Да и драгндроп удобнее диалогового окна настройки.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

>хотя опять же только с разрешения юзверя.
Да ладно, вот на днях ее смотрел, иконки сами туда улезли.

>Да и драгндроп удобнее диалогового окна настройки.

Ну, с этим не поспоришь.

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

> > хотя опять же только с разрешения юзверя.

> Да ладно, вот на днях ее смотрел, иконки сами туда улезли.

Значит в билде 7000, единственный который щупал и даже пытался юзать (установил пару игрушек непашущих под вином) ещё не успели заменить хороший баг на плохую фичу. Или я не заметил (:

PolarFox ★★★★★
()
Ответ на: комментарий от anotheranonymous

Вот бы сделать чтобы приложение предоставляло не иконку в трее, а полноценный апплет/плазмоид, чтобы его можно было куда угодно вешать, а в случае если прога незапущена, то он бы её запускал

Gorthauer ★★★★★
()
Ответ на: комментарий от anotheranonymous

>Есть, только как то неуверенно они в столбцы выстраиваются, зато стали одного размера :)

Возможно у тебя програмный размер иконок больше реального, но судя по скринам все в порядке. Можешь сделать нормальный diff?

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от lester_dev

>но судя по скринам все в порядке
Ну там по скринам видно, что есть еще глючки :) : при изменении размера панелей иконки иногда в одну кучу сбиваются (http://img375.imageshack.us/img375/9662/screenshot4z.png). Когда gnome-power-manager говоришь не показывать иконку вообще, а потом - показывать, она не показывается а прилепляется к последней и так и остается, пока в трее что нибудь не произойдет (http://img188.imageshack.us/img188/6466/screenshot3q.png).

Патч для 2.26.2
http://files.getdropbox.com/u/378066/na-tray.diff

anotheranonymous
()
Ответ на: комментарий от anotheranonymous

Черт, на 2.24 я вроде от этого глюка избавился. Короче надо срочно 11-ку ставить, это не дело - марсоходом управлять.

За патч - спасибо.

lester_dev ★★★★★
() автор топика
21 июля 2009 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.