49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
/* -------------------------------
|
|
* vim:tabstop=4:shiftwidth=4
|
|
* icons.h
|
|
* Tue, 24 Aug 2004 12:05:38 +0700
|
|
* -------------------------------
|
|
* XEMBED protocol implementation
|
|
* -------------------------------*/
|
|
|
|
#ifndef _XEMBED_H_
|
|
#define _XEMBED_H_
|
|
|
|
#include <X11/X.h>
|
|
|
|
#include "icons.h"
|
|
|
|
/* Data structure for all XEMBED-related data for the tray */
|
|
struct XEMBEDData {
|
|
struct TrayIcon *current; /* Pointer to the currently focused icon */
|
|
struct XEMBEDAccel *accels; /* List of registered XEMBED accelerators */
|
|
int window_has_focus; /* Flag: does tray's window have focus */
|
|
int focus_requested; /* Flag: if there is not completed focus request */
|
|
Window focus_proxy; /* Window ID of XEMBED focus proxy */
|
|
long timestamp; /* Timestamp of current processed message */
|
|
Atom xa_xembed_info; /* Atom: XEMBED_INFO */
|
|
Atom xa_xembed; /* Atom: XEMBED */
|
|
};
|
|
|
|
/* Initialize XEMBED data structures */
|
|
void xembed_init();
|
|
|
|
/* Event handling routine for XEMBED support */
|
|
void xembed_handle_event(XEvent ev);
|
|
|
|
/* Check if icon ti supports XEMBED */
|
|
int xembed_check_support(struct TrayIcon *ti);
|
|
|
|
/* Send XEMBED embedding acknowledgement to icon ti */
|
|
int xembed_embed(struct TrayIcon *ti);
|
|
|
|
/* Same as above for unembedding */
|
|
int xembed_unembed(struct TrayIcon *ti);
|
|
|
|
/* Get XEMBED mapped state from XEMBED info */
|
|
int xembed_get_mapped_state(struct TrayIcon *ti);
|
|
|
|
/* Set XEMBED mapped state in XEMBED info */
|
|
int xembed_set_mapped_state(struct TrayIcon *ti, int state);
|
|
|
|
#endif
|