prefixing and capitalizing the StackLayer -> ObStackingLayer enum.

less includes in headers for less rebuilding on changes
This commit is contained in:
Dana Jansens 2003-07-10 17:03:05 +00:00
parent 59f318e897
commit 122d55fbad
23 changed files with 117 additions and 97 deletions

View file

@ -1,7 +1,7 @@
#ifndef __action_h #ifndef __action_h
#define __action_h #define __action_h
#include "client.h" #include "misc.h"
#include "parser/parse.h" #include "parser/parse.h"
/* These have to all have a Client* at the top even if they don't use it, so /* These have to all have a Client* at the top even if they don't use it, so
@ -10,57 +10,57 @@
*/ */
struct AnyAction { struct AnyAction {
ObClient *c; struct _ObClient *c;
}; };
struct DirectionalAction{ struct DirectionalAction{
ObClient *c; struct _ObClient *c;
ObDirection direction; ObDirection direction;
}; };
struct Execute { struct Execute {
ObClient *c; struct _ObClient *c;
char *path; char *path;
}; };
struct ClientAction { struct ClientAction {
ObClient *c; struct _ObClient *c;
}; };
struct MoveResizeRelative { struct MoveResizeRelative {
ObClient *c; struct _ObClient *c;
int delta; int delta;
}; };
struct SendToDesktop { struct SendToDesktop {
ObClient *c; struct _ObClient *c;
guint desk; guint desk;
gboolean follow; gboolean follow;
}; };
struct SendToDesktopDirection { struct SendToDesktopDirection {
ObClient *c; struct _ObClient *c;
gboolean wrap; gboolean wrap;
gboolean follow; gboolean follow;
}; };
struct Desktop { struct Desktop {
ObClient *c; struct _ObClient *c;
guint desk; guint desk;
}; };
struct Layer { struct Layer {
ObClient *c; struct _ObClient *c;
int layer; /* < 0 = below, 0 = normal, > 0 = above */ int layer; /* < 0 = below, 0 = normal, > 0 = above */
}; };
struct DesktopDirection { struct DesktopDirection {
ObClient *c; struct _ObClient *c;
gboolean wrap; gboolean wrap;
}; };
struct MoveResize { struct MoveResize {
ObClient *c; struct _ObClient *c;
int x; int x;
int y; int y;
guint32 corner; /* prop_atoms.net_wm_moveresize_* */ guint32 corner; /* prop_atoms.net_wm_moveresize_* */
@ -68,14 +68,14 @@ struct MoveResize {
}; };
struct ShowMenu { struct ShowMenu {
ObClient *c; struct _ObClient *c;
char *name; char *name;
int x; int x;
int y; int y;
}; };
struct CycleWindows { struct CycleWindows {
ObClient *c; struct _ObClient *c;
gboolean linear; gboolean linear;
gboolean forward; gboolean forward;
gboolean final; gboolean final;

View file

@ -1485,27 +1485,28 @@ ObClient *client_search_focus_tree_full(ObClient *self)
return client_search_focus_tree(self); return client_search_focus_tree(self);
} }
static StackLayer calc_layer(ObClient *self) static ObStackingLayer calc_layer(ObClient *self)
{ {
StackLayer l; ObStackingLayer l;
if (self->fullscreen) l = Layer_Fullscreen; if (self->fullscreen) l = OB_STACKING_LAYER_FULLSCREEN;
else if (self->type == OB_CLIENT_TYPE_DESKTOP) l = Layer_Desktop; else if (self->type == OB_CLIENT_TYPE_DESKTOP)
l = OB_STACKING_LAYER_DESKTOP;
else if (self->type == OB_CLIENT_TYPE_DOCK) { else if (self->type == OB_CLIENT_TYPE_DOCK) {
if (!self->below) l = Layer_Top; if (!self->below) l = OB_STACKING_LAYER_TOP;
else l = Layer_Normal; else l = OB_STACKING_LAYER_NORMAL;
} }
else if (self->above) l = Layer_Above; else if (self->above) l = OB_STACKING_LAYER_ABOVE;
else if (self->below) l = Layer_Below; else if (self->below) l = OB_STACKING_LAYER_BELOW;
else l = Layer_Normal; else l = OB_STACKING_LAYER_NORMAL;
return l; return l;
} }
static void client_calc_layer_recursive(ObClient *self, ObClient *orig, static void client_calc_layer_recursive(ObClient *self, ObClient *orig,
StackLayer l, gboolean raised) ObStackingLayer l, gboolean raised)
{ {
StackLayer old, own; ObStackingLayer old, own;
GSList *it; GSList *it;
old = self->layer; old = self->layer;
@ -1526,7 +1527,7 @@ static void client_calc_layer_recursive(ObClient *self, ObClient *orig,
void client_calc_layer(ObClient *self) void client_calc_layer(ObClient *self)
{ {
StackLayer l; ObStackingLayer l;
ObClient *orig; ObClient *orig;
orig = self; orig = self;

View file

@ -223,7 +223,7 @@ struct _ObClient
/*! The layer in which the window will be stacked, windows in lower layers /*! The layer in which the window will be stacked, windows in lower layers
are always below windows in higher layers. */ are always below windows in higher layers. */
StackLayer layer; ObStackingLayer layer;
/*! A bitmask of values in the Decoration enum /*! A bitmask of values in the Decoration enum
The values in the variable are the decorations that the client wants to The values in the variable are the decorations that the client wants to

View file

@ -15,14 +15,14 @@ GSList *config_desktops_names;
gboolean config_opaque_move; gboolean config_opaque_move;
gboolean config_opaque_resize; gboolean config_opaque_resize;
StackLayer config_dock_layer; ObStackingLayer config_dock_layer;
gboolean config_dock_floating; gboolean config_dock_floating;
ObDirection config_dock_pos; ObDirection config_dock_pos;
int config_dock_x; gint config_dock_x;
int config_dock_y; gint config_dock_y;
ObOrientation config_dock_orient; ObOrientation config_dock_orient;
gboolean config_dock_hide; gboolean config_dock_hide;
guint config_dock_hide_timeout; guint config_dock_hide_timeout;
static void parse_focus(xmlDocPtr doc, xmlNodePtr node, void *d) static void parse_focus(xmlDocPtr doc, xmlNodePtr node, void *d)
{ {
@ -124,11 +124,11 @@ static void parse_dock(xmlDocPtr doc, xmlNodePtr node, void *d)
} }
if ((n = parse_find_node("stacking", node))) { if ((n = parse_find_node("stacking", node))) {
if (parse_contains("top", doc, n)) if (parse_contains("top", doc, n))
config_dock_layer = Layer_Top; config_dock_layer = OB_STACKING_LAYER_TOP;
else if (parse_contains("normal", doc, n)) else if (parse_contains("normal", doc, n))
config_dock_layer = Layer_Normal; config_dock_layer = OB_STACKING_LAYER_NORMAL;
else if (parse_contains("bottom", doc, n)) else if (parse_contains("bottom", doc, n))
config_dock_layer = Layer_Below; config_dock_layer = OB_STACKING_LAYER_BELOW;
} }
if ((n = parse_find_node("direction", node))) { if ((n = parse_find_node("direction", node))) {
if (parse_contains("horizontal", doc, n)) if (parse_contains("horizontal", doc, n))
@ -166,7 +166,7 @@ void config_startup()
parse_register("moveresize", parse_moveresize, NULL); parse_register("moveresize", parse_moveresize, NULL);
config_dock_layer = Layer_Top; config_dock_layer = OB_STACKING_LAYER_TOP;
config_dock_pos = OB_DIRECTION_NORTHEAST; config_dock_pos = OB_DIRECTION_NORTHEAST;
config_dock_floating = FALSE; config_dock_floating = FALSE;
config_dock_x = 0; config_dock_x = 0;

View file

@ -2,7 +2,6 @@
#define __config_h #define __config_h
#include "misc.h" #include "misc.h"
#include "dock.h"
#include "stacking.h" #include "stacking.h"
#include <glib.h> #include <glib.h>
@ -27,17 +26,17 @@ extern gboolean config_opaque_move;
extern gboolean config_opaque_resize; extern gboolean config_opaque_resize;
/*! The stacking layer the dock will reside in */ /*! The stacking layer the dock will reside in */
extern StackLayer config_dock_layer; extern ObStackingLayer config_dock_layer;
/*! Is the dock floating */ /*! Is the dock floating */
extern gboolean config_dock_floating; extern gboolean config_dock_floating;
/*! Where to place the dock if not floating */ /*! Where to place the dock if not floating */
extern ObDirection config_dock_pos; extern ObDirection config_dock_pos;
/*! If config_dock_pos is DockPos_Floating, this is the top-left corner's /*! If config_dock_floating, this is the top-left corner's
position */ position */
extern int config_dock_x; extern gint config_dock_x;
/*! If config_dock_pos is DockPos_Floating, this is the top-left corner's /*! If config_dock_floating, this is the top-left corner's
position */ position */
extern int config_dock_y; extern gint config_dock_y;
/*! Whether the dock places the dockapps in it horizontally or vertically */ /*! Whether the dock places the dockapps in it horizontally or vertically */
extern ObOrientation config_dock_orient; extern ObOrientation config_dock_orient;
/*! Whether to auto-hide the dock when the pointer is not over it */ /*! Whether to auto-hide the dock when the pointer is not over it */

View file

@ -1,5 +1,6 @@
#include "dispatch.h" #include "dispatch.h"
#include "extensions.h" #include "extensions.h"
#include "client.h"
#include <glib.h> #include <glib.h>

View file

@ -1,9 +1,12 @@
#ifndef __dispatch_h #ifndef __dispatch_h
#define __dispatch_h #define __dispatch_h
#include "client.h" #include "misc.h"
#include <X11/Xlib.h> #include <X11/Xlib.h>
struct _ObClient;
void dispatch_startup(); void dispatch_startup();
void dispatch_shutdown(); void dispatch_shutdown();
@ -41,23 +44,23 @@ typedef enum {
typedef struct { typedef struct {
XEvent *e; XEvent *e;
ObClient *client; struct _ObClient *client;
} EventData_X; } EventData_X;
typedef struct { typedef struct {
ObClient *client; struct _ObClient *client;
int num[3]; int num[3];
/* Event_ObClient_Desktop: num[0] = new number, num[1] = old number /* Event_Client_Desktop: num[0] = new number, num[1] = old number
Event_ObClient_Urgent: num[0] = urgent state Event_Client_Urgent: num[0] = urgent state
Event_ObClient_Moving: num[0] = dest x coord, num[1] = dest y coord -- Event_Client_Moving: num[0] = dest x coord, num[1] = dest y coord --
change these in the handler to adjust where the change these in the handler to adjust where the
window will be placed window will be placed
Event_ObClient_Resizing: num[0] = dest width, num[1] = dest height -- Event_Client_Resizing: num[0] = dest width, num[1] = dest height --
change these in the handler to adjust where the change these in the handler to adjust where the
window will be placed window will be placed
num[2] = the anchored corner num[2] = the anchored corner
*/ */
} EventData_ObClient; } EventData_Client;
typedef struct { typedef struct {
int num[2]; int num[2];
@ -73,7 +76,7 @@ typedef struct {
typedef struct { typedef struct {
EventData_X x; /* for Event_X_* event types */ EventData_X x; /* for Event_X_* event types */
EventData_ObClient c; /* for Event_ObClient_* event types */ EventData_Client c; /* for Event_ObClient_* event types */
EventData_Ob o; /* for Event_Ob_* event types */ EventData_Ob o; /* for Event_Ob_* event types */
EventData_Signal s; /* for Event_Signal */ EventData_Signal s; /* for Event_Signal */
} EventData; } EventData;
@ -89,15 +92,15 @@ typedef unsigned int EventMask;
void dispatch_register(EventMask mask, EventHandler h, void *data); void dispatch_register(EventMask mask, EventHandler h, void *data);
void dispatch_x(XEvent *e, ObClient *c); void dispatch_x(XEvent *e, struct _ObClient *c);
void dispatch_client(EventType e, ObClient *c, int num0, int num1); void dispatch_client(EventType e, struct _ObClient *c, int num0, int num1);
void dispatch_ob(EventType e, int num0, int num1); void dispatch_ob(EventType e, int num0, int num1);
void dispatch_signal(int signal); void dispatch_signal(int signal);
/* *x and *y should be set with the destination of the window, they may be /* *x and *y should be set with the destination of the window, they may be
changed by the event handlers */ changed by the event handlers */
void dispatch_move(ObClient *c, int *x, int *y); void dispatch_move(struct _ObClient *c, int *x, int *y);
/* *w and *h should be set with the destination of the window, they may be /* *w and *h should be set with the destination of the window, they may be
changed by the event handlers */ changed by the event handlers */
void dispatch_resize(ObClient *c, int *w, int *h, ObCorner corner); void dispatch_resize(struct _ObClient *c, int *w, int *h, ObCorner corner);
#endif #endif

View file

@ -33,7 +33,8 @@ void dock_startup()
CWOverrideRedirect | CWEventMask, CWOverrideRedirect | CWEventMask,
&attrib); &attrib);
dock->a_frame = RrAppearanceCopy(ob_rr_theme->a_unfocused_title); dock->a_frame = RrAppearanceCopy(ob_rr_theme->a_unfocused_title);
XSetWindowBorder(ob_display, dock->frame, ob_rr_theme->b_color->pixel); XSetWindowBorder(ob_display, dock->frame,
RrColorPixel(ob_rr_theme->b_color));
XSetWindowBorderWidth(ob_display, dock->frame, ob_rr_theme->bwidth); XSetWindowBorderWidth(ob_display, dock->frame, ob_rr_theme->bwidth);
g_hash_table_insert(window_map, &dock->frame, dock); g_hash_table_insert(window_map, &dock->frame, dock);

View file

@ -662,7 +662,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
/* are we a fullscreen window or a transient of one? (checks layer) /* are we a fullscreen window or a transient of one? (checks layer)
if we are then we need to be iconified since we are losing focus if we are then we need to be iconified since we are losing focus
*/ */
if (client->layer == Layer_Fullscreen && !client->iconic && if (client->layer == OB_STACKING_LAYER_FULLSCREEN && !client->iconic &&
!client_search_focus_tree_full(client)) !client_search_focus_tree_full(client))
/* iconify fullscreen windows when they and their transients /* iconify fullscreen windows when they and their transients
aren't focused */ aren't focused */

View file

@ -1,6 +1,8 @@
#ifndef __extensions_h #ifndef __extensions_h
#define __extensions_h #define __extensions_h
#include "geom.h"
#include <X11/Xlib.h> #include <X11/Xlib.h>
#ifdef XKB #ifdef XKB
#include <X11/XKBlib.h> #include <X11/XKBlib.h>
@ -17,6 +19,7 @@
#ifdef VIDMODE #ifdef VIDMODE
#include <X11/extensions/xf86vmode.h> #include <X11/extensions/xf86vmode.h>
#endif #endif
#include <glib.h> #include <glib.h>
/*! Does the display have the XKB extension? */ /*! Does the display have the XKB extension? */

View file

@ -1,6 +1,7 @@
#include "frame.h" #include "frame.h"
#include "openbox.h" #include "openbox.h"
#include "screen.h" #include "screen.h"
#include "client.h"
#include "framerender.h" #include "framerender.h"
#include "render/theme.h" #include "render/theme.h"
@ -16,10 +17,10 @@ void framerender_frame(ObFrame *self)
{ {
if (self->focused) if (self->focused)
XSetWindowBorder(ob_display, self->plate, XSetWindowBorder(ob_display, self->plate,
ob_rr_theme->cb_focused_color->pixel); RrColorPixel(ob_rr_theme->cb_focused_color));
else else
XSetWindowBorder(ob_display, self->plate, XSetWindowBorder(ob_display, self->plate,
ob_rr_theme->cb_unfocused_color->pixel); RrColorPixel(ob_rr_theme->cb_unfocused_color));
if (self->client->decorations & Decor_Titlebar) { if (self->client->decorations & Decor_Titlebar) {
RrAppearance *t, *l, *m, *n, *i, *d, *s, *c; RrAppearance *t, *l, *m, *n, *i, *d, *s, *c;

View file

@ -1,8 +1,8 @@
#ifndef __framerender_h #ifndef __framerender_h
#define __framerender_h #define __framerender_h
#include "frame.h" struct _ObFrame;
void framerender_frame(ObFrame *self); void framerender_frame(struct _ObFrame *self);
#endif #endif

View file

@ -1,6 +1,7 @@
#include "menu.h" #include "menu.h"
#include "openbox.h" #include "openbox.h"
#include "stacking.h" #include "stacking.h"
#include "client.h"
#include "grab.h" #include "grab.h"
#include "screen.h" #include "screen.h"
#include "geom.h" #include "geom.h"

View file

@ -2,16 +2,19 @@
#define __menu_h #define __menu_h
#include "action.h" #include "action.h"
#include "window.h"
#include "render/render.h" #include "render/render.h"
#include "geom.h" #include "geom.h"
#include <glib.h> #include <glib.h>
struct _ObClient;
struct Menu; struct Menu;
struct MenuEntry; struct MenuEntry;
typedef void(*menu_controller_show)(struct Menu *self, typedef void(*menu_controller_show)(struct Menu *self,
int x, int y, ObClient *); int x, int y, struct _ObClient *);
typedef void(*menu_controller_update)(struct Menu *self); typedef void(*menu_controller_update)(struct Menu *self);
typedef void(*menu_controller_mouseover)(struct MenuEntry *self, typedef void(*menu_controller_mouseover)(struct MenuEntry *self,
gboolean enter); gboolean enter);
@ -45,7 +48,7 @@ typedef struct Menu {
/* render stuff */ /* render stuff */
ObClient *client; struct _ObClient *client;
Window frame; Window frame;
Window title; Window title;
RrAppearance *a_title; RrAppearance *a_title;
@ -104,8 +107,8 @@ Menu *menu_new_full(char *label, char *name, Menu *parent,
menu_controller_show show, menu_controller_update update); menu_controller_show show, menu_controller_update update);
void menu_free(char *name); void menu_free(char *name);
void menu_show(char *name, int x, int y, ObClient *client); void menu_show(char *name, int x, int y, struct _ObClient *client);
void menu_show_full(Menu *menu, int x, int y, ObClient *client); void menu_show_full(Menu *menu, int x, int y, struct _ObClient *client);
void menu_hide(Menu *self); void menu_hide(Menu *self);

View file

@ -26,10 +26,12 @@ void menu_render_full(Menu *self) {
if (self->a_title == NULL) { if (self->a_title == NULL) {
XSetWindowBorderWidth(ob_display, self->frame, ob_rr_theme->bwidth); XSetWindowBorderWidth(ob_display, self->frame, ob_rr_theme->bwidth);
XSetWindowBackground(ob_display, self->frame, XSetWindowBackground(ob_display, self->frame,
ob_rr_theme->b_color->pixel); RrColorPixel(ob_rr_theme->b_color));
XSetWindowBorderWidth(ob_display, self->title, ob_rr_theme->bwidth); XSetWindowBorderWidth(ob_display, self->title, ob_rr_theme->bwidth);
XSetWindowBorder(ob_display, self->frame, ob_rr_theme->b_color->pixel); XSetWindowBorder(ob_display, self->frame,
XSetWindowBorder(ob_display, self->title, ob_rr_theme->b_color->pixel); RrColorPixel(ob_rr_theme->b_color));
XSetWindowBorder(ob_display, self->title,
RrColorPixel(ob_rr_theme->b_color));
self->a_title = RrAppearanceCopy(ob_rr_theme->a_menu_title); self->a_title = RrAppearanceCopy(ob_rr_theme->a_menu_title);
self->a_items = RrAppearanceCopy(ob_rr_theme->a_menu); self->a_items = RrAppearanceCopy(ob_rr_theme->a_menu);

View file

@ -3,6 +3,7 @@
#include "screen.h" #include "screen.h"
#include "prop.h" #include "prop.h"
#include "client.h" #include "client.h"
#include "frame.h"
#include "dispatch.h" #include "dispatch.h"
#include "openbox.h" #include "openbox.h"
#include "popup.h" #include "popup.h"

View file

@ -1,10 +1,10 @@
#ifndef __popup_h #ifndef __popup_h
#define __popup_h #define __popup_h
#include "client.h"
#include <glib.h> #include <glib.h>
struct _ObClientIcon;
typedef struct _ObPopup Popup; typedef struct _ObPopup Popup;
Popup *popup_new(gboolean hasicon); Popup *popup_new(gboolean hasicon);
@ -21,7 +21,7 @@ void popup_position(Popup *self, gint gravity, gint x, gint y);
void popup_size(Popup *self, gint w, gint h); void popup_size(Popup *self, gint w, gint h);
void popup_size_to_string(Popup *self, gchar *text); void popup_size_to_string(Popup *self, gchar *text);
void popup_show(Popup *self, gchar *text, ObClientIcon *icon); void popup_show(Popup *self, gchar *text, struct _ObClientIcon *icon);
void popup_hide(Popup *self); void popup_hide(Popup *self);
#endif #endif

View file

@ -3,7 +3,6 @@
#include "misc.h" #include "misc.h"
#include "geom.h" #include "geom.h"
#include "client.h"
struct _ObClient; struct _ObClient;

View file

@ -82,22 +82,22 @@ static void do_restack(GList *wins, GList *before)
static void do_raise(GList *wins) static void do_raise(GList *wins)
{ {
GList *it; GList *it;
GList *layer[NUM_STACKLAYER] = {NULL}; GList *layer[OB_NUM_STACKING_LAYERS] = {NULL};
int i; int i;
for (it = wins; it; it = g_list_next(it)) { for (it = wins; it; it = g_list_next(it)) {
StackLayer l; ObStackingLayer l;
l = window_layer(it->data); l = window_layer(it->data);
layer[l] = g_list_append(layer[l], it->data); layer[l] = g_list_append(layer[l], it->data);
} }
it = stacking_list; it = stacking_list;
for (i = NUM_STACKLAYER - 1; i >= 0; --i) { for (i = OB_NUM_STACKING_LAYERS - 1; i >= 0; --i) {
if (layer[i]) { if (layer[i]) {
for (; it; it = g_list_next(it)) { for (; it; it = g_list_next(it)) {
/* look for the top of the layer */ /* look for the top of the layer */
if (window_layer(it->data) <= (StackLayer) i) if (window_layer(it->data) <= (ObStackingLayer) i)
break; break;
} }
do_restack(layer[i], it); do_restack(layer[i], it);
@ -109,22 +109,22 @@ static void do_raise(GList *wins)
static void do_lower(GList *wins) static void do_lower(GList *wins)
{ {
GList *it; GList *it;
GList *layer[NUM_STACKLAYER] = {NULL}; GList *layer[OB_NUM_STACKING_LAYERS] = {NULL};
int i; int i;
for (it = wins; it; it = g_list_next(it)) { for (it = wins; it; it = g_list_next(it)) {
StackLayer l; ObStackingLayer l;
l = window_layer(it->data); l = window_layer(it->data);
layer[l] = g_list_append(layer[l], it->data); layer[l] = g_list_append(layer[l], it->data);
} }
it = stacking_list; it = stacking_list;
for (i = NUM_STACKLAYER - 1; i >= 0; --i) { for (i = OB_NUM_STACKING_LAYERS - 1; i >= 0; --i) {
if (layer[i]) { if (layer[i]) {
for (; it; it = g_list_next(it)) { for (; it; it = g_list_next(it)) {
/* look for the top of the next layer down */ /* look for the top of the next layer down */
if (window_layer(it->data) < (StackLayer) i) if (window_layer(it->data) < (ObStackingLayer) i)
break; break;
} }
do_restack(layer[i], it); do_restack(layer[i], it);
@ -264,7 +264,7 @@ void stacking_lower(ObWindow *window)
void stacking_add(ObWindow *win) void stacking_add(ObWindow *win)
{ {
StackLayer l; ObStackingLayer l;
GList *wins; GList *wins;
g_assert(focus_backup != None); /* make sure I dont break this in the g_assert(focus_backup != None); /* make sure I dont break this in the

View file

@ -8,15 +8,15 @@
/*! The possible stacking layers a client window can be a part of */ /*! The possible stacking layers a client window can be a part of */
typedef enum { typedef enum {
Layer_Desktop, /*!< 0 - desktop windows */ OB_STACKING_LAYER_DESKTOP, /*!< 0 - desktop windows */
Layer_Below, /*!< 1 - normal windows w/ below */ OB_STACKING_LAYER_BELOW, /*!< 1 - normal windows w/ below */
Layer_Normal, /*!< 2 - normal windows */ OB_STACKING_LAYER_NORMAL, /*!< 2 - normal windows */
Layer_Above, /*!< 3 - normal windows w/ above */ OB_STACKING_LAYER_ABOVE, /*!< 3 - normal windows w/ above */
Layer_Top, /*!< 4 - always-on-top-windows (docks?) */ OB_STACKING_LAYER_TOP, /*!< 4 - always-on-top-windows (docks?) */
Layer_Fullscreen, /*!< 5 - fullscreeen windows */ OB_STACKING_LAYER_FULLSCREEN, /*!< 5 - fullscreeen windows */
Layer_Internal, /*!< 6 - openbox windows/menus */ OB_STACKING_LAYER_INTERNAL, /*!< 6 - openbox windows/menus */
NUM_STACKLAYER OB_NUM_STACKING_LAYERS
} StackLayer; } ObStackingLayer;
/* list of ObWindow*s in stacking order from highest to lowest */ /* list of ObWindow*s in stacking order from highest to lowest */
extern GList *stacking_list; extern GList *stacking_list;

View file

@ -41,7 +41,7 @@ Window window_layer(ObWindow *self)
{ {
switch (self->type) { switch (self->type) {
case Window_Menu: case Window_Menu:
return Layer_Internal; return OB_STACKING_LAYER_INTERNAL;
case Window_Dock: case Window_Dock:
return config_dock_layer; return config_dock_layer;
case Window_DockApp: case Window_DockApp:
@ -51,7 +51,7 @@ Window window_layer(ObWindow *self)
case Window_Client: case Window_Client:
return ((ObClient*)self)->layer; return ((ObClient*)self)->layer;
case Window_Internal: case Window_Internal:
return Layer_Internal; return OB_STACKING_LAYER_INTERNAL;
} }
g_assert_not_reached(); g_assert_not_reached();
return None; return None;

View file

@ -4,6 +4,9 @@
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <glib.h> #include <glib.h>
typedef struct _ObWindow ObWindow;
typedef struct _ObInternalWindow ObInternalWindow;
typedef enum { typedef enum {
Window_Menu, Window_Menu,
Window_Dock, Window_Dock,
@ -12,9 +15,10 @@ typedef enum {
Window_Internal /* used for stacking but not events */ Window_Internal /* used for stacking but not events */
} Window_InternalType; } Window_InternalType;
typedef struct ObWindow { struct _ObWindow
{
Window_InternalType type; Window_InternalType type;
} ObWindow; };
/* Wrapper for internal stuff. If its struct matches this then it can be used /* Wrapper for internal stuff. If its struct matches this then it can be used
as an ObWindow */ as an ObWindow */

View file

@ -4,6 +4,7 @@
#include "kernel/openbox.h" #include "kernel/openbox.h"
#include "kernel/event.h" #include "kernel/event.h"
#include "kernel/grab.h" #include "kernel/grab.h"
#include "kernel/client.h"
#include "kernel/action.h" #include "kernel/action.h"
#include "kernel/prop.h" #include "kernel/prop.h"
#include "kernel/timer.h" #include "kernel/timer.h"