Пример #1
0
static GdkFilterReturn
egg_tray_manager_window_filter (GdkXEvent *xev, GdkEvent *event, gpointer data)
{
  XEvent *xevent = (GdkXEvent *)xev;
  EggTrayManager *manager = data;

  if (xevent->type == ClientMessage)
    {
      if (xevent->xclient.message_type == manager->opcode_atom)
	{
	  return egg_tray_manager_handle_event (manager, (XClientMessageEvent *)xevent);
	}
      else if (xevent->xclient.message_type == manager->message_data_atom)
	{
	  egg_tray_manager_handle_message_data (manager, (XClientMessageEvent *)xevent);
	  return GDK_FILTER_REMOVE;
	}
    }
  else if (xevent->type == SelectionClear)
    {
      g_signal_emit (manager, manager_signals[LOST_SELECTION], 0);
      egg_tray_manager_unmanage (manager);
    }
  return GDK_FILTER_CONTINUE;
}
Пример #2
0
static void
egg_tray_manager_finalize (GObject *object)
{
  EggTrayManager *manager;
  
  manager = EGG_TRAY_MANAGER (object);

  egg_tray_manager_unmanage (manager);
  
  G_OBJECT_CLASS (parent_class)->finalize (object);
}
Пример #3
0
static void
egg_tray_manager_finalize (GObject *object)
{
  EggTrayManager *manager;
  
  manager = EGG_TRAY_MANAGER (object);

  egg_tray_manager_unmanage (manager);

  g_list_free (manager->messages);
  g_hash_table_destroy (manager->socket_table);
  
  G_OBJECT_CLASS (parent_class)->finalize (object);
}