1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00
Files
wmaker/contrib/single_click.diff
kojima c2434e8925 added contrib/ directory, updated WPrefs and wmsetbg for smoothed
backgrounds, added GNUstep info panel, added patch for
saving menu position state
1999-05-01 17:44:43 +00:00

362 lines
10 KiB
Diff

diff -rc WindowMaker-0.52.0.ori/WPrefs.app/Appearance.c WindowMaker-0.52.0/WPrefs.app/Appearance.c
*** WindowMaker-0.52.0.ori/WPrefs.app/Appearance.c Mon Mar 22 12:16:49 1999
--- WindowMaker-0.52.0/WPrefs.app/Appearance.c Wed Apr 21 08:24:11 1999
***************
*** 1286,1315 ****
setupTextureFor(panel->texLs, "FTitleBack", "(solid, black)",
"[Focused]", i);
! panel->textureIndex[i] = i++;
setupTextureFor(panel->texLs, "UTitleBack", "(solid, gray)",
"[Unfocused]", i);
! panel->textureIndex[i] = i++;
setupTextureFor(panel->texLs, "PTitleBack", "(solid, \"#616161\")",
"[Owner of Focused]", i);
! panel->textureIndex[i] = i++;
setupTextureFor(panel->texLs, "MenuTitleBack", "(solid, black)",
"[Menu Title]", i);
! panel->textureIndex[i] = i++;
setupTextureFor(panel->texLs, "MenuTextBack", "(solid, gray)",
"[Menu Item]", i);
! panel->textureIndex[i] = i++;
setupTextureFor(panel->texLs, "IconBack", "(solid, gray)", "[Icon]", i);
! panel->textureIndex[i] = i++;
/*
setupTextureFor(panel->texLs, "WorkspaceBack", "(solid, black)",
"[Workspace]", i);
! panel->textureIndex[i] = i++;
*/
updatePreviewBox(panel, EVERYTHING);
--- 1286,1315 ----
setupTextureFor(panel->texLs, "FTitleBack", "(solid, black)",
"[Focused]", i);
! panel->textureIndex[i++] = i;
setupTextureFor(panel->texLs, "UTitleBack", "(solid, gray)",
"[Unfocused]", i);
! panel->textureIndex[i++] = i;
setupTextureFor(panel->texLs, "PTitleBack", "(solid, \"#616161\")",
"[Owner of Focused]", i);
! panel->textureIndex[i++] = i;
setupTextureFor(panel->texLs, "MenuTitleBack", "(solid, black)",
"[Menu Title]", i);
! panel->textureIndex[i++] = i;
setupTextureFor(panel->texLs, "MenuTextBack", "(solid, gray)",
"[Menu Item]", i);
! panel->textureIndex[i++] = i;
setupTextureFor(panel->texLs, "IconBack", "(solid, gray)", "[Icon]", i);
! panel->textureIndex[i++] = i;
/*
setupTextureFor(panel->texLs, "WorkspaceBack", "(solid, black)",
"[Workspace]", i);
! panel->textureIndex[i++] = i;
*/
updatePreviewBox(panel, EVERYTHING);
diff -rc WindowMaker-0.52.0.ori/WPrefs.app/Expert.c WindowMaker-0.52.0/WPrefs.app/Expert.c
*** WindowMaker-0.52.0.ori/WPrefs.app/Expert.c Thu Mar 18 17:39:22 1999
--- WindowMaker-0.52.0/WPrefs.app/Expert.c Thu Apr 15 09:02:54 1999
***************
*** 31,37 ****
WMWindow *win;
! WMButton *swi[5];
} _Panel;
--- 31,37 ----
WMWindow *win;
! WMButton *swi[6];
} _Panel;
***************
*** 50,55 ****
--- 50,56 ----
WMSetButtonSelected(panel->swi[2], GetBoolForKey("SaveSessionOnExit"));
WMSetButtonSelected(panel->swi[3], GetBoolForKey("UseSaveUnders"));
WMSetButtonSelected(panel->swi[4], GetBoolForKey("DisableBlinking"));
+ WMSetButtonSelected(panel->swi[5], GetBoolForKey("SingleClickLaunch"));
}
***************
*** 63,69 ****
WMResizeWidget(panel->frame, FRAME_WIDTH, FRAME_HEIGHT);
WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);
! for (i=0; i<5; i++) {
panel->swi[i] = WMCreateSwitchButton(panel->frame);
WMResizeWidget(panel->swi[i], FRAME_WIDTH-40, 25);
WMMoveWidget(panel->swi[i], 20, 20+i*25);
--- 64,70 ----
WMResizeWidget(panel->frame, FRAME_WIDTH, FRAME_HEIGHT);
WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);
! for (i=0; i<6; i++) {
panel->swi[i] = WMCreateSwitchButton(panel->frame);
WMResizeWidget(panel->swi[i], FRAME_WIDTH-40, 25);
WMMoveWidget(panel->swi[i], 20, 20+i*25);
***************
*** 74,79 ****
--- 75,81 ----
WMSetButtonText(panel->swi[2], _("Automatically save session when exiting WindowMaker"));
WMSetButtonText(panel->swi[3], _("Use SaveUnder in window frames, icons, menus and other objects"));
WMSetButtonText(panel->swi[4], _("Disable cycling color highlighting of icons."));
+ WMSetButtonText(panel->swi[5], _("Launch applications and restore windows with a single click"));
WMRealizeWidget(panel->frame);
WMMapSubwidgets(panel->frame);
***************
*** 94,99 ****
--- 96,102 ----
SetBoolForKey(WMGetButtonSelected(panel->swi[2]), "SaveSessionOnExit");
SetBoolForKey(WMGetButtonSelected(panel->swi[3]), "UseSaveUnders");
SetBoolForKey(WMGetButtonSelected(panel->swi[4]), "DisableBlinking");
+ SetBoolForKey(WMGetButtonSelected(panel->swi[5]), "SingleClickLaunch");
}
diff -rc WindowMaker-0.52.0.ori/src/WindowMaker.h WindowMaker-0.52.0/src/WindowMaker.h
*** WindowMaker-0.52.0.ori/src/WindowMaker.h Mon Mar 22 12:16:50 1999
--- WindowMaker-0.52.0/src/WindowMaker.h Wed Apr 14 10:35:40 1999
***************
*** 348,353 ****
--- 348,356 ----
/* shading animation */
char shade_speed;
+ /* single click to lauch applications */
+ char single_click;
+
int edge_resistance;
struct {
diff -rc WindowMaker-0.52.0.ori/src/appicon.c WindowMaker-0.52.0/src/appicon.c
*** WindowMaker-0.52.0.ori/src/appicon.c Thu Apr 1 12:33:57 1999
--- WindowMaker-0.52.0/src/appicon.c Wed Apr 14 10:38:03 1999
***************
*** 710,715 ****
--- 710,716 ----
int shad_x = 0, shad_y = 0, docking=0, dockable, collapsed = 0;
int ix, iy;
int clickButton = event->xbutton.button;
+ Bool hasMoved;
Pixmap ghost = None;
if (aicon->editing || WCHECK_STATE(WSTATE_MODAL))
***************
*** 758,763 ****
--- 759,765 ----
dockable = canBeDocked(icon->owner);
+ hasMoved = False;
while (!done) {
WMMaskEvent(dpy, PointerMotionMask|ButtonReleaseMask|ButtonPressMask
|ButtonMotionMask|ExposureMask, &ev);
***************
*** 767,772 ****
--- 769,775 ----
break;
case MotionNotify:
+ hasMoved = True;
if (!grabbed) {
if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
|| abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
***************
*** 917,922 ****
--- 920,928 ----
XSetWindowBackground(dpy, scr->dock_shadow, scr->white_pixel);
}
done = 1;
+ if (!hasMoved && wPreferences.single_click) {
+ iconDblClick(desc, event);
+ }
break;
}
}
diff -rc WindowMaker-0.52.0.ori/src/defaults.c WindowMaker-0.52.0/src/defaults.c
*** WindowMaker-0.52.0.ori/src/defaults.c Mon Mar 22 12:16:51 1999
--- WindowMaker-0.52.0/src/defaults.c Wed Apr 14 10:54:24 1999
***************
*** 445,450 ****
--- 445,453 ----
{"DisableBlinking", "NO", NULL,
&wPreferences.dont_blink, getBool, NULL
},
+ {"SingleClickLaunch", "NO", NULL,
+ &wPreferences.single_click, getBool, NULL
+ },
#ifdef WEENDOZE_CYCLE
{"WindozeCycling","NO", NULL,
&wPreferences.windoze_cycling, getBool, NULL
diff -rc WindowMaker-0.52.0.ori/src/dock.c WindowMaker-0.52.0/src/dock.c
*** WindowMaker-0.52.0.ori/src/dock.c Mon Mar 22 12:16:51 1999
--- WindowMaker-0.52.0/src/dock.c Wed Apr 14 10:37:30 1999
***************
*** 3484,3490 ****
! static void
handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event)
{
WScreen *scr = dock->screen_ptr;
--- 3484,3490 ----
! static int
handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event)
{
WScreen *scr = dock->screen_ptr;
***************
*** 3499,3507 ****
int ix = aicon->xindex, iy = aicon->yindex;
int tmp;
Pixmap ghost = None;
! Bool docked;
int superfluous = wPreferences.superfluous; /* we catch it to avoid problems */
if (wPreferences.flags.noupdates)
return;
--- 3499,3508 ----
int ix = aicon->xindex, iy = aicon->yindex;
int tmp;
Pixmap ghost = None;
! Bool docked, hasMoved;
int superfluous = wPreferences.superfluous; /* we catch it to avoid problems */
+ hasMoved = False;
if (wPreferences.flags.noupdates)
return;
***************
*** 3551,3556 ****
--- 3552,3558 ----
break;
case MotionNotify:
+ hasMoved = True;
if (!grabbed) {
if (abs(ofs_x-ev.xmotion.x)>=MOVE_THRESHOLD
|| abs(ofs_y-ev.xmotion.y)>=MOVE_THRESHOLD) {
***************
*** 3690,3696 ****
#ifdef DEBUG
puts("End icon move");
#endif
! return;
}
}
}
--- 3692,3701 ----
#ifdef DEBUG
puts("End icon move");
#endif
! if (!hasMoved) {
! return 1;
! }
! return 0;
}
}
}
***************
*** 3807,3813 ****
XUnmapWindow(dpy, scr->clip_balloon);
scr->flags.clip_balloon_mapped = 0;
}
!
#ifdef DEBUG
puts("handling dock");
#endif
--- 3812,3818 ----
XUnmapWindow(dpy, scr->clip_balloon);
scr->flags.clip_balloon_mapped = 0;
}
!
#ifdef DEBUG
puts("handling dock");
#endif
***************
*** 3830,3836 ****
else
handleDockMove(dock, aicon, event);
} else
! handleIconMove(dock, aicon, event);
} else if (event->xbutton.button==Button2 && dock->type==WM_CLIP &&
aicon->xindex==0 && aicon->yindex==0) {
--- 3835,3843 ----
else
handleDockMove(dock, aicon, event);
} else
! if (handleIconMove(dock, aicon, event) != 0 &&
! wPreferences.single_click)
! iconDblClick(desc, event);
} else if (event->xbutton.button==Button2 && dock->type==WM_CLIP &&
aicon->xindex==0 && aicon->yindex==0) {
diff -rc WindowMaker-0.52.0.ori/src/icon.c WindowMaker-0.52.0/src/icon.c
*** WindowMaker-0.52.0.ori/src/icon.c Thu Mar 18 17:39:39 1999
--- WindowMaker-0.52.0/src/icon.c Wed Apr 14 10:37:02 1999
***************
*** 809,814 ****
--- 809,815 ----
int dx=event->xbutton.x, dy=event->xbutton.y;
int grabbed=0;
int clickButton=event->xbutton.button;
+ Bool hasMoved;
if (WCHECK_STATE(WSTATE_MODAL))
return;
***************
*** 851,856 ****
--- 852,858 ----
wwarning("pointer grab failed for icon move");
#endif
}
+ hasMoved = False;
while(1) {
WMMaskEvent(dpy, PointerMotionMask|ButtonReleaseMask|ButtonPressMask
|ButtonMotionMask|ExposureMask, &ev);
***************
*** 860,865 ****
--- 862,868 ----
break;
case MotionNotify:
+ hasMoved = True;
if (!grabbed) {
if (abs(dx-ev.xmotion.x)>=MOVE_THRESHOLD
|| abs(dy-ev.xmotion.y)>=MOVE_THRESHOLD) {
***************
*** 897,902 ****
--- 900,908 ----
if (wPreferences.auto_arrange_icons)
wArrangeIcons(wwin->screen_ptr, True);
+ if (!hasMoved && wPreferences.single_click) {
+ miniwindowDblClick(desc, event);
+ }
return;
}