#ifndef __TRAY_H__ #define __TRAY_H__ #include #include #include EDELIB_NS_USING(list) struct WinInfo { Window id; Fl_Window *win; }; typedef list WinList; typedef list::iterator WinListIt; class Tray : public Fl_Group { private: Atom opcode, message_data; WinList win_list; void distribute_children(void); public: Tray(); ~Tray(); void register_notification_area(void); Atom get_opcode(void) const { return opcode; } void embed_window(Window id); void unembed_window(Window id); void add_to_tray(Fl_Widget *w); void remove_from_tray(Fl_Widget *w); int handle(int e); }; #endif