/*! Holds an icon in ARGB format */
typedef struct Icon {
- unsigned long w, h;
+ unsigned long width, height;
unsigned long *data;
} Icon;
/*! Display a button to toggle the window's placement on
all desktops */
Decor_AllDesktops = 1 << 6,
- Decor_Close = 1 << 7 /*!< Display a close button */
+ Decor_Shade = 1 << 7, /*!< Displays a shade button */
+ Decor_Close = 1 << 8 /*!< Display a close button */
} Decoration;
gchar *icon_title;
/*! The application that created the window */
- gchar *res_name;
+ gchar *name;
/*! The class of the window, can used for grouping */
- gchar *res_class;
+ gchar *class;
/*! The specified role of the window, used for identification */
gchar *role;
Pixmap pixmap_icon_mask;
} Client;
-extern GSList *client_list;
+extern GList *client_list;
extern GHashTable *client_map;
void client_startup();
*/
void client_shade(Client *self, gboolean shade);
-/*! Request the client to close its window. */
+/*! Request the client to close its window */
void client_close(Client *self);
-/*! Sends the window to the specified desktop */
-void client_set_desktop(Client *self, guint target);
+/*! Kill the client off violently */
+void client_kill(Client *self);
+
+/*! Sends the window to the specified desktop
+ @param donthide If TRUE, the window will not be shown/hidden after its
+ desktop has been changed. Generally this should be FALSE. */
+void client_set_desktop(Client *self, guint target, gboolean donthide);
/*! Return a modal child of the client window
@return A modal child of the client window, or 0 if none was found.
/*! Retrieves the window's type and sets Client->type */
void client_get_type(Client *self);
+Icon *client_icon(Client *self, int w, int h);
+
#endif