diff --git a/src/areas.c b/src/areas.c index a0966a6f..1d086c53 100644 --- a/src/areas.c +++ b/src/areas.c @@ -245,7 +245,7 @@ SetCurrentArea(int ax, int ay) for (i = 0; i < num; i++) { ewin = lst[i]; - if (ewin->client.transient > 0) + if (EwinIsTransientChild(ewin)) continue; if (EoGetDesk(ewin) != DesksGetCurrent() && !EoIsFloating(ewin)) continue; diff --git a/src/desktops.c b/src/desktops.c index cbb0041e..32b403ae 100644 --- a/src/desktops.c +++ b/src/desktops.c @@ -927,7 +927,7 @@ MoveStickyWindowsToCurrentDesk(void) ewin = lst[i]; if (!EoIsSticky(ewin) && !EoIsFloating(ewin)) continue; - if (ewin->client.transient > 0) + if (EwinIsTransientChild(ewin)) continue; EwinMoveToDesktop(ewin, desk); diff --git a/src/dock.c b/src/dock.c index aca03d5d..68d3c737 100644 --- a/src/dock.c +++ b/src/dock.c @@ -138,11 +138,11 @@ DockIt(EWin * ewin) DockappFindEmptySpotFor(ewin); ewin->state.placed = 1; - if (ewin->client.icon_win) + if (ewin->icccm.icon_win) { - XSetWindowBorderWidth(disp, ewin->client.icon_win, 0); - XMoveWindow(disp, ewin->client.icon_win, 0, 0); - XMapWindow(disp, ewin->client.icon_win); + XSetWindowBorderWidth(disp, ewin->icccm.icon_win, 0); + XMoveWindow(disp, ewin->icccm.icon_win, 0, 0); + XMapWindow(disp, ewin->icccm.icon_win); } ImageclassApply(ic, EoGetWin(ewin), ewin->client.w, ewin->client.h, diff --git a/src/ewin-ops.c b/src/ewin-ops.c index 21f3fb52..c8b7c2c8 100644 --- a/src/ewin-ops.c +++ b/src/ewin-ops.c @@ -578,7 +578,7 @@ EwinIconify(EWin * ewin) was_shaded = ewin->state.shaded; - if (!ewin->client.transient) + if (!EwinIsTransient(ewin)) ModulesSignal(ESIGNAL_EWIN_ICONIFY, ewin); ewin->state.iconified = 3; @@ -590,7 +590,7 @@ EwinIconify(EWin * ewin) if (was_shaded != ewin->state.shaded) EwinInstantShade(ewin, 0); - if (ewin->client.transient) + if (EwinIsTransient(ewin)) { /* We should only get here during restart */ ewin->state.iconified = 4; @@ -1391,7 +1391,7 @@ EwinsShowDesktop(int on) if (on) { if (EwinIsInternal(ewin) || ewin->state.iconified - || ewin->props.donthide || ewin->client.transient) + || ewin->props.donthide || EwinIsTransient(ewin)) continue; ewin->state.showingdesk = 1; diff --git a/src/ewins.c b/src/ewins.c index 4251e9fc..8a8053ec 100644 --- a/src/ewins.c +++ b/src/ewins.c @@ -97,7 +97,7 @@ EwinCreate(Window win, int type) ewin->client.y = -1; ewin->client.w = -1; ewin->client.h = -1; - ewin->client.need_input = 1; + ewin->icccm.need_input = 1; ewin->client.aspect_min = 0.0; ewin->client.aspect_max = 65535.0; ewin->client.w_inc = 1; @@ -206,9 +206,9 @@ EwinDestroy(EWin * ewin) lst = EwinListTransientFor(ewin, &num); for (i = 0; i < num; i++) { - lst[i]->has_transients--; - if (lst[i]->has_transients < 0) /* Paranoia? */ - lst[i]->has_transients = 0; + lst[i]->icccm.transient_count--; + if (lst[i]->icccm.transient_count < 0) /* Paranoia? */ + lst[i]->icccm.transient_count = 0; } if (lst) Efree(lst); @@ -519,7 +519,7 @@ void EwinStateUpdate(EWin * ewin) { ewin->state.inhibit_actions = ewin->props.no_actions; - ewin->state.inhibit_focus = !ewin->client.need_input || + ewin->state.inhibit_focus = !ewin->icccm.need_input || ewin->props.never_focus || ewin->state.iconified; ewin->state.no_border = ewin->props.no_border || ewin->state.docked || @@ -631,36 +631,36 @@ AddToFamily(EWin * ewin, Window win) DockIt(ewin); ewin2 = NULL; - if (ewin->client.transient) + if (ewin->icccm.transient) { - if (ewin->client.transient_for == None || - ewin->client.transient_for == VRoot.win) + if (ewin->icccm.transient_for == None || + ewin->icccm.transient_for == VRoot.win) { /* Group transient */ - ewin->client.transient_for = VRoot.win; + ewin->icccm.transient_for = VRoot.win; #if 0 /* Maybe? */ ewin->layer++; #endif /* Don't treat this as a normal transient */ - ewin->client.transient = -1; + ewin->icccm.transient = -1; } - else if (ewin->client.transient_for == ewin->client.win) + else if (ewin->icccm.transient_for == ewin->client.win) { /* Some apps actually do this. Why? */ - ewin->client.transient = 0; + ewin->icccm.transient = 0; } else { /* Regular transient */ } - if (ewin->client.transient) + if (ewin->icccm.transient) { /* Tag the parent window if this is a transient */ lst = EwinListTransientFor(ewin, &num); for (i = 0; i < num; i++) { - lst[i]->has_transients++; + lst[i]->icccm.transient_count++; if (EoGetLayer(ewin) < EoGetLayer(lst[i])) EoSetLayer(ewin, EoGetLayer(lst[i])); } @@ -673,19 +673,19 @@ AddToFamily(EWin * ewin, Window win) else { /* No parents? - not a transient */ - ewin->client.transient = 0; + ewin->icccm.transient = 0; } } } x = EoGetX(ewin); y = EoGetY(ewin); - if (ewin->client.transient && Conf.focus.transientsfollowleader) + if (ewin->icccm.transient && Conf.focus.transientsfollowleader) { EWin *const *lst2; if (!ewin2) - ewin2 = EwinFindByClient(ewin->client.group); + ewin2 = EwinFindByClient(ewin->icccm.group); if (!ewin2) { @@ -693,7 +693,7 @@ AddToFamily(EWin * ewin, Window win) for (i = 0; i < num; i++) { if ((lst2[i]->state.iconified) || - (ewin->client.group != lst2[i]->client.group)) + (ewin->icccm.group != lst2[i]->icccm.group)) continue; ewin2 = lst2[i]; @@ -730,7 +730,7 @@ AddToFamily(EWin * ewin, Window win) doslide = 1; if (Conf.place.manual && !Mode.place.doing_manual && - !ewin->state.placed && !ewin->client.transient) + !ewin->state.placed && !ewin->icccm.transient) { if (GrabPointerSet(VRoot.win, ECSR_GRAB, 0) == GrabSuccess) manplace = 1; @@ -785,7 +785,7 @@ AddToFamily(EWin * ewin, Window win) } /* if the window asked to be iconified at the start */ - if (ewin->client.start_iconified) + if (ewin->icccm.start_iconified) { EwinMoveToDesktopAt(ewin, desk, x, y); ewin->state.state = EWIN_STATE_MAPPED; diff --git a/src/ewins.h b/src/ewins.h index 9c02487d..2a59a208 100644 --- a/src/ewins.h +++ b/src/ewins.h @@ -28,21 +28,6 @@ typedef struct _ewin EWin; #endif -#define EWIN_STATE_NEW 0 /* New */ -#define EWIN_STATE_STARTUP 1 /* New - during startup */ -#define EWIN_STATE_WITHDRAWN 2 -#define EWIN_STATE_ICONIC 3 -#define EWIN_STATE_MAPPED 4 - -#define EWIN_TYPE_NORMAL 0x00 -#define EWIN_TYPE_DIALOG 0x01 -#define EWIN_TYPE_MENU 0x02 -#define EWIN_TYPE_ICONBOX 0x04 -#define EWIN_TYPE_PAGER 0x08 - -#define EwinIsMapped(ewin) (ewin->state.state >= EWIN_STATE_MAPPED) -#define EwinIsInternal(ewin) (ewin->type != EWIN_TYPE_NORMAL) - struct _ewin { EObj o; @@ -59,18 +44,6 @@ struct _ewin Window win; int x, y, w, h, bw; Colormap cmap; - Window icon_win; - Pixmap icon_pmap, icon_mask; - Window group; - Window client_leader; - char start_iconified; - char need_input; - char urgency; - char take_focus; - char delete_window; - signed char transient; - Window transient_for; - char is_group_leader; char no_resize_h; char no_resize_v; Constraints width, height; @@ -144,6 +117,24 @@ struct _ewin char *wm_role; char *wm_command; char *wm_machine; + /* WM_HINTS */ + char need_input; + char start_iconified; + Pixmap icon_pmap, icon_mask; + Window icon_win; + Window group; + char urgency; + /* WM_PROTOCOLS */ + char take_focus; + char delete_window; + /* WM_TRANSIENT_FOR */ + signed char transient; + Window transient_for; /* We are a transient for ... */ + int transient_count; /* We have transients */ + /* WM_CLIENT_LEADER */ + Window client_leader; + + char is_group_leader; } icccm; struct { @@ -181,7 +172,6 @@ struct _ewin Group **groups; int area_x, area_y; char *session_id; - int has_transients; PmapMask mini_pmm; int mini_w, mini_h; @@ -203,6 +193,27 @@ struct _ewin void (*Close) (EWin * ewin); }; +#define EWIN_STATE_NEW 0 /* New */ +#define EWIN_STATE_STARTUP 1 /* New - during startup */ +#define EWIN_STATE_WITHDRAWN 2 +#define EWIN_STATE_ICONIC 3 +#define EWIN_STATE_MAPPED 4 + +#define EWIN_TYPE_NORMAL 0x00 +#define EWIN_TYPE_DIALOG 0x01 +#define EWIN_TYPE_MENU 0x02 +#define EWIN_TYPE_ICONBOX 0x04 +#define EWIN_TYPE_PAGER 0x08 + +#define EwinIsMapped(ewin) (ewin->state.state >= EWIN_STATE_MAPPED) +#define EwinIsInternal(ewin) (ewin->type != EWIN_TYPE_NORMAL) +#define EwinIsTransientChild(ewin) (ewin->icccm.transient > 0) +#define EwinIsTransient(ewin) (ewin->icccm.transient != 0) +#define EwinGetTransientFor(ewin) (ewin->icccm.transient_for) +#define EwinGetTransientCount(ewin) (ewin->icccm.transient_count) +#define EwinIsWindowGroupLeader(ewin) (ewin->icccm.is_group_leader) +#define EwinGetWindowGroup(ewin) (ewin->icccm.group) + /* ewins.c */ #define EWIN_CHANGE_NAME (1<<0) #define EWIN_CHANGE_ICON_NAME (1<<1) diff --git a/src/finders.c b/src/finders.c index 06a93493..e7447c3f 100644 --- a/src/finders.c +++ b/src/finders.c @@ -354,7 +354,7 @@ EwinListTransients(EWin * ewin, int *num, int group) j = 0; lst = NULL; - if (!ewin->has_transients) + if (EwinGetTransientCount(ewin) <= 0) goto done; ewins = EwinListGetAll(&n); @@ -368,7 +368,7 @@ EwinListTransients(EWin * ewin, int *num, int group) if (ew == ewin) continue; - if (ew->client.transient_for == ewin->client.win) + if (EwinGetTransientFor(ew) == ewin->client.win) { lst = Erealloc(lst, (j + 1) * sizeof(EWin *)); lst[j++] = ew; @@ -379,7 +379,7 @@ EwinListTransients(EWin * ewin, int *num, int group) goto done; /* Group transients (if ewin is not a transient) */ - if (ewin->client.transient) + if (EwinIsTransient(ewin)) goto done; for (i = 0; i < n; i++) @@ -390,8 +390,8 @@ EwinListTransients(EWin * ewin, int *num, int group) if (ew == ewin) continue; - if (ew->client.transient_for == VRoot.win && - ew->client.group == ewin->client.group) + if (EwinGetTransientFor(ew) == VRoot.win && + EwinGetWindowGroup(ew) == EwinGetWindowGroup(ewin)) { lst = Erealloc(lst, (j + 1) * sizeof(EWin *)); lst[j++] = ew; @@ -412,7 +412,7 @@ EwinListTransientFor(EWin * ewin, int *num) j = 0; lst = NULL; - if (!ewin->client.transient) + if (!EwinIsTransient(ewin)) goto done; ewins = EwinListGetAll(&n); @@ -425,10 +425,10 @@ EwinListTransientFor(EWin * ewin, int *num) continue; /* Regular parent or if root trans, top level group members */ - if ((ewin->client.transient_for == ew->client.win) || - (!ew->client.transient && - ewin->client.transient_for == VRoot.win && - ew->client.group == ewin->client.group)) + if ((EwinGetTransientFor(ewin) == ew->client.win) || + (!EwinIsTransient(ew) && + EwinGetTransientFor(ewin) == VRoot.win && + EwinGetWindowGroup(ew) == EwinGetWindowGroup(ewin))) { lst = Erealloc(lst, (j + 1) * sizeof(EWin *)); lst[j++] = ew; diff --git a/src/focus.c b/src/focus.c index d2c91633..4eab67f0 100644 --- a/src/focus.c +++ b/src/focus.c @@ -316,7 +316,7 @@ doFocusToEwin(EWin * ewin, int why) do_focus = 1; } - if (ewin->client.transient) + if (EwinIsTransient(ewin)) { if (Conf.focus.new_transients_get_focus) { @@ -326,7 +326,7 @@ doFocusToEwin(EWin * ewin, int why) { EWin *ewin2; - ewin2 = EwinFindByClient(ewin->client.transient_for); + ewin2 = EwinFindByClient(EwinGetTransientFor(ewin)); if ((ewin2) && (Mode.focuswin == ewin2)) do_focus = 2; } diff --git a/src/hints.c b/src/hints.c index 708ecfcb..28692854 100644 --- a/src/hints.c +++ b/src/hints.c @@ -378,7 +378,7 @@ EHintsGetInfo(EWin * ewin) ewin->client.grav = NorthWestGravity; if (ewin->state.iconified) { - ewin->client.start_iconified = 1; + ewin->icccm.start_iconified = 1; ewin->state.iconified = 0; } ewin->state.placed = 1; diff --git a/src/icccm.c b/src/icccm.c index 09391c7f..7759265e 100644 --- a/src/icccm.c +++ b/src/icccm.c @@ -110,7 +110,7 @@ ICCCM_Delete(const EWin * ewin) return; } - if (ewin->client.delete_window) + if (ewin->icccm.delete_window) ecore_x_icccm_delete_window_send(ewin->client.win, CurrentTime); else XKillClient(disp, ewin->client.win); @@ -262,7 +262,7 @@ ICCCM_Adopt(const EWin * ewin) { Window win = ewin->client.win; - if (ewin->client.start_iconified) + if (ewin->icccm.start_iconified) ecore_x_icccm_state_set_iconic(win); else ecore_x_icccm_state_set_normal(win); @@ -338,7 +338,7 @@ ICCCM_Focus(const EWin * ewin) return; } - if (ewin->client.take_focus) + if (ewin->icccm.take_focus) { ecore_x_icccm_take_focus_send(ewin->client.win, CurrentTime); } @@ -521,7 +521,7 @@ ICCCM_GetGeoms(EWin * ewin, Atom atom_change) ewin->client.w, ewin->client.h, EwinGetName(ewin)); } -#define TryGroup(e) (((e)->client.group != None) && ((e)->client.group != (e)->client.win)) +#define TryGroup(e) (((e)->icccm.group != None) && ((e)->icccm.group != (e)->client.win)) void ICCCM_GetInfo(EWin * ewin, Atom atom_change) @@ -534,7 +534,7 @@ ICCCM_GetInfo(EWin * ewin, Atom atom_change) _EFREE(ewin->icccm.wm_res_class); if (XGetClassHint(disp, ewin->client.win, &hint) || - (TryGroup(ewin) && XGetClassHint(disp, ewin->client.group, &hint))) + (TryGroup(ewin) && XGetClassHint(disp, ewin->icccm.group, &hint))) { ewin->icccm.wm_res_name = Estrdup(hint.res_name); ewin->icccm.wm_res_class = Estrdup(hint.res_class); @@ -554,7 +554,7 @@ ICCCM_GetInfo(EWin * ewin, Atom atom_change) ECORE_X_ATOM_WM_COMMAND, &argv); if ((argc < 0) && TryGroup(ewin)) - argc = ecore_x_window_prop_string_list_get(ewin->client.group, + argc = ecore_x_window_prop_string_list_get(ewin->icccm.group, ECORE_X_ATOM_WM_COMMAND, &argv); @@ -572,7 +572,7 @@ ICCCM_GetInfo(EWin * ewin, Atom atom_change) ECORE_X_ATOM_WM_CLIENT_MACHINE); if (!ewin->icccm.wm_machine && TryGroup(ewin)) ewin->icccm.wm_machine = - ecore_x_window_prop_string_get(ewin->client.group, + ecore_x_window_prop_string_get(ewin->icccm.group, ECORE_X_ATOM_WM_CLIENT_MACHINE); } @@ -585,7 +585,7 @@ ICCCM_GetInfo(EWin * ewin, Atom atom_change) ECORE_X_ATOM_WM_ICON_NAME); if (!ewin->icccm.wm_icon_name && TryGroup(ewin)) ewin->icccm.wm_icon_name = - ecore_x_window_prop_string_get(ewin->client.group, + ecore_x_window_prop_string_get(ewin->icccm.group, ECORE_X_ATOM_WM_ICON_NAME); } @@ -627,45 +627,45 @@ ICCCM_GetHints(EWin * ewin, Atom atom_change) } } - ewin->client.need_input = + ewin->icccm.need_input = ((hint->flags & InputHint) && (!hint->input)) ? 0 : 1; - ewin->client.start_iconified = + ewin->icccm.start_iconified = ((hint->flags & StateHint) && (hint->initial_state == IconicState)) ? 1 : 0; if (hint->flags & IconPixmapHint) { - if (ewin->client.icon_pmap != hint->icon_pixmap) + if (ewin->icccm.icon_pmap != hint->icon_pixmap) { - ewin->client.icon_pmap = hint->icon_pixmap; + ewin->icccm.icon_pmap = hint->icon_pixmap; EwinChange(ewin, EWIN_CHANGE_ICON_PMAP); } } else { - ewin->client.icon_pmap = None; + ewin->icccm.icon_pmap = None; } - ewin->client.icon_mask = + ewin->icccm.icon_mask = (hint->flags & IconMaskHint) ? hint->icon_mask : None; - ewin->client.icon_win = + ewin->icccm.icon_win = (hint->flags & IconWindowHint) ? hint->icon_window : None; - ewin->client.group = + ewin->icccm.group = (hint->flags & WindowGroupHint) ? hint->window_group : None; if (hint->flags & XUrgencyHint) { if (!ewin->state.attention) EwinChange(ewin, EWIN_CHANGE_ATTENTION); - ewin->client.urgency = 1; + ewin->icccm.urgency = 1; ewin->state.attention = 1; } else { - ewin->client.urgency = 0; + ewin->icccm.urgency = 0; } XFree(hint); @@ -675,14 +675,14 @@ ICCCM_GetHints(EWin * ewin, Atom atom_change) { if (XGetWMProtocols(disp, ewin->client.win, &prop, &num)) { - ewin->client.take_focus = 0; - ewin->client.delete_window = 0; + ewin->icccm.take_focus = 0; + ewin->icccm.delete_window = 0; for (i = 0; i < num; i++) { if (prop[i] == ECORE_X_ATOM_WM_TAKE_FOCUS) - ewin->client.take_focus = ewin->client.need_input = 1; + ewin->icccm.take_focus = ewin->icccm.need_input = 1; else if (prop[i] == ECORE_X_ATOM_WM_DELETE_WINDOW) - ewin->client.delete_window = 1; + ewin->icccm.delete_window = 1; } XFree(prop); } @@ -690,22 +690,22 @@ ICCCM_GetHints(EWin * ewin, Atom atom_change) if (atom_change == 0 || atom_change == ECORE_X_ATOM_WM_TRANSIENT_FOR) { - ewin->client.transient = 0; - ewin->client.transient_for = None; + ewin->icccm.transient = 0; + ewin->icccm.transient_for = None; if (XGetTransientForHint(disp, ewin->client.win, &win)) { - ewin->client.transient = 1; - ewin->client.transient_for = win; + ewin->icccm.transient = 1; + ewin->icccm.transient_for = win; } } - if (ewin->client.group == ewin->client.win) + if (ewin->icccm.group == ewin->client.win) { - ewin->client.is_group_leader = 1; + ewin->icccm.is_group_leader = 1; } else { - ewin->client.is_group_leader = 0; + ewin->icccm.is_group_leader = 0; } if (atom_change == 0 || atom_change == ECORE_X_ATOM_WM_CLIENT_LEADER) @@ -717,9 +717,9 @@ ICCCM_GetHints(EWin * ewin, Atom atom_change) &cleader, 1); if (num > 0) { - ewin->client.client_leader = cleader; - if (!ewin->client.group) - ewin->client.group = cleader; + ewin->icccm.client_leader = cleader; + if (!ewin->icccm.group) + ewin->icccm.group = cleader; } } } diff --git a/src/icons.c b/src/icons.c index e0fd0590..8148eee3 100644 --- a/src/icons.c +++ b/src/icons.c @@ -156,19 +156,19 @@ IB_GetAppIcon(EWin * ewin, int size) } } - if (!ewin->client.icon_pmap) + if (!ewin->icccm.icon_pmap) return NULL; w = 0; h = 0; - XGetGeometry(disp, ewin->client.icon_pmap, &rt, &x, &y, &w, &h, &bw, &depth); + XGetGeometry(disp, ewin->icccm.icon_pmap, &rt, &x, &y, &w, &h, &bw, &depth); if (w < 1 || h < 1) return NULL; imlib_context_set_colormap(None); - imlib_context_set_drawable(ewin->client.icon_pmap); - im = imlib_create_image_from_drawable(ewin->client.icon_mask, 0, 0, w, h, + imlib_context_set_drawable(ewin->icccm.icon_pmap); + im = imlib_create_image_from_drawable(ewin->icccm.icon_mask, 0, 0, w, h, !EServerIsGrabbed()); imlib_context_set_image(im); imlib_image_set_has_alpha(1); /* Should be set by imlib? */ diff --git a/src/ipc.c b/src/ipc.c index b87b5d7c..a9f76e97 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1020,14 +1020,14 @@ EwinShowInfo1(const EWin * ewin) EoIsShown(ewin), ewin->state.iconified, ewin->state.shaded, ewin->state.active, EoGetLayer(ewin), ewin->props.never_use_area, EoIsFloating(ewin), ewin->client.w, ewin->client.h, - ewin->client.icon_win, - ewin->client.icon_pmap, ewin->client.icon_mask, - ewin->client.group, - ewin->client.need_input, ewin->client.transient, + ewin->icccm.icon_win, + ewin->icccm.icon_pmap, ewin->icccm.icon_mask, + EwinGetWindowGroup(ewin), + ewin->icccm.need_input, EwinIsTransient(ewin), SS(ewin->icccm.wm_name), SS(ewin->icccm.wm_res_class), SS(ewin->icccm.wm_res_name), SS(ewin->icccm.wm_command), SS(ewin->icccm.wm_machine), SS(ewin->icccm.wm_icon_name), - ewin->client.is_group_leader, + EwinIsWindowGroupLeader(ewin), ewin->client.no_resize_h, ewin->client.no_resize_v, ewin->state.shaped, ewin->client.width.min, ewin->client.height.min, @@ -1102,11 +1102,11 @@ EwinShowInfo2(const EWin * ewin) #endif border->name, border->border.left, border->border.right, border->border.top, border->border.bottom, - ewin->client.icon_win, - ewin->client.icon_pmap, ewin->client.icon_mask, - ewin->client.is_group_leader, ewin->client.group, - ewin->client.client_leader, ewin->has_transients, - ewin->client.transient, ewin->client.transient_for, + ewin->icccm.icon_win, + ewin->icccm.icon_pmap, ewin->icccm.icon_mask, + EwinIsWindowGroupLeader(ewin), EwinGetWindowGroup(ewin), + ewin->icccm.client_leader, EwinGetTransientCount(ewin), + EwinIsTransient(ewin), EwinGetTransientFor(ewin), ewin->client.no_resize_h, ewin->client.no_resize_v, ewin->state.shaped, ewin->client.base_w, ewin->client.base_h, ewin->client.width.min, ewin->client.height.min, @@ -1118,7 +1118,7 @@ EwinShowInfo2(const EWin * ewin) ewin->mwm.decor_border, ewin->mwm.decor_resizeh, ewin->mwm.decor_title, ewin->mwm.decor_menu, ewin->mwm.decor_minimize, ewin->mwm.decor_maximize, - ewin->client.need_input, ewin->client.take_focus, + ewin->icccm.need_input, ewin->icccm.take_focus, ewin->props.never_focus, ewin->props.focusclick, ewin->props.never_use_area, ewin->props.fixedpos, EoGetDesk(ewin), EoGetLayer(ewin), ewin->o.ilayer, diff --git a/src/session.c b/src/session.c index b3a69507..4d3a2105 100644 --- a/src/session.c +++ b/src/session.c @@ -269,7 +269,7 @@ MatchEwinToSM(EWin * ewin) matches[i].used = 1; ewin->state.placed = 1; - ewin->client.start_iconified = matches[i].iconified; + ewin->icccm.start_iconified = matches[i].iconified; EoSetSticky(ewin, matches[i].sticky); ewin->state.shaded = matches[i].shaded; EoSetLayer(ewin, matches[i].layer); diff --git a/src/windowmatch.c b/src/windowmatch.c index e733d3b3..d2c9a915 100644 --- a/src/windowmatch.c +++ b/src/windowmatch.c @@ -560,7 +560,7 @@ WindowMatchTest(const EWin * ewin, const WindowMatch * wm) switch (wm->prop) { case MATCH_PROP_TRANSIENT: - match = ewin->client.transient; + match = EwinIsTransient(ewin); break; case MATCH_PROP_SHAPED: @@ -668,7 +668,7 @@ WindowMatchEwinOpsAction(EWin * ewin, int op, const char *args) return; case EWIN_OP_ICONIFY: - WINOP_GET_BOOL(ewin->client.start_iconified, args); + WINOP_GET_BOOL(ewin->icccm.start_iconified, args); break; case EWIN_OP_SHADE: