1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 21:08:08 +01:00
This commit is contained in:
id
2000-11-23 10:15:21 +00:00
parent 80d5d196c1
commit a9b75e03e2
2 changed files with 10 additions and 84 deletions

View File

@@ -998,6 +998,7 @@ handleEnterNotify(XEvent *event)
#endif
#ifdef VIRTUAL_DESKTOP
/* TODO: acceleration code */
if (wPreferences.vedge_thickness) {
int x,y;
if (event->xcrossing.window == scr->virtual_edge_r) {

View File

@@ -640,6 +640,11 @@ wWorkspaceForceChange(WScreen *scr, int workspace)
}
#ifdef VIRTUAL_DESKTOP
/* TODO:
* 1) Allow border around each window so the scrolling
* won't just stop at the border.
* 2) Make pager.
*/
void wWorkspaceManageEdge(WScreen *scr)
{
@@ -708,16 +713,12 @@ void updateWorkspaceGeometry(WScreen *scr, int workspace, int *view_x, int *view
most_bottom = scr->scr_height;
most_left = 0;
most_top = 0;
for(;wwin; wwin = wwin->prev) {
if (wwin->frame->workspace == workspace) {
if (!wwin->flags.miniaturized
&& !wwin->flags.hidden) {
if (wwin->frame_x < most_left) { /* record positions, should this be cached? */
most_left = wwin->frame_x;
/*
printf("most_left is set to %d %d %d %d\n", wwin->frame_x, wwin->frame_y, wwin->frame->core->width, wwin->frame->core->height);
*/
}
if ((int)wwin->frame_x + (int)wwin->frame->core->width > most_right) {
most_right = wwin->frame_x + wwin->frame->core->width;
@@ -727,9 +728,6 @@ void updateWorkspaceGeometry(WScreen *scr, int workspace, int *view_x, int *view
}
if (wwin->frame_y + wwin->frame->core->height > most_bottom) {
most_bottom = wwin->frame_y + wwin->frame->core->height;
/*
printf("most_bottom is set to %d %d %d %d\n", wwin->frame_x, wwin->frame_y, wwin->frame->core->width, wwin->frame->core->height);
*/
}
}
}
@@ -737,18 +735,6 @@ void updateWorkspaceGeometry(WScreen *scr, int workspace, int *view_x, int *view
scr->workspaces[workspace]->width = WMAX(most_right, scr->scr_width) - WMIN(most_left, 0);
scr->workspaces[workspace]->height = WMAX(most_bottom, scr->scr_height) - WMIN(most_top, 0);
/*
printf("-t%d b%d l%d r%d -- %d %d %d\n", most_top, most_bottom, most_left, most_right,
scr->workspaces[workspace]->view_x, *view_x,
scr->workspaces[workspace]->width);
*/
/*
if (most_left + scr->workspaces[workspace]->view_x < 0) {
printf("-t%d b%d l%d r%d -- %d %d %d\n", most_top, most_bottom, most_left, most_right,
scr->workspaces[workspace]->view_x, *view_x,
scr->workspaces[workspace]->width);
*/
*view_x += -most_left - scr->workspaces[workspace]->view_x;
scr->workspaces[workspace]->view_x = -most_left;
@@ -756,49 +742,6 @@ void updateWorkspaceGeometry(WScreen *scr, int workspace, int *view_x, int *view
*view_y += -most_top - scr->workspaces[workspace]->view_y;
scr->workspaces[workspace]->view_y = -most_top;
/*
printf("-t%d b%d l%d r%d -- %d %d %d\n", most_top, most_bottom, most_left, most_right,
scr->workspaces[workspace]->view_x, *view_x,
scr->workspaces[workspace]->width);
} else if (scr->workspaces[workspace]->view_x > 0 && most_left > 0) {
*view_x -= scr->workspaces[workspace]->view_x;
scr->workspaces[workspace]->view_x = 0;
}*/
/*
if (*view_x < 0) {
*view_x = 0;
}
if (*view_x > scr->workspaces[workspace]->width - scr->scr_width) {
*view_x = scr->workspaces[workspace]->width - scr->scr_width;
}
printf("-t%d b%d l%d r%d -- %d %d %d\n", most_top, most_bottom, most_left, most_right,
scr->workspaces[workspace]->view_x, *view_x,
scr->workspaces[workspace]->width);
*/
/*
if (most_top + scr->workspaces[workspace]->view_y < 0) {
scr->workspaces[workspace]->height -= scr->workspaces[workspace]->view_y + most_top;
*view_y += -most_top - scr->workspaces[workspace]->view_y;
scr->workspaces[workspace]->view_y = -most_top;
} else if (scr->workspaces[workspace]->view_y > 0) {
scr->workspaces[workspace]->height -= scr->workspaces[workspace]->view_y;
*view_y -= scr->workspaces[workspace]->view_y;
scr->workspaces[workspace]->view_y = 0;
}
if (most_bottom + scr->workspaces[workspace]->view_y > scr->scr_height) {
scr->workspaces[workspace]->height = most_bottom + scr->workspaces[workspace]->view_y;
} else if (most_bottom < scr->scr_height) {
scr->workspaces[workspace]->height = scr->workspaces[workspace]->view_y + scr->scr_height;
}
if (*view_y < 0) {
*view_y = 0;
}
if (*view_y > scr->workspaces[workspace]->height - scr->scr_height) {
*view_y = scr->workspaces[workspace]->height - scr->scr_height;
}
*/
}
Bool wWorkspaceSetViewPort(WScreen *scr, int workspace, int view_x, int view_y)
@@ -828,24 +771,6 @@ Bool wWorkspaceSetViewPort(WScreen *scr, int workspace, int view_x, int view_y)
view_y = 0;
}
/*
if (view_x < 0) {
view_x = 0;
adjust_flag = True;
} else if (view_x > scr->workspaces[workspace]->width - scr->scr_width) {
view_x = scr->workspaces[workspace]->width - scr->scr_width;
adjust_flag = True;
}
if (view_y < 0) {
view_y = 0;
adjust_flag = True;
} else if (view_y > scr->workspaces[workspace]->height - scr->scr_height) {
view_y = scr->workspaces[workspace]->height - scr->scr_height;
adjust_flag = True;
}
*/
diff_x = scr->workspaces[workspace]->view_x - view_x;
diff_y = scr->workspaces[workspace]->view_y - view_y;
if (!diff_x && !diff_y)