1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 04:20:27 +01:00

0.51.1 pre snapshot. Be careful, it may be buggy. It fixes some bugs though.

This commit is contained in:
dan
1999-02-17 11:06:40 +00:00
parent 931a37b124
commit e7495baff7
189 changed files with 16952 additions and 9682 deletions

View File

@@ -41,7 +41,11 @@ typedef struct _Panel {
WMSlider *vsli;
WMSlider *hsli;
WMFrame *resF;
WMSlider *resS;
WMLabel *resL;
WMFrame *maxiF;
WMButton *miconB;
WMButton *mdockB;
@@ -93,9 +97,31 @@ sliderCallback(WMWidget *w, void *data)
}
static void
resistanceCallback(WMWidget *w, void *data)
{
_Panel *panel = (_Panel*)data;
char buffer[64];
int i;
i = WMGetSliderValue(panel->resS);
if (i == 0)
WMSetLabelText(panel->resL, "OFF");
else {
sprintf(buffer, "%i", i);
WMSetLabelText(panel->resL, buffer);
}
}
static int
getPlacement(char *str)
{
if (!str)
return 0;
if (strcasecmp(str, "auto")==0 || strcasecmp(str, "smart")==0)
return 0;
else if (strcasecmp(str, "random")==0)
@@ -139,7 +165,11 @@ showData(_Panel *panel)
WMSetSliderValue(panel->vsli, y);
sliderCallback(NULL, panel);
x = GetIntegerForKey("EdgeResistance");
WMSetSliderValue(panel->resS, x);
resistanceCallback(NULL, panel);
WMSetButtonSelected(panel->tranB, GetBoolForKey("OpenTransientOnOwnerWorkspace"));
WMSetButtonSelected(panel->opaqB, GetBoolForKey("OpaqueMove"));
@@ -166,6 +196,7 @@ storeData(_Panel *panel)
sprintf(y, "%i", WMGetSliderValue(panel->vsli));
arr = PLMakeArrayFromElements(PLMakeString(x), PLMakeString(y), NULL);
SetObjectForKey(arr, "WindowPlaceOrigin");
SetIntegerForKey(WMGetSliderValue(panel->resS), "EdgeResistance");
PLRelease(arr);
}
@@ -187,27 +218,27 @@ createPanel(Panel *p)
/************** Window Placement ***************/
panel->placF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->placF, 270, 150);
WMMoveWidget(panel->placF, 20, 15);
WMResizeWidget(panel->placF, 270, 110);
WMMoveWidget(panel->placF, 20, 10);
WMSetFrameTitle(panel->placF, _("Window Placement"));
panel->placP = WMCreatePopUpButton(panel->placF);
WMResizeWidget(panel->placP, 195, 20);
WMMoveWidget(panel->placP, 35, 20);
WMResizeWidget(panel->placP, 120, 20);
WMMoveWidget(panel->placP, 15, 20);
WMAddPopUpButtonItem(panel->placP, _("Automatic"));
WMAddPopUpButtonItem(panel->placP, _("Random"));
WMAddPopUpButtonItem(panel->placP, _("Manual"));
WMAddPopUpButtonItem(panel->placP, _("Cascade"));
panel->porigL = WMCreateLabel(panel->placF);
WMResizeWidget(panel->porigL, 118, 32);
WMMoveWidget(panel->porigL, 5, 60);
WMResizeWidget(panel->porigL, 138, 32);
WMMoveWidget(panel->porigL, 5, 45);
WMSetLabelTextAlignment(panel->porigL, WACenter);
WMSetLabelText(panel->porigL, _("Placement Origin"));
panel->porigvL = WMCreateLabel(panel->placF);
WMResizeWidget(panel->porigvL, 70, 20);
WMMoveWidget(panel->porigvL, 25, 95);
WMResizeWidget(panel->porigvL, 80, 20);
WMMoveWidget(panel->porigvL, 30, 75);
WMSetLabelTextAlignment(panel->porigvL, WACenter);
color = WMCreateRGBColor(scr, 0x5100, 0x5100, 0x7100, True);
@@ -219,16 +250,16 @@ createPanel(Panel *p)
swidth = WidthOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
sheight = HeightOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
if (120*sheight/swidth < 80*swidth/sheight) {
width = 80*swidth/sheight;
height = 80;
if (120*sheight/swidth < 70*swidth/sheight) {
width = 70*swidth/sheight;
height = 70;
} else {
height = 120*sheight/swidth;
width = 120;
}
WMResizeWidget(panel->porigF, width, height);
WMMoveWidget(panel->porigF, 125+(120-width)/2, 45+(80-height)/2);
WMMoveWidget(panel->porigF, 135+(120-width)/2, 20+(70-height)/2);
panel->porigW = WMCreateLabel(panel->porigF);
WMResizeWidget(panel->porigW, THUMB_SIZE, THUMB_SIZE);
WMMoveWidget(panel->porigW, 2, 2);
@@ -237,14 +268,14 @@ createPanel(Panel *p)
panel->hsli = WMCreateSlider(panel->placF);
WMResizeWidget(panel->hsli, width, 12);
WMMoveWidget(panel->hsli, 125+(120-width)/2, 45+(80-height)/2+height+2);
WMMoveWidget(panel->hsli, 135+(120-width)/2, 20+(70-height)/2+height+2);
WMSetSliderAction(panel->hsli, sliderCallback, panel);
WMSetSliderMinValue(panel->hsli, 0);
WMSetSliderMaxValue(panel->hsli, swidth);
panel->vsli = WMCreateSlider(panel->placF);
WMResizeWidget(panel->vsli, 12, height);
WMMoveWidget(panel->vsli, 125+(120-width)/2+width+2, 45+(80-height)/2);
WMMoveWidget(panel->vsli, 135+(120-width)/2+width+2, 20+(70-height)/2);
WMSetSliderAction(panel->vsli, sliderCallback, panel);
WMSetSliderMinValue(panel->vsli, 0);
WMSetSliderMaxValue(panel->vsli, sheight);
@@ -255,13 +286,13 @@ createPanel(Panel *p)
/************** Opaque Move ***************/
panel->opaqF = WMCreateFrame(panel->frame);
WMMoveWidget(panel->opaqF, 300, 15);
WMResizeWidget(panel->opaqF, 205, 125);
WMResizeWidget(panel->opaqF, 205, 110);
WMMoveWidget(panel->opaqF, 300, 10);
WMSetFrameTitle(panel->opaqF, _("Opaque Move"));
panel->opaqB = WMCreateButton(panel->opaqF, WBTToggle);
WMResizeWidget(panel->opaqB, 64, 64);
WMMoveWidget(panel->opaqB, 70, 35);
WMMoveWidget(panel->opaqB, 70, 25);
WMSetButtonImagePosition(panel->opaqB, WIPImageOnly);
path = LocateImage(NON_OPAQUE_MOVE_PIXMAP);
@@ -291,33 +322,53 @@ createPanel(Panel *p)
/**************** Account for Icon/Dock ***************/
panel->maxiF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->maxiF, 205, 70);
WMMoveWidget(panel->maxiF, 300, 145);
WMResizeWidget(panel->maxiF, 205, 95);
WMMoveWidget(panel->maxiF, 300, 125);
WMSetFrameTitle(panel->maxiF, _("When maximizing..."));
panel->miconB = WMCreateSwitchButton(panel->maxiF);
WMResizeWidget(panel->miconB, 185, 20);
WMMoveWidget(panel->miconB, 10, 15);
WMSetButtonText(panel->miconB, _("...do not resize over icons"));
WMResizeWidget(panel->miconB, 185, 30);
WMMoveWidget(panel->miconB, 10, 18);
WMSetButtonText(panel->miconB, _("...do not cover icons"));
panel->mdockB = WMCreateSwitchButton(panel->maxiF);
WMResizeWidget(panel->mdockB, 185, 20);
WMMoveWidget(panel->mdockB, 10, 40);
WMResizeWidget(panel->mdockB, 185, 30);
WMMoveWidget(panel->mdockB, 10, 53);
WMSetButtonText(panel->mdockB, _("...do not resize over dock"));
WMSetButtonText(panel->mdockB, _("...do not cover dock"));
WMMapSubwidgets(panel->maxiF);
/**************** Transients On Top ****************/
/**************** Edge Resistance ****************/
panel->resF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->resF, 270, 45);
WMMoveWidget(panel->resF, 20, 125);
WMSetFrameTitle(panel->resF, _("Edge Resistance"));
panel->resS = WMCreateSlider(panel->resF);
WMResizeWidget(panel->resS, 200, 15);
WMMoveWidget(panel->resS, 10, 20);
WMSetSliderMinValue(panel->resS, 0);
WMSetSliderMaxValue(panel->resS, 200);
WMSetSliderAction(panel->resS, resistanceCallback, panel);
panel->resL = WMCreateLabel(panel->resF);
WMResizeWidget(panel->resL, 40, 15);
WMMoveWidget(panel->resL, 220, 20);
WMMapSubwidgets(panel->resF);
/**************** Transients on Parent Workspace ****************/
panel->tranF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->tranF, 270, 40);
WMMoveWidget(panel->tranF, 20, 175);
WMMoveWidget(panel->tranF, 20, 180);
panel->tranB = WMCreateSwitchButton(panel->tranF);
WMMoveWidget(panel->tranB, 10, 5);
WMResizeWidget(panel->tranB, 250, 30);
WMSetButtonText(panel->tranB, _("Open transients in same workspace as their owners"));
WMSetButtonText(panel->tranB, _("Open dialogs in same workspace as their owners"));
WMMapSubwidgets(panel->tranF);