Готовые решения для создания панелей на лету. Желательно для GTK. (Кажется, решено)

Модератор: Модераторы разделов

nick87720z
Сообщения: 180
ОС: Gentoo / Calculate

Готовые решения для создания панелей на лету. Желательно для GTK.

Сообщение nick87720z »

Решил универсальный докер для окон, который делал бы заданные окна панелями. Отбор можно сделать так же, как и в compiz / kwin. От самой панели требуется что обычно - возможность ручного перемещения, не помешает и автоскрытие. Пробовал GDL, но документация к нему - никакая, просто перечисление доступного API. Да и судя по работе, это немного не то.
Вот этот код:

Код: Выделить всё

#include <gdl/gdl-dock.h>
#include <gtk/gtk.h>

GtkWidget * win = NULL;
GtkWidget * item = NULL;

int main (int argc, char ** argv)
{
  gtk_init (&argc, &argv);

  win = gdl_dock_new ();
  win = gdl_dock_new_from (GDL_DOCK (win), TRUE);
  g_object_set (G_OBJECT (win), "height", 20, NULL);
  g_object_set (G_OBJECT (win), "width",  120, NULL);
  g_signal_connect (G_OBJECT (win), "delete-event", G_CALLBACK (gtk_main_quit), NULL);

  item = gdl_dock_item_new ("panel-button", "Panel button", GDL_DOCK_ITEM_BEH_NEVER_FLOATING);
  gtk_container_add (GTK_CONTAINER (item), gtk_button_new_with_label ("Panel button"));

  gtk_container_add (GTK_CONTAINER (win), item);
  gtk_widget_show_all (win);

  gtk_main ();
  return 0;
}

Создает обычное окно с элементом, похожим на прикрепленное окно, содержащее кнопку.
Поглядел libxfce4panel - он предназначен только для создания апплетов.
В данном случае надо именно создание панелей. Хотя правда, еще можно заранее установить виджет (в нужном количестве), и туда уже сваливать все окна.
Спасибо сказали:
nick87720z
Сообщения: 180
ОС: Gentoo / Calculate

Re: Готовые решения для создания панелей на лету. Желательно для GTK.

Сообщение nick87720z »

Меняю направление. Сделал обычное окно и сменил тип на Dock (gtk_window_set_type_hint).
P.S. Может это лучше в раздел для новичков...
Спасибо сказали: