diff options
Diffstat (limited to 'wm/tvtwm/patches/patch-an')
-rw-r--r-- | wm/tvtwm/patches/patch-an | 501 |
1 files changed, 501 insertions, 0 deletions
diff --git a/wm/tvtwm/patches/patch-an b/wm/tvtwm/patches/patch-an new file mode 100644 index 00000000000..6c6d66ab483 --- /dev/null +++ b/wm/tvtwm/patches/patch-an @@ -0,0 +1,501 @@ +$NetBSD: patch-an,v 1.1.1.1 2000/12/12 02:03:49 wiz Exp $ + +--- menus.c.orig Thu Feb 9 21:09:18 1995 ++++ menus.c +@@ -191,6 +191,7 @@ + #include "gram.h" + #include "screen.h" + #include <X11/Xmu/CharSet.h> /* for XmuCompareISOLatin1() */ ++#include <X11/Xmu/Drawing.h> /* for XmuLocateBitmapFile */ + #include "version.h" + #include "vdt.h" + #include "add_window.h" +@@ -228,8 +229,6 @@ + } MenuOrigins[MAXMENUDEPTH]; + static Cursor LastCursor; + +-void WarpAlongRing(), WarpToWindow(); +- + extern char *Action; + extern int Context; + extern TwmWindow *ButtonWindow, *Tmp_win; +@@ -237,6 +236,12 @@ + extern char *InitFile; + static void Identify(); + ++/* Local function prototypes */ ++Bool Deferrable(int func); ++int DeferExecution(int context, int func, char *action, Cursor cursor); ++void WarpToWindow (TwmWindow *t); ++void WarpAlongRing (XButtonEvent *ev, Bool forward); ++ + #define MAX(x,y) ((x)>(y)?(x):(y)) + + +@@ -527,7 +532,7 @@ + + + +-PaintEntry(mr, mi, exposure) ++void PaintEntry(mr, mi, exposure) + MenuRoot *mr; + MenuItem *mi; + int exposure; +@@ -602,9 +607,9 @@ + #endif + + Scr->pullrightPm.pm = FindPixmap(Scr->pullrightPm.name, +- &Scr->pullrightPm.width, +- &Scr->pullrightPm.height, +- &Scr->pullrightPm.isXpm, ++ &(Scr->pullrightPm.width), ++ &(Scr->pullrightPm.height), ++ &(Scr->pullrightPm.isXpm), + NULL, + #ifdef XPM + ctrans, 2, +@@ -684,7 +689,7 @@ + + + +-PaintMenu(mr, e) ++void PaintMenu(mr, e) + MenuRoot *mr; + XEvent *e; + { +@@ -710,7 +715,7 @@ + + static Bool fromMenu; + +-#if 1 ++void + UpdateMenu() + { + MenuItem *mi; +@@ -787,13 +792,8 @@ + if (Event.type != MotionNotify) + continue; + +-#if 1 + XQueryPointer( dpy, ActiveMenu->w, &aJunkRoot, &aJunkChild, + &x_root, &y_root, &x, &y, &aJunkMask); +-#else +- x = ((XMotionEvent *)&Event)->x; +- y = ((XMotionEvent *)&Event)->y; +-#endif + + /* if we are in the parent, pop back down, this should prevent + * menus that are slow to pop up from hanging around too long. +@@ -910,137 +910,6 @@ + } + + } +-#else +-UpdateMenu() +-{ +- MenuItem *mi; +- int i, x, y, x_root, y_root, entry; +- int done; +- MenuItem *badItem = NULL; +- Window aJunkRoot, aJunkChild; +- unsigned int aJunkMask; +- static int firstTime = True; +- +- fromMenu = TRUE; +- +- while (TRUE) { +- while (XCheckMaskEvent(dpy, ButtonPressMask | ButtonReleaseMask | +- EnterWindowMask | ExposureMask, &Event)) { +- if (!DispatchEvent()) +- continue; +- +- if (Event.type == ButtonRelease || ActiveMenu == NULL) { +- menuFromFrameOrWindowOrTitlebar = FALSE; +- fromMenu = FALSE; +- if (Scr->StayUpMenus) { +- if (firstTime == True) { +- /* it was the first release of the button */ +- firstTime = False; +- } +- /* end if */ +- else { +- /* thats the second we need to return now */ +- firstTime = True; +- return; +- } /* end else */ +- } +- /* end if */ +- else { +- return; +- } /* end else */ +- } +- if (Event.type == Cancel) { +- menuFromFrameOrWindowOrTitlebar = FALSE; +- fromMenu = FALSE; +- return; +- } +- } +- +- done = FALSE; +- XQueryPointer(dpy, ActiveMenu->w, &aJunkRoot, &aJunkChild, +- &x_root, &y_root, &x, &y, &aJunkMask); +- +- /* if we haven't received the enter notify yet, wait */ +- if (!ActiveMenu || !ActiveMenu->entered) +- continue; +- +- XFindContext(dpy, ActiveMenu->w, ScreenContext, (caddr_t *) & Scr); +- +- if (x < 0 || y < 0 || +- x >= ActiveMenu->width || y >= ActiveMenu->height) { +- if (ActiveItem && ActiveItem->func != F_TITLE) { +- ActiveItem->state = 0; +- PaintEntry(ActiveMenu, ActiveItem, False); +- } +- ActiveItem = NULL; +- continue; +- } +- /* look for the entry that the mouse is in */ +- entry = y / Scr->EntryHeight; +- for (i = 0, mi = ActiveMenu->first; mi != NULL; i++, mi = mi->next) { +- if (i == entry) +- break; +- } +- +- /* if there is an active item, we might have to turn it off */ +- if (ActiveItem) { +- /* is the active item the one we are on ? */ +- if (ActiveItem->item_num == entry && ActiveItem->state) +- done = TRUE; +- +- /* +- * if we weren't on the active entry, let's turn the old active +- * one off +- */ +- if (!done && ActiveItem->func != F_TITLE) { +- ActiveItem->state = 0; +- PaintEntry(ActiveMenu, ActiveItem, False); +- } +- } +- /* +- * if we weren't on the active item, change the active item and turn +- * it on +- */ +- if (!done) { +- ActiveItem = mi; +- if (ActiveItem->func != F_TITLE && !ActiveItem->state) { +- ActiveItem->state = 1; +- PaintEntry(ActiveMenu, ActiveItem, False); +- } +- } +- /* now check to see if we were over the arrow of a pull right entry */ +- if ((ActiveItem->func == F_MENU || ActiveItem->func == F_MENUFUNC) && +- ((ActiveMenu->width - x) * 100 < +- (ActiveMenu->width * Scr->PopupSensitivity))) { +- MenuRoot *save = ActiveMenu; +- int savex = MenuOrigins[MenuDepth - 1].x; +- int savey = MenuOrigins[MenuDepth - 1].y; +- if (MenuDepth < MAXMENUDEPTH) { +- PopUpMenu(ActiveItem->sub, +- (savex + (int)(ActiveMenu->width +- * (100-Scr->PopupSensitivity) / 100.0)), +- (savey + ActiveItem->item_num * Scr->EntryHeight) +- /* +- * (savey + ActiveItem->item_num * Scr->EntryHeight + +- * (Scr->EntryHeight >> 1)) +- */ , False); +- } else if (!badItem) { +- XBell(dpy, 0); +- badItem = ActiveItem; +- } +- /* if the menu did get popped up, unhighlight the active item */ +- if (save != ActiveMenu && ActiveItem->state) { +- ActiveItem->state = 0; +- PaintEntry(save, ActiveItem, False); +- ActiveItem = NULL; +- } +- } +- if (badItem != ActiveItem) +- badItem = NULL; +- XFlush(dpy); +- } +-} +-#endif + + + +@@ -1205,7 +1074,7 @@ + + + +-MakeMenus() ++void MakeMenus(void) + { + MenuRoot *mr; + +@@ -1220,7 +1089,7 @@ + + + +-MakeMenu(mr) ++void MakeMenu(mr) + MenuRoot *mr; + { + MenuItem *start, *end, *cur, *tmp; +@@ -1472,10 +1341,11 @@ + * * + \********************************************************************/ + ++void + HandleChangingMenus(menu) + MenuRoot *menu; + { +- int WindowNameOffset, WindowNameCount; ++ int /*WindowNameOffset,*/ WindowNameCount; + TwmWindow **WindowNames; + TwmWindow *tmp_win2, *tmp_win3; + TwmWindow **sortlist, *bakwin; +@@ -1524,8 +1394,8 @@ + AddToMenu(menu,sortlist[loop]->name, (char *)sortlist[loop], + NULL, F_POPUP, NULLSTR, NULLSTR); + } else { +- WindowNameOffset=(char *)Scr->TwmRoot.next->name - +- (char *)Scr->TwmRoot.next; ++/* WindowNameOffset=(char *)Scr->TwmRoot.next->name - ++ (char *)Scr->TwmRoot.next;*/ + for(tmp_win = Scr->TwmRoot.next , WindowNameCount=0; + tmp_win != NULL; + tmp_win = tmp_win->next) +@@ -1665,7 +1535,7 @@ + *********************************************************************** + */ + +-PopDownMenu() ++void PopDownMenu() + { + MenuRoot *tmp; + +@@ -1770,19 +1640,19 @@ + Window w; + TwmWindow *tmp_win; + { +- int lastx, lasty, width, height, bw2; +- int namelen; +- int stat; ++ int lastx, lasty, /*width, height,*/ bw2; ++/* int namelen; ++ int stat;*/ + XEvent event; +- Window junk; ++/* Window junk;*/ + +- namelen = strlen (tmp_win->name); ++/* namelen = strlen (tmp_win->name);*/ + bw2 = tmp_win->frame_bw * 2; + AddingW = tmp_win->attr.width + bw2; + AddingH = tmp_win->attr.height + tmp_win->title_height + bw2; +- width = (SIZE_HINDENT + XTextWidth (Scr->SizeFont.font, ++/* width = (SIZE_HINDENT + XTextWidth (Scr->SizeFont.font, + tmp_win->name, namelen)); +- height = Scr->SizeFont.height + SIZE_VINDENT * 2; ++ height = Scr->SizeFont.height + SIZE_VINDENT * 2;*/ + XGetGeometry(dpy, w, &JunkRoot, &origDragX, &origDragY, + (unsigned int *)&DragWidth, (unsigned int *)&DragHeight, + &JunkBW, &JunkDepth); +@@ -1953,18 +1823,14 @@ + int context; + int pulldown; + { +- static Time last_time = 0; + short Real_OpaqueMove; /* holder for F_OPAQUEMOVE */ + char tmp[200]; + char *ptr; + char buff[MAX_FILE_SIZE]; + int count, fd; +- Window rootw; +- int origX, origY; ++/* Window rootw;*/ + int do_next_action = TRUE; +- int moving_icon = FALSE; + Bool fromtitlebar = False; +- extern int ConstrainedMoveTime; + struct MenuItem *item; + + RootFunction = 0; +@@ -2049,6 +1915,7 @@ + case F_SCROLLUP: + case F_SCROLLDOWN: + case F_SCROLLBACK: ++ FocusOnRoot(); + ScrollDesktop(func, action); + break; + +@@ -2092,8 +1959,6 @@ + return TRUE; + + if (Scr->VirtualDesktop) { +- int x, y; +- + if (tmp_win->sticky) { + if (Scr->StickyAbove) { + XReparentWindow(dpy, tmp_win->frame, Scr->VirtualDesktop, +@@ -2300,7 +2165,7 @@ + return TRUE; + + PopDownMenu(); +- rootw = eventp->xbutton.root; ++/* rootw = eventp->xbutton.root;*/ + MoveFunction = func; + if (MoveFunction == F_OPAQUEMOVE) { + Real_OpaqueMove = Scr->OpaqueMove; +@@ -2313,11 +2178,11 @@ + + if (context == C_ICON && tmp_win->icon.w) + { +- DragIcon(tmp_win, eventp, pulldown); ++ DragIcon(tmp_win, (XButtonEvent *) eventp, pulldown); + } + else if (w != tmp_win->icon.w) + { +- DragFrame(tmp_win, eventp, pulldown); ++ DragFrame(tmp_win, (XButtonEvent *) eventp, pulldown); + } + #ifdef OLD_MOVE + if (DeferExecution(context, func, action, Scr->MoveCursor)) +@@ -3149,7 +3014,7 @@ + *********************************************************************** + */ + +-ReGrab() ++void ReGrab(void) + { + XGrabPointer(dpy, Scr->Root, True, + ButtonPressMask | ButtonReleaseMask, +@@ -3171,6 +3036,7 @@ + *********************************************************************** + */ + ++Bool + Deferrable(func) + int func; + { +@@ -3205,7 +3071,7 @@ + } + } + +-NeedToDefer(root) ++Bool NeedToDefer(root) + MenuRoot *root; + { + MenuItem *mitem; +@@ -3321,7 +3187,7 @@ + Scr->FocusRoot = TRUE; + } + +-DeIconify(tmp_win) ++void DeIconify(tmp_win) + TwmWindow *tmp_win; + { + TwmWindow *t; +@@ -3396,7 +3262,7 @@ + + + +-Iconify(tmp_win, def_x, def_y) ++void Iconify(tmp_win, def_x, def_y) + TwmWindow *tmp_win; + int def_x, def_y; + { +@@ -3603,7 +3469,7 @@ + + + +-SetMapStateProp(tmp_win, state) ++void SetMapStateProp(tmp_win, state) + TwmWindow *tmp_win; + int state; + { +@@ -3647,7 +3513,7 @@ + + + +-WarpToScreen (n, inc) ++void WarpToScreen (n, inc) + int n, inc; + { + Window dumwin; +@@ -3691,7 +3557,7 @@ + * BumpWindowColormap - rotate our internal copy of WM_COLORMAP_WINDOWS + */ + +-BumpWindowColormap (tmp, inc) ++void BumpWindowColormap (tmp, inc) + TwmWindow *tmp; + int inc; + { +@@ -3704,9 +3570,9 @@ + cwins = (ColormapWindow **) malloc(sizeof(ColormapWindow *)* + tmp->cmaps.number_cwins); + if (cwins) { +- if (previously_installed = +- /* SUPPRESS 560 */(Scr->cmapInfo.cmaps == &tmp->cmaps && +- tmp->cmaps.number_cwins)) { ++ if ((previously_installed = ++ (Scr->cmapInfo.cmaps == &tmp->cmaps && ++ tmp->cmaps.number_cwins))) { + for (i = tmp->cmaps.number_cwins; i-- > 0; ) + tmp->cmaps.cwins[i]->colormap->state = 0; + } +@@ -3737,7 +3603,7 @@ + + + +-HideIconManager () ++void HideIconManager () + { + SetMapStateProp (Scr->iconmgr.twm_win, WithdrawnState); + UnmapFrame(Scr->iconmgr.twm_win); +@@ -3749,7 +3615,7 @@ + + + +-SetBorder (tmp, onoroff) ++void SetBorder (tmp, onoroff) + TwmWindow *tmp; + Bool onoroff; + { +@@ -3768,7 +3634,7 @@ + + + +-DestroyMenu (menu) ++void DestroyMenu (menu) + MenuRoot *menu; + { + MenuItem *item; +@@ -3890,14 +3756,14 @@ + XSendEvent (dpy, w, False, 0L, (XEvent *) &ev); + } + +-SendDeleteWindowMessage (tmp, timestamp) ++void SendDeleteWindowMessage (tmp, timestamp) + TwmWindow *tmp; + Time timestamp; + { + send_clientmessage (tmp->w, _XA_WM_DELETE_WINDOW, timestamp); + } + +-SendSaveYourselfMessage (tmp, timestamp) ++void SendSaveYourselfMessage (tmp, timestamp) + TwmWindow *tmp; + Time timestamp; + { +@@ -3905,7 +3771,7 @@ + } + + +-SendTakeFocusMessage (tmp, timestamp) ++void SendTakeFocusMessage (tmp, timestamp) + TwmWindow *tmp; + Time timestamp; + { |