1 diff -Naur WindowMaker-0.63.1/src/WindowMaker.h WindowMaker-0.63.1-p/src/WindowMaker.h
2 --- WindowMaker-0.63.1/src/WindowMaker.h Fri Nov 17 03:10:32 2000
3 +++ WindowMaker-0.63.1-p/src/WindowMaker.h Mon Jan 8 12:15:41 2001
5 /* shading animation */
6 signed char shade_speed;
8 + /* single click to lauch applications */
14 diff -Naur WindowMaker-0.63.1/src/appicon.c WindowMaker-0.63.1-p/src/appicon.c
15 --- WindowMaker-0.63.1/src/appicon.c Wed Nov 1 16:40:16 2000
16 +++ WindowMaker-0.63.1-p/src/appicon.c Mon Jan 8 12:15:41 2001
18 int shad_x = 0, shad_y = 0, docking=0, dockable, collapsed = 0;
20 int clickButton = event->xbutton.button;
26 XClearWindow(dpy, scr->dock_shadow);
31 WMMaskEvent(dpy, PointerMotionMask|ButtonReleaseMask|ButtonPressMask
32 |ButtonMotionMask|ExposureMask, &ev);
39 if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
40 || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
42 wArrangeIcons(scr, True);
45 + if (!hasMoved && wPreferences.single_click) {
46 + iconDblClick(desc, event);
51 diff -Naur WindowMaker-0.63.1/src/defaults.c WindowMaker-0.63.1-p/src/defaults.c
52 --- WindowMaker-0.63.1/src/defaults.c Sat Jan 6 22:28:02 2001
53 +++ WindowMaker-0.63.1-p/src/defaults.c Mon Jan 8 12:15:41 2001
55 {"DisableBlinking", "NO", NULL,
56 &wPreferences.dont_blink, getBool, NULL
58 + {"SingleClickLaunch", "NO", NULL,
59 + &wPreferences.single_click, getBool, NULL
62 {"MenuStyle", "normal", seMenuStyles,
63 &wPreferences.menu_style, getEnum, setMenuStyle
64 diff -Naur WindowMaker-0.63.1/src/dock.c WindowMaker-0.63.1-p/src/dock.c
65 --- WindowMaker-0.63.1/src/dock.c Wed Nov 1 16:40:16 2000
66 +++ WindowMaker-0.63.1-p/src/dock.c Mon Jan 8 12:15:41 2001
73 handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event)
75 WScreen *scr = dock->screen_ptr;
76 @@ -3767,11 +3767,12 @@
77 int ix = aicon->xindex, iy = aicon->yindex;
81 + Bool docked, hasMoved;
82 int superfluous = wPreferences.superfluous; /* we catch it to avoid problems */
83 int omnipresent = aicon->omnipresent; /* this must be cached!!! */
87 if (wPreferences.flags.noupdates)
96 if (abs(ofs_x-ev.xmotion.x)>=MOVE_THRESHOLD
97 || abs(ofs_y-ev.xmotion.y)>=MOVE_THRESHOLD) {
98 @@ -3977,7 +3979,10 @@
100 puts("End icon move");
110 @@ -4117,7 +4122,9 @@
112 handleDockMove(dock, aicon, event);
114 - handleIconMove(dock, aicon, event);
115 + if (handleIconMove(dock, aicon, event) != 0 &&
116 + wPreferences.single_click)
117 + iconDblClick(desc, event);
119 } else if (event->xbutton.button==Button2 && dock->type==WM_CLIP &&
120 aicon==scr->clip_icon) {
121 diff -Naur WindowMaker-0.63.1/src/icon.c WindowMaker-0.63.1-p/src/icon.c
122 --- WindowMaker-0.63.1/src/icon.c Sat Jan 6 22:28:02 2001
123 +++ WindowMaker-0.63.1-p/src/icon.c Mon Jan 8 12:15:41 2001
125 int dx=event->xbutton.x, dy=event->xbutton.y;
127 int clickButton=event->xbutton.button;
130 if (WCHECK_STATE(WSTATE_MODAL))
133 wwarning("pointer grab failed for icon move");
138 WMMaskEvent(dpy, PointerMotionMask|ButtonReleaseMask|ButtonPressMask
139 |ButtonMotionMask|ExposureMask, &ev);
146 if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
147 || abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
150 if (wPreferences.auto_arrange_icons)
151 wArrangeIcons(wwin->screen_ptr, True);
152 + if (!hasMoved && wPreferences.single_click) {
153 + miniwindowDblClick(desc, event);