Thu Sep 16 12:04:54 PDT 1999

(Raster)

added patch to fix some behavior of raiselower

fixed pager starting up shaded problem

fixed iconfiicaton of thing son other desktops problem


SVN revision: 289
This commit is contained in:
Carsten Haitzler 1999-09-16 18:26:02 +00:00
parent ee338e1974
commit fc6eb2eef3
9 changed files with 115 additions and 41 deletions

View File

@ -1813,3 +1813,14 @@ Wed Sep 15 19:09:52 PDT 1999
(Mandrake)
syncing kde code
-------------------------------------------------------------------------------
Thu Sep 16 12:04:54 PDT 1999
(Raster)
added patch to fix some behavior of raiselower
fixed pager starting up shaded problem
fixed iconfiicaton of thing son other desktops problem

13
src/E.h
View File

@ -442,8 +442,9 @@ int Esnprintf(va_alist);
#define ACTION_LOWER_NG 94
#define ACTION_STICK_NG 95
#define ACTION_SHADE_NG 96
#define ACTION_RAISE_LOWER_NG 97
/* false number excluding the above list */
#define ACTION_NUMBEROF 97
#define ACTION_NUMBEROF 98
#define MODE_NONE 0
#define MODE_MOVE 1
@ -1971,7 +1972,6 @@ int doResizeH(void *params);
int doResizeV(void *params);
int doResizeEnd(void *params);
int doMoveEnd(void *params);
int doMoveEndNoGroup(void *params);
int doRaise(void *params);
int doRaiseNoGroup(void *params);
int doLower(void *params);
@ -2052,20 +2052,13 @@ int doConfigure(void *params);
int doInsertKeys(void *params);
int doCreateIconbox(void *params);
int doRaiseLower(void *params);
int doRaiseLowerNoGroup(void *params);
int doStartGroup(void *params);
int doAddToGroup(void *params);
int doRemoveFromGroup(void *params);
int doBreakGroup(void *params);
int doShowHideGroup(void *params);
int doZoom(void *params);
int doSetWindowBorderNoGroup(void *params);
int doIconifyNoGoup(void *params);
int doKillNoGroup(void *params);
int doMoveNoGroup(void *params);
int doRaiseNoGroup(void *params);
int doLowerNoGroup(void *params);
int doStickNoGroup(void *params);
int doShadeNoGroup(void *params);
int initFunctionArray(void);
void GrabActionKey(Action * a);

View File

@ -3378,12 +3378,29 @@ doCreateIconbox(void *params)
EDBUG_RETURN(0);
}
static int
FindEwinInList(EWin * ewin, EWin ** gwins, int num)
{
int i;
if (ewin && gwins)
{
for (i = 0; i < num; i++)
{
if (ewin == gwins[i])
return 1;
}
}
return 0;
}
int
doRaiseLower(void *params)
{
EWin *ewin;
EWin **gwins;
int i, num, j;
int i, num, j, raise = 0;
EDBUG(6, "doRaiseLower");
if (InZoom())
@ -3397,7 +3414,7 @@ doRaiseLower(void *params)
if (!ewin)
EDBUG_RETURN(0);
gwins = ListWinGroupMembersForEwin(ewin, ACTION_NONE, 0, &num);
gwins = ListWinGroupMembersForEwin(ewin, ACTION_RAISE_LOWER, mode.nogroup, &num);
for (j = 0; j < num; j++)
{
ewin = gwins[j];
@ -3405,28 +3422,49 @@ doRaiseLower(void *params)
{
for (i = 0; i < desks.desk[ewin->desktop].num - 1; i++)
{
if (desks.desk[ewin->desktop].list[i]->layer == ewin->layer)
if (desks.desk[ewin->desktop].list[i]->layer == ewin->layer &&
(desks.desk[ewin->desktop].list[i] == ewin ||
!FindEwinInList(desks.desk[ewin->desktop].list[i], gwins, num)))
{
if (desks.desk[ewin->desktop].list[i] == ewin)
{
AUDIO_PLAY("SOUND_LOWER");
LowerEwin(ewin);
}
else
{
AUDIO_PLAY("SOUND_RAISE");
RaiseEwin(ewin);
}
i = desks.desk[ewin->desktop].num;
if (desks.desk[ewin->desktop].list[i] != ewin)
raise = 1;
j = num;
break;
}
}
}
}
if (!raise)
{
AUDIO_PLAY("SOUND_LOWER");
for (j = 0; j < num; j++)
LowerEwin(gwins[j]);
}
else
{
AUDIO_PLAY("SOUND_RAISE");
for (j = 0; j < num; j++)
RaiseEwin(gwins[j]);
}
Efree(gwins);
EDBUG_RETURN(0);
}
int
doRaiseLowerNoGroup(void *params)
{
int result;
mode.nogroup = 1;
result = doRaiseLower(params);
mode.nogroup = 0;
return result;
}
int
doShowHideGroup(void *params)
{
@ -3681,6 +3719,7 @@ initFunctionArray(void)
ActionFunctions[ACTION_LOWER_NG] = (int (*)(void *))(doLowerNoGroup);
ActionFunctions[ACTION_STICK_NG] = (int (*)(void *))(doStickNoGroup);
ActionFunctions[ACTION_SHADE_NG] = (int (*)(void *))(doShadeNoGroup);
ActionFunctions[ACTION_RAISE_LOWER_NG] = (int (*)(void *))(doRaiseLowerNoGroup);
EDBUG_RETURN(0);
}

View File

@ -2582,6 +2582,7 @@ ShadeEwin(EWin * ewin)
struct timeval timev1, timev2;
int dsec, dusec;
double tm;
char pq;
EDBUG(4, "ShadeEwin");
@ -2596,6 +2597,7 @@ ShadeEwin(EWin * ewin)
EDBUG_RETURN_;
if ((ewin->border) && (!strcmp(ewin->border->name, "BORDERLESS")))
EDBUG_RETURN_;
pq = queue_up;
queue_up = 0;
speed = mode.shadespeed;
spd = 32;
@ -2826,7 +2828,7 @@ ShadeEwin(EWin * ewin)
EShapeCombineShape(disp, ewin->win_container, ShapeBounding, 0, 0,
ewin->client.win, ShapeBounding, ShapeSet);
PropagateShapes(ewin->win);
queue_up = 1;
queue_up = pq;
GNOME_SetHint(ewin);
if (mode.mode == MODE_NONE)
{
@ -2845,12 +2847,14 @@ UnShadeEwin(EWin * ewin)
struct timeval timev1, timev2;
int dsec, dusec;
double tm;
char pq;
EDBUG(4, "UnShadeEwin");
if (GetZoomEWin() == ewin)
EDBUG_RETURN_;
if (!ewin->shaded)
EDBUG_RETURN_;
pq = queue_up;
queue_up = 0;
speed = mode.shadespeed;
spd = 32;
@ -3102,12 +3106,11 @@ UnShadeEwin(EWin * ewin)
break;
}
UngrabX();
queue_up = 0;
if (ewin->client.shaped)
EShapeCombineShape(disp, ewin->win_container, ShapeBounding, 0, 0,
ewin->client.win, ShapeBounding, ShapeSet);
PropagateShapes(ewin->win);
queue_up = 1;
queue_up = pq;
GNOME_SetHint(ewin);
if (mode.mode == MODE_NONE)
{

View File

@ -2300,6 +2300,9 @@ HandleMouseUp(XEvent * ev)
UpdateAppIcon(p->hi_ewin, ewin->ibox->icon_mode);
}
HideEwin(p->hi_ewin);
MoveEwin(p->hi_ewin,
pwin_px + ((desks.desk[p->hi_ewin->desktop].current_area_x) - p->hi_ewin->area_x) * root.w,
pwin_py + ((desks.desk[p->hi_ewin->desktop].current_area_y) - p->hi_ewin->area_y) * root.h);
if (was_shaded != p->hi_ewin->shaded)
InstantShadeEwin(p->hi_ewin);
AddEwinToIconbox(ewin->ibox, p->hi_ewin);

View File

@ -292,6 +292,7 @@ ListWinGroupMembersForEwin(EWin * ewin, int action, char nogroup, int *num)
break;
case ACTION_RAISE:
case ACTION_LOWER:
case ACTION_RAISE_LOWER:
if (!ewin->groups[i]->cfg.raise)
daddy_says_no_no = 1;
break;

View File

@ -124,6 +124,9 @@ IconifyEwin(EWin * ewin)
UpdateAppIcon(ewin, ib->icon_mode);
}
HideEwin(ewin);
MoveEwin(ewin,
ewin->x + ((desks.desk[ewin->desktop].current_area_x) - ewin->area_x) * root.w,
ewin->y + ((desks.desk[ewin->desktop].current_area_y) - ewin->area_y) * root.h);
if (was_shaded != ewin->shaded)
InstantShadeEwin(ewin);
MakeIcon(ewin);
@ -340,7 +343,10 @@ ShowIconbox(Iconbox * ib)
EWin *ewin = NULL;
XClassHint *xch;
XTextProperty xtp;
char pq;
pq = queue_up;
queue_up = 0;
xtp.encoding = XA_STRING;
xtp.format = 8;
xtp.value = (unsigned char *)("Iconbox");
@ -401,8 +407,6 @@ ShowIconbox(Iconbox * ib)
if ((sn->use_shade) && (sn->shade))
InstantUnShadeEwin(ewin);
ResizeEwin(ewin, sn->w, sn->h);
if ((sn->use_shade) && (sn->shade))
InstantShadeEwin(ewin);
if (sn->use_xy)
MoveEwin(ewin, sn->x, sn->y);
}
@ -411,10 +415,13 @@ ShowIconbox(Iconbox * ib)
ConformEwinToDesktop(ewin);
DesktopRemoveEwin(ewin);
DesktopAddEwinToTop(ewin);
if ((sn) && (sn->use_shade) && (sn->shade))
ShadeEwin(ewin);
ShowEwin(ewin);
RememberImportantInfoForEwin(ewin);
}
IconboxResize(ib, ib->ewin->client.w, ib->ewin->client.h);
queue_up = pq;
}
void

View File

@ -577,6 +577,7 @@ PagerShow(Pager * p)
EWin *ewin = NULL;
XClassHint *xch;
char s[64];
char pq;
if (!mode.show_pagers)
return;
@ -591,6 +592,8 @@ PagerShow(Pager * p)
xch->res_class = "Enlightenment_Pager";
XSetClassHint(disp, p->win, xch);
XFree(xch);
pq = queue_up;
queue_up = 0;
if (p->border_name)
ewin = AddInternalToFamily(p->win, 1, p->border_name);
else
@ -626,27 +629,31 @@ PagerShow(Pager * p)
{
if ((sn->use_shade) && (sn->shade))
InstantUnShadeEwin(ewin);
p->w = 0;
p->h = 0;
ResizeEwin(ewin, sn->w, sn->h);
if ((sn->use_shade) && (sn->shade))
InstantShadeEwin(ewin);
PagerRedraw(p, 1);
}
}
/* no snapshots ? first time ? make a row on the bottom left up */
else
MoveEwin(ewin, 0,
root.h - ((mode.numdesktops - p->desktop) * ewin->h));
{
MoveEwin(ewin, 0,
root.h - ((mode.numdesktops - p->desktop) * ewin->h));
/* force a redraw & resize */
pw = p->w;
ph = p->h;
p->w = 0;
p->h = 0;
PagerResize(p, pw, ph);
PagerRedraw(p, 1);
}
ConformEwinToDesktop(ewin);
DesktopAddEwinToTop(ewin);
/* force a redraw & resize */
pw = p->w;
ph = p->h;
p->w = 0;
p->h = 0;
PagerResize(p, pw, ph);
PagerRedraw(p, 1);
/* show the pager ewin */
DesktopRemoveEwin(ewin);
DesktopAddEwinToTop(ewin);
if ((sn) && (sn->use_shade) && (sn->shade))
ShadeEwin(ewin);
ShowEwin(ewin);
RememberImportantInfoForEwin(ewin);
if (SNAP)
@ -655,6 +662,7 @@ PagerShow(Pager * p)
if (mode.pager_scanspeed > 0)
DoIn(s, 1 / ((double)mode.pager_scanspeed), PagerUpdateTimeout, 0, p);
}
queue_up = pq;
AddItem(p, "PAGER", p->win, LIST_TYPE_PAGER);
}
}

View File

@ -315,6 +315,15 @@
#define __A_CREATE_ICONBOX 86
#define __A_RAISE_LOWER 87
#define __A_ZOOM 88
#define __A_SET_WINDOW_BORDER_NG 89
#define __A_ICONIFY_NG 90
#define __A_KILL_NG 91
#define __A_MOVE_NG 92
#define __A_RAISE_NG 93
#define __A_LOWER_NG 94
#define __A_STICK_NG 95
#define __A_SHADE_NG 96
#define __A_RAISE_LOWER_NG 97
#define __MODIFIER_KEY 101
#define __TYPE 102