diff --git a/src/ChangeLog b/src/ChangeLog index 06306579..0a0effa2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -4475,3 +4475,10 @@ Sat Mar 25 20:58:49 PST 2000 (Mandrake) oops, debugging printfs + +------------------------------------------------------------------------------- + +Sun Mar 26 13:42:23 PST 2000 +(Mandrake) + +fixed edge resistance between heads when you're using xinerama. diff --git a/src/actions.c b/src/actions.c index 54d2df6e..81847c01 100644 --- a/src/actions.c +++ b/src/actions.c @@ -1181,11 +1181,11 @@ doMoveEnd(void *params) if (gwins[i]->floating) MoveEwinToDesktopAt(gwins[i], d, gwins[i]->x - (desks.desk[d].x - - desks. - desk[gwins[i]->desktop].x), + desks.desk[gwins[i]-> + desktop].x), gwins[i]->y - (desks.desk[d].y - - desks. - desk[gwins[i]->desktop].y)); + desks.desk[gwins[i]-> + desktop].y)); else MoveEwinToDesktopAt(gwins[i], d, gwins[i]->x, gwins[i]->y); gwins[i]->floating = 0; diff --git a/src/areas.c b/src/areas.c index 13b5153a..d15f991c 100644 --- a/src/areas.c +++ b/src/areas.c @@ -357,13 +357,13 @@ SetCurrentArea(int ax, int ay) lst[i]->x - (root.w * (ax - - desks.desk[desks. - current].current_area_x)), + desks.desk[desks.current]. + current_area_x)), lst[i]->y - (root.h * (ay - - desks.desk[desks. - current].current_area_y))); + desks.desk[desks.current]. + current_area_y))); if (setflip) mode.flipp = 0; lst[i]->area_x = a1; @@ -394,13 +394,13 @@ SetCurrentArea(int ax, int ay) x - (root.w * (ax - - desks.desk[desks.current]. - current_area_x)), + desks.desk[desks. + current].current_area_x)), y - (root.h * (ay - - desks.desk[desks.current]. - current_area_y))); + desks.desk[desks. + current].current_area_y))); } } /* if we're not moving it... move it across */ @@ -419,13 +419,13 @@ SetCurrentArea(int ax, int ay) lst[i]->x - (root.w * (ax - - desks.desk[desks. - current].current_area_x)), + desks.desk[desks.current]. + current_area_x)), lst[i]->y - (root.h * (ay - - desks.desk[desks. - current].current_area_y))); + desks.desk[desks.current]. + current_area_y))); if (setflip) mode.flipp = 0; lst[i]->area_x = a1; diff --git a/src/arrange.c b/src/arrange.c index 177baad3..4446879b 100644 --- a/src/arrange.c +++ b/src/arrange.c @@ -667,6 +667,9 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) EWin **lst, **gwins; int gnum, num, i, j, screen_snap_dist, odx, ody; static char last_res = 0; + static XineramaScreenInfo *screens = NULL; + static int num_screens = 0; + int top_bound, bottom_bound, left_bound, right_bound; EDBUG(5, "SnapEwin"); if (!ewin) @@ -678,8 +681,53 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) *new_dy = dy; EDBUG_RETURN_; } + + left_bound = 0; + right_bound = root.w; + top_bound = 0; + bottom_bound = root.h; + screen_snap_dist = mode.constrained ? (root.w + root.h) : mode.screen_snap_dist; + +#ifdef HAS_XINERAMA + + if (xinerama_active) + { + if (!screens) + screens = XineramaQueryScreens(disp, &num_screens); + for (i = 0; i < num_screens; i++) + { + if (ewin->x >= screens[i].x_org) + { + if (ewin->x <= (screens[i].width + screens[i].x_org)) + { + if (ewin->y >= screens[i].y_org) + { + if (ewin->y <= (screens[i].height + + screens[i].y_org)) + { + left_bound = screens[i].x_org; + right_bound = + screens[i].x_org + screens[i].width; + top_bound = screens[i].y_org; + bottom_bound = + screens[i].y_org + screens[i].height; + screen_snap_dist = + mode.constrained ? (screens[i].width + + screens[i]. + height) : mode. + screen_snap_dist; + } + } + } + } + + } + } + +#endif + lst = (EWin **) ListItemType(&num, LIST_TYPE_EWIN); gwins = ListWinGroupMembersForEwin(ewin, ACTION_MOVE, mode.nogroup, &gnum); if (gwins) @@ -698,9 +746,10 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) ody = dy; if (dx < 0) { - if (IN_BELOW(ewin->x + dx, 0, screen_snap_dist) && (ewin->x >= 0)) + if (IN_BELOW(ewin->x + dx, left_bound, screen_snap_dist) + && (ewin->x >= left_bound)) { - dx = 0 - ewin->x; + dx = left_bound - ewin->x; } else if (lst) { @@ -732,10 +781,10 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) } else if (dx > 0) { - if (IN_ABOVE(ewin->x + ewin->w + dx, root.w, screen_snap_dist) - && ((ewin->x + ewin->w) <= root.w)) + if (IN_ABOVE(ewin->x + ewin->w + dx, right_bound, screen_snap_dist) + && ((ewin->x + ewin->w) <= right_bound)) { - dx = root.w - (ewin->x + ewin->w); + dx = right_bound - (ewin->x + ewin->w); } else if (lst) { @@ -766,9 +815,10 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) } if (dy < 0) { - if (IN_BELOW(ewin->y + dy, 0, screen_snap_dist) && (ewin->y >= 0)) + if (IN_BELOW(ewin->y + dy, top_bound, screen_snap_dist) + && (ewin->y >= top_bound)) { - dy = 0 - ewin->y; + dy = top_bound - ewin->y; } else if (lst) { @@ -800,10 +850,10 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) } else if (dy > 0) { - if (IN_ABOVE(ewin->y + ewin->h + dy, root.h, screen_snap_dist) - && ((ewin->y + ewin->h) <= root.h)) + if (IN_ABOVE(ewin->y + ewin->h + dy, bottom_bound, screen_snap_dist) + && ((ewin->y + ewin->h) <= bottom_bound)) { - dy = root.h - (ewin->y + ewin->h); + dy = bottom_bound - (ewin->y + ewin->h); } else if (lst) { @@ -1004,25 +1054,21 @@ ArrangeEwin(EWin * ewin) screens = XineramaQueryScreens(disp, &num); for (i = 0; i < num; i++) { - for (i = 0; i < num; i++) + if (pointer_x >= screens[i].x_org) { - if (pointer_x >= screens[i].x_org) + if (pointer_x <= (screens[i].width + screens[i].x_org)) { - if (pointer_x <= - (screens[i].width + screens[i].x_org)) + if (pointer_y >= screens[i].y_org) { - if (pointer_y >= screens[i].y_org) + if (pointer_y <= (screens[i].height + + screens[i].y_org)) { - if (pointer_y <= (screens[i].height + - screens[i].y_org)) - { - ewin->x = - ((screens[i].width - ewin->w) / - 2) + screens[i].x_org; - ewin->y = - ((screens[i].height - ewin->h) / - 2) + screens[i].y_org; - } + ewin->x = + ((screens[i].width - ewin->w) / + 2) + screens[i].x_org; + ewin->y = + ((screens[i].height - ewin->h) / + 2) + screens[i].y_org; } } } diff --git a/src/borders.c b/src/borders.c index 603bd11b..d906f2cd 100644 --- a/src/borders.c +++ b/src/borders.c @@ -1227,12 +1227,12 @@ CalcEwinWinpart(EWin * ewin, int i) if (bottomright == -1) { ox = - ((ewin->border-> - part[i].geom.bottomright.x.percent * ewin->w) >> 10) + + ((ewin-> + border->part[i].geom.bottomright.x.percent * ewin->w) >> 10) + ewin->border->part[i].geom.bottomright.x.absolute; oy = - ((ewin->border-> - part[i].geom.bottomright.y.percent * ewin->h) >> 10) + + ((ewin-> + border->part[i].geom.bottomright.y.percent * ewin->h) >> 10) + ewin->border->part[i].geom.bottomright.y.absolute; } else if (bottomright >= 0) @@ -2643,9 +2643,8 @@ MinShadeSize(EWin * ewin, int *mw, int *mh) (ewin->w - ewin->border->border.right) > rightborderwidth) rightborderwidth = (ewin->bits[i].x + ewin->bits[i].w) - (ewin->w - - ewin-> - border->border. - right); + ewin->border-> + border.right); } } ewin->w = rightborderwidth + leftborderwidth; @@ -2671,9 +2670,8 @@ MinShadeSize(EWin * ewin, int *mw, int *mh) bottomborderwidth) bottomborderwidth = (ewin->bits[i].y + ewin->bits[i].h) - (ewin->h - - ewin-> - border->border. - bottom); + ewin->border-> + border.bottom); } } ewin->h = bottomborderwidth + topborderwidth; diff --git a/src/dialog.c b/src/dialog.c index 6b421176..346dceb5 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -1193,8 +1193,8 @@ DialogRealizeItem(Dialog * d, DItem * di) ImlibImage *im; im = - ELoadImage(di->item.slider.ic_border->norm.normal-> - im_file); + ELoadImage(di->item.slider.ic_border->norm. + normal->im_file); if (im) { di->item.slider.border_orig_w = im->rgb_width; @@ -1470,12 +1470,13 @@ DialogRealizeItem(Dialog * d, DItem * di) dii->y + ((dii->h - - dii->item.check_button. - check_orig_h) / 2), - dii->item.check_button. - check_orig_w, - dii->item.check_button. - check_orig_h); + dii->item. + check_button.check_orig_h) / + 2), + dii->item. + check_button.check_orig_w, + dii->item. + check_button.check_orig_h); if (dii->type == DITEM_RADIOBUTTON) EMoveResizeWindow(disp, dii->item.radio_button.radio_win, @@ -1483,12 +1484,13 @@ DialogRealizeItem(Dialog * d, DItem * di) dii->y + ((dii->h - - dii->item.radio_button. - radio_orig_h) / 2), - dii->item.radio_button. - radio_orig_w, - dii->item.radio_button. - radio_orig_h); + dii->item. + radio_button.radio_orig_h) / + 2), + dii->item. + radio_button.radio_orig_w, + dii->item. + radio_button.radio_orig_h); if (dii->type == DITEM_AREA) { dii->item.area.w = dii->w - @@ -1998,7 +2000,8 @@ DialogItemAreaSetSize(DItem * di, int w, int h) di->item.area.h = h; } -Window DialogItemAreaGetWindow(DItem * di) +Window +DialogItemAreaGetWindow(DItem * di) { return di->item.area.area_win; } diff --git a/src/evhandlers.c b/src/evhandlers.c index 18e9fc03..20a62823 100644 --- a/src/evhandlers.c +++ b/src/evhandlers.c @@ -494,7 +494,8 @@ HandleMotion(XEvent * ev) (gwins [i]->reqx, gwins[i]->x, - mode.edge_snap_dist))))))) + mode. + edge_snap_dist))))))) { jumpx = 1; ndx = gwins[i]->reqx - gwins[i]->x + dx; @@ -517,7 +518,8 @@ HandleMotion(XEvent * ev) (gwins [i]->reqy, gwins[i]->y, - mode.edge_snap_dist))))))) + mode. + edge_snap_dist))))))) { jumpy = 1; ndy = gwins[i]->reqy - gwins[i]->y + dy; @@ -980,8 +982,8 @@ HandleMotion(XEvent * ev) { di->item.slider.wanted_val += dy; di->item.slider.val = di->item.slider.lower + - ((((di->item. - slider.base_h - di->item.slider.knob_h - + ((((di-> + item.slider.base_h - di->item.slider.knob_h - di->item.slider.wanted_val) * (di->item.slider.upper - di->item.slider.lower)) / @@ -2507,13 +2509,13 @@ HandleMouseUp(XEvent * ev) HideEwin(gwins[i]); MoveEwin(gwins[i], gwin_px[i] + ((desks.desk - [gwins[i]-> - desktop].current_area_x) - + [gwins[i]->desktop]. + current_area_x) - p->hi_ewin->area_x) * root.w, gwin_py[i] + - ((desks.desk - [gwins[i]-> - desktop].current_area_y) - + ((desks. + desk[gwins[i]->desktop]. + current_area_y) - p->hi_ewin->area_y) * root.h); if (was_shaded != gwins[i]->shaded) InstantShadeEwin(gwins[i]); diff --git a/src/file.c b/src/file.c index 28be654f..2e253358 100644 --- a/src/file.c +++ b/src/file.c @@ -263,8 +263,7 @@ cp(char *s, char *ss) EDBUG_RETURN_; } -time_t -moddate(char *s) +time_t moddate(char *s) { struct stat st; diff --git a/src/ipc.c b/src/ipc.c index cd31a92d..4a297851 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1745,8 +1745,8 @@ IPC_ImageClass(char *params, Client * c) if (iclass->norm.normal->real_file) im = Imlib_load_image(id, - iclass->norm. - normal->real_file); + iclass->norm.normal-> + real_file); if (im) { Esnprintf(buf, sizeof(buf), diff --git a/src/menus.c b/src/menus.c index ebee8f95..8717a7d6 100644 --- a/src/menus.c +++ b/src/menus.c @@ -279,7 +279,8 @@ ShowMenu(Menu * m, char noshow) * * * * * * * * * * * * - * * * * * * from appearing offscreen */ + * * * * * * + * * * * * * * from appearing offscreen */ unsigned int w, h, mw, mh; EDBUG(5, "ShowMenu"); diff --git a/src/network.c b/src/network.c index ef4be5cf..0cc66301 100644 --- a/src/network.c +++ b/src/network.c @@ -126,8 +126,7 @@ GetNetText(char *URL) } -time_t -GetNetFileDate(char *URL) +time_t GetNetFileDate(char *URL) { #ifdef AUTOUPGRADE diff --git a/src/scursor.c b/src/scursor.c index 821f321c..0412f75c 100644 --- a/src/scursor.c +++ b/src/scursor.c @@ -37,8 +37,7 @@ static Window sc_window = 0; static Atom sc_atom = 0; static ImlibData *imd = NULL; -Window -SC_GetDestWin(void) +Window SC_GetDestWin(void) { return 0; } diff --git a/src/setup.c b/src/setup.c index 8500e6d8..7a84e44e 100644 --- a/src/setup.c +++ b/src/setup.c @@ -751,7 +751,8 @@ SetupEnv() return; } -Window MakeExtInitWin(void) +Window +MakeExtInitWin(void) { Display *d2; Window win; diff --git a/src/tooltips.c b/src/tooltips.c index 99d24f31..7e6b9a2c 100644 --- a/src/tooltips.c +++ b/src/tooltips.c @@ -679,8 +679,8 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, ic->norm.normal->im), x, y); @@ -702,12 +702,11 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, - ic->norm. - normal->im), x, - y); + ic->norm.normal-> + im), x, y); x += ic->norm.normal->im->rgb_width; } break; @@ -723,12 +722,11 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, - ic->norm. - normal->im), x, - y); + ic->norm.normal-> + im), x, y); x += ic->norm.normal->im->rgb_width; } break; @@ -744,12 +742,11 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, - ic->norm. - normal->im), x, - y); + ic->norm.normal-> + im), x, y); x += ic->norm.normal->im->rgb_width; } break; @@ -765,12 +762,11 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, - ic->norm. - normal->im), x, - y); + ic->norm.normal-> + im), x, y); x += ic->norm.normal->im->rgb_width; } break; @@ -786,12 +782,11 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) ic->norm.normal->im->rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic->norm. - normal->im), + ic->norm.normal-> + im), Imlib_copy_mask(id, - ic->norm. - normal->im), x, - y); + ic->norm.normal-> + im), x, y); x += ic->norm.normal->im->rgb_width; } break; @@ -811,17 +806,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -835,17 +829,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -859,17 +852,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -883,17 +875,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -907,17 +898,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -931,17 +921,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -955,17 +944,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } @@ -979,17 +967,16 @@ ShowToolTip(ToolTip * tt, char *text, ActionClass * ac, int x, int y) { Imlib_render(id, ic->norm.normal->im, ic->norm.normal->im->rgb_width, - ic->norm.normal-> - im->rgb_height); + ic->norm.normal->im-> + rgb_height); PastePixmap(disp, tt->win, Imlib_copy_image(id, - ic-> - norm.normal-> - im), + ic->norm. + normal->im), Imlib_copy_mask(id, - ic-> - norm.normal-> - im), x, y); + ic->norm. + normal->im), x, + y); x += ic->norm.normal->im->rgb_width; } } diff --git a/src/x.c b/src/x.c index 80a1b9de..f70e6910 100644 --- a/src/x.c +++ b/src/x.c @@ -40,8 +40,7 @@ EFreePixmap(Display * display, Pixmap pixmap) XFreePixmap(display, pixmap); } -Window -ECreateWindow(Window parent, int x, int y, int w, int h, int saveunder) +Window ECreateWindow(Window parent, int x, int y, int w, int h, int saveunder) { EXID *xid; Window win; @@ -587,8 +586,7 @@ DelXID(Window win) } } -Window -ECreateEventWindow(Window parent, int x, int y, int w, int h) +Window ECreateEventWindow(Window parent, int x, int y, int w, int h) { Window win; XSetWindowAttributes attr; @@ -604,8 +602,7 @@ ECreateEventWindow(Window parent, int x, int y, int w, int h) * create a window which will accept the keyboard focus when no other * windows have it */ -Window -ECreateFocusWindow(Window parent, int x, int y, int w, int h) +Window ECreateFocusWindow(Window parent, int x, int y, int w, int h) { Window win; XSetWindowAttributes attr; @@ -739,8 +736,7 @@ WinExists(Window win) EDBUG_RETURN(0); } -Window -WindowAtXY_0(Window base, int bx, int by, int x, int y) +Window WindowAtXY_0(Window base, int bx, int by, int x, int y) { Window *list = NULL; XWindowAttributes att; @@ -787,8 +783,7 @@ WindowAtXY_0(Window base, int bx, int by, int x, int y) EDBUG_RETURN(base); } -Window -WindowAtXY(int x, int y) +Window WindowAtXY(int x, int y) { Window *list = NULL; Window child = 0, parent_win = 0, root_win = 0;