From f846b7cdd39749b5291d4559185a229b752b4fed Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rodolfo=20Garc=C3=ADa=20Pe=C3=B1as=20=28kix=29?= Date: Sat, 10 Nov 2012 20:54:43 +0100 Subject: [PATCH] Window comments cleanup This patch only add some tabs the window.h (only window struct area). The main change is that moves this block to switchpanel.c, because is only used there: ((w)->wm_gnustep_attr->flags & GSWindowLevelAttr) && \ ((w)->wm_gnustep_attr->window_level == WMMainMenuWindowLevel || \ (w)->wm_gnustep_attr->window_level == WMSubmenuWindowLevel)) The patch also include two comments in the window's image: - WIcon icon is only used when the window is minimized, else is NULL - RImage has the window image, used in switchpanel,... --- src/switchmenu.c | 5 ++ src/window.h | 252 ++++++++++++++++++++++++++----------------------------- 2 files changed, 125 insertions(+), 132 deletions(-) diff --git a/src/switchmenu.c b/src/switchmenu.c index 5a3f961a..65692527 100644 --- a/src/switchmenu.c +++ b/src/switchmenu.c @@ -38,6 +38,11 @@ #include "workspace.h" #include "framewin.h" +#define IS_GNUSTEP_MENU(w) ((w)->wm_gnustep_attr && \ + ((w)->wm_gnustep_attr->flags & GSWindowLevelAttr) && \ + ((w)->wm_gnustep_attr->window_level == WMMainMenuWindowLevel || \ + (w)->wm_gnustep_attr->window_level == WMSubmenuWindowLevel)) + /********* Global Variables *******/ extern WPreferences wPreferences; diff --git a/src/window.h b/src/window.h index cdb5bc79..c4148a36 100644 --- a/src/window.h +++ b/src/window.h @@ -175,146 +175,134 @@ typedef struct WFakeGroupLeader { * structure created when it's being first mapped. */ typedef struct WWindow { - struct WWindow *prev; /* window focus list */ - struct WWindow *next; - - WScreen *screen_ptr; /* pointer to the screen structure */ - WWindowAttributes user_flags; /* window attribute flags set by user */ - WWindowAttributes defined_user_flags;/* mask for user_flags */ - WWindowAttributes client_flags; /* window attribute flags set by app - * initialized with global defaults */ - - struct InspectorPanel *inspector; /* pointer to attribute editor panel */ - - struct WFrameWindow *frame; /* the frame window */ - int frame_x, frame_y; /* position of the frame in root*/ - - struct { - int x, y; - unsigned int width, height; /* original geometry of the window */ - } old_geometry; /* (before things like maximize) */ - - struct { - int x, y; - unsigned int width, height; /* original geometry of the window */ - } bfs_geometry; /* (before fullscreen) */ - - int maximus_x; /* size after Maximusizing */ - int maximus_y; - - /* client window info */ - short old_border_width; /* original border width of client_win*/ - Window client_win; /* the window we're managing */ - WObjDescriptor client_descriptor; /* dummy descriptor for client */ - struct { - int x, y; /* position of *client* relative - * to root */ - unsigned int width, height; /* size of the client window */ - } client; - - XSizeHints *normal_hints; /* WM_NORMAL_HINTS */ - XWMHints *wm_hints; /* WM_HINTS (optional) */ - char *wm_instance; /* instance of WM_CLASS */ - char *wm_class; /* class of WM_CLASS */ - GNUstepWMAttributes *wm_gnustep_attr;/* GNUstep window attributes */ - - int state; /* state as in ICCCM */ - - Window transient_for; /* WM_TRANSIENT_FOR */ - - WFakeGroupLeader *fake_group; /* Fake group leader for grouping into - a single appicon */ - Window group_id; /* the leader window of the group */ - Window client_leader; /* WM_CLIENT_LEADER if not - internal_window */ - - Window main_window; /* main window for the application */ - - Window orig_main_window; /* original main window of application. - used for the shared appicon thing */ - - int cmap_window_no; - Window *cmap_windows; - - /* protocols */ - WProtocols protocols; /* accepted WM_PROTOCOLS */ - - FocusMode focus_mode; /* type of keyboard input focus */ - - long event_mask; /* the event mask thats selected */ - - struct { - /* state flags */ - unsigned int mapped:1; - unsigned int focused:1; - unsigned int miniaturized:1; - unsigned int hidden:1; - unsigned int shaded:1; - unsigned int maximized:5; - unsigned int old_maximized:5; - unsigned int fullscreen:1; - unsigned int omnipresent:1; - - unsigned int semi_focused:1; - /* window type flags */ - unsigned int urgent:1; /* if wm_hints says this is urgent */ + struct WWindow *prev; /* window focus list */ + struct WWindow *next; + + WScreen *screen_ptr; /* pointer to the screen structure */ + WWindowAttributes user_flags; /* window attribute flags set by user */ + WWindowAttributes defined_user_flags; /* mask for user_flags */ + WWindowAttributes client_flags; /* window attribute flags set by app + * initialized with global defaults */ + + struct InspectorPanel *inspector; /* pointer to attribute editor panel */ + + struct WFrameWindow *frame; /* the frame window */ + int frame_x, frame_y; /* position of the frame in root*/ + + struct { + int x, y; + unsigned int width, height; /* original geometry of the window */ + } old_geometry; /* (before things like maximize) */ + + struct { + int x, y; + unsigned int width, height; /* original geometry of the window */ + } bfs_geometry; /* (before fullscreen) */ + + int maximus_x; /* size after Maximusizing */ + int maximus_y; + + /* client window info */ + short old_border_width; /* original border width of client_win*/ + Window client_win; /* the window we're managing */ + WObjDescriptor client_descriptor; /* dummy descriptor for client */ + struct { + int x, y; /* position of *client* relative + * to root */ + unsigned int width, height; /* size of the client window */ + } client; + + XSizeHints *normal_hints; /* WM_NORMAL_HINTS */ + XWMHints *wm_hints; /* WM_HINTS (optional) */ + char *wm_instance; /* instance of WM_CLASS */ + char *wm_class; /* class of WM_CLASS */ + GNUstepWMAttributes *wm_gnustep_attr; /* GNUstep window attributes */ + + int state; /* state as in ICCCM */ + + Window transient_for; /* WM_TRANSIENT_FOR */ + + WFakeGroupLeader *fake_group; /* Fake group leader for grouping into + * a single appicon */ + Window group_id; /* the leader window of the group */ + Window client_leader; /* WM_CLIENT_LEADER if not + * internal_window */ + + Window main_window; /* main window for the application */ + Window orig_main_window; /* original main window of application. + * used for the shared appicon thing */ + + int cmap_window_no; + Window *cmap_windows; + + /* protocols */ + WProtocols protocols; /* accepted WM_PROTOCOLS */ + + FocusMode focus_mode; /* type of keyboard input focus */ + + long event_mask; /* the event mask thats selected */ + + /* state flags */ + struct { + unsigned int mapped:1; + unsigned int focused:1; + unsigned int miniaturized:1; + unsigned int hidden:1; + unsigned int shaded:1; + unsigned int maximized:5; + unsigned int old_maximized:5; + unsigned int fullscreen:1; + unsigned int omnipresent:1; + unsigned int semi_focused:1; + /* window type flags */ + unsigned int urgent:1; /* if wm_hints says this is urgent */ #ifdef SHAPE - unsigned int shaped:1; + unsigned int shaped:1; #endif - /* info flags */ - unsigned int is_gnustep:1; /* 1 if the window belongs to a GNUstep - app */ - unsigned int is_dockapp:1; /* 1 if the window belongs to a DockApp */ - - unsigned int icon_moved:1; /* icon for this window was moved - * by the user */ - unsigned int selected:1; /* multiple window selection */ - unsigned int skip_next_animation:1; - unsigned int internal_window:1; - unsigned int changing_workspace:1; - - unsigned int inspector_open:1; /* attrib inspector is already open */ - - unsigned int destroyed:1; /* window was already destroyed */ - unsigned int menu_open_for_me:1; /* window commands menu */ - unsigned int obscured:1; /* window is obscured */ - - unsigned int net_skip_pager:1; - unsigned int net_handle_icon:1; - unsigned int net_show_desktop:1; - unsigned int net_has_title:1; /* use netwm version of WM_NAME */ - unsigned int net_has_icon_title:1; - } flags; /* state of the window */ - - struct WIcon *icon; /* icon info for the window */ - int icon_x, icon_y; /* position of the icon */ - int icon_w, icon_h; - RImage *net_icon_image; - Atom type; + /* info flags */ + unsigned int is_gnustep:1; /* 1 if the window belongs to a GNUstep + * app */ + unsigned int is_dockapp:1; /* 1 if the window belongs to a DockApp */ + + unsigned int icon_moved:1; /* icon for this window was moved + * by the user */ + unsigned int selected:1; /* multiple window selection */ + unsigned int skip_next_animation:1; + unsigned int internal_window:1; + unsigned int changing_workspace:1; + + unsigned int inspector_open:1; /* attrib inspector is already open */ + + unsigned int destroyed:1; /* window was already destroyed */ + unsigned int menu_open_for_me:1;/* window commands menu */ + unsigned int obscured:1; /* window is obscured */ + + unsigned int net_skip_pager:1; + unsigned int net_handle_icon:1; + unsigned int net_show_desktop:1; + unsigned int net_has_title:1; /* use netwm version of WM_NAME */ + unsigned int net_has_icon_title:1; + } flags; /* state of the window */ + + struct WIcon *icon; /* Window icon when miminized + * else is NULL! */ + int icon_x, icon_y; /* position of the icon */ + int icon_w, icon_h; + RImage *net_icon_image; /* Window Image */ + Atom type; } WWindow; - -#define HAS_TITLEBAR(w) (!(WFLAGP((w), no_titlebar) || (w)->flags.fullscreen)) -#define HAS_RESIZEBAR(w) (!(WFLAGP((w), no_resizebar) || (w)->flags.fullscreen)) -#define HAS_BORDER(w) (!(WFLAGP((w), no_border) || (w)->flags.fullscreen)) -#define IS_MOVABLE(w) (!(WFLAGP((w), no_movable) || (w)->flags.fullscreen)) -#define IS_RESIZABLE(w) (!(WFLAGP((w), no_resizable) || (w)->flags.fullscreen)) - -/* XXX: CHECK THIS,.. IT SEEMED WEIRD TO ME!!! */ -#define IS_OMNIPRESENT(w) ((w)->flags.omnipresent | WFLAGP(w, omnipresent)) - -#define WINDOW_LEVEL(w) ((w)->frame->core->stacking->window_level) - -#define IS_GNUSTEP_MENU(w) ((w)->wm_gnustep_attr && \ - ((w)->wm_gnustep_attr->flags & GSWindowLevelAttr) && \ - ((w)->wm_gnustep_attr->window_level==WMMainMenuWindowLevel || \ - (w)->wm_gnustep_attr->window_level==WMSubmenuWindowLevel)) - +#define HAS_TITLEBAR(w) (!(WFLAGP((w), no_titlebar) || (w)->flags.fullscreen)) +#define HAS_RESIZEBAR(w) (!(WFLAGP((w), no_resizebar) || (w)->flags.fullscreen)) +#define HAS_BORDER(w) (!(WFLAGP((w), no_border) || (w)->flags.fullscreen)) +#define IS_MOVABLE(w) (!(WFLAGP((w), no_movable) || (w)->flags.fullscreen)) +#define IS_RESIZABLE(w) (!(WFLAGP((w), no_resizable) || (w)->flags.fullscreen)) +#define IS_OMNIPRESENT(w) ((w)->flags.omnipresent | WFLAGP(w, omnipresent)) +#define WINDOW_LEVEL(w) ((w)->frame->core->stacking->window_level) /* * Changes to this must update wWindowSaveState/getSavedState - * */ typedef struct WSavedState { int workspace; -- 2.11.4.GIT