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

- replaced VirtualEdgeThickness option with EnableVirtualDesktop (boolean)

- some code cleanups in the virtual desktop.
This commit is contained in:
dan
2004-10-24 22:45:06 +00:00
parent 8bf6071c48
commit e3c67d55de
8 changed files with 21 additions and 44 deletions

View File

@@ -3,11 +3,7 @@ Changes since version 0.90.0:
- added _NET_WM_NAME, _NET_WM_ICON_NAME and _NET_WM_ICON to WINGs - added _NET_WM_NAME, _NET_WM_ICON_NAME and _NET_WM_ICON to WINGs
- new WPrefs icon (thanks to Largo) - new WPrefs icon (thanks to Largo)
- fixed virtual desktop to disable the virtual edge on the fly if thickness - replaced VirtualEdgeThickness option, with EnableVirtualDesktop (boolean)
is set to 0.
- fixed virtual desktop to resize the edge on the fly when edge thickness
changes.
- limit VirtualEdgeThickness to values in the 0..10 range
Changes since version 0.80.2: Changes since version 0.80.2:

View File

@@ -418,7 +418,7 @@ typedef struct WPreferences {
char ws_advance; /* Create new workspace and advance */ char ws_advance; /* Create new workspace and advance */
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
unsigned int vedge_thickness; unsigned int vdesk_enable;
unsigned int vedge_bordersize; unsigned int vedge_bordersize;
unsigned int vedge_hscrollspeed; unsigned int vedge_hscrollspeed;
unsigned int vedge_vscrollspeed; unsigned int vedge_vscrollspeed;

View File

@@ -156,7 +156,7 @@ static int setResizebarBack();
static int setWorkspaceBack(); static int setWorkspaceBack();
static int setWorkspaceSpecificBack(); static int setWorkspaceSpecificBack();
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
static int setVirtualEdgeThickness(); static int setVirtualDeskEnable();
#endif #endif
static int setMenuTitleColor(); static int setMenuTitleColor();
static int setMenuTextColor(); static int setMenuTextColor();
@@ -438,8 +438,8 @@ WDefaultEntry optionList[] = {
&wPreferences.workspace_border_size, getInt, updateUsableArea &wPreferences.workspace_border_size, getInt, updateUsableArea
}, },
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
{"VirtualEdgeThickness", "1", NULL, {"EnableVirtualDesktop", "NO", NULL,
&wPreferences.vedge_thickness, getInt, setVirtualEdgeThickness &wPreferences.vdesk_enable, getBool, setVirtualDeskEnable
}, },
{"VirtualEdgeExtendSpace", "0", NULL, {"VirtualEdgeExtendSpace", "0", NULL,
&wPreferences.vedge_bordersize, getInt, NULL &wPreferences.vedge_bordersize, getInt, NULL
@@ -3361,7 +3361,7 @@ setWorkspaceBack(WScreen *scr, WDefaultEntry *entry, WMPropList *value,
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
static int static int
setVirtualEdgeThickness(WScreen *scr, WDefaultEntry *entry, int *value, void *dummy) setVirtualDeskEnable(WScreen *scr, WDefaultEntry *entry, void *foo, void *bar)
{ {
wWorkspaceUpdateEdge(scr); wWorkspaceUpdateEdge(scr);
return 0; return 0;

View File

@@ -1397,10 +1397,10 @@ wShowInfoPanel(WScreen *scr)
} }
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
if (wPreferences.vedge_thickness == 0) if (wPreferences.vdesk_enable)
strbuf = wstrappend(strbuf, _(", VirtualDesktop disabled"));
else
strbuf = wstrappend(strbuf, _(", VirtualDesktop enabled")); strbuf = wstrappend(strbuf, _(", VirtualDesktop enabled"));
else
strbuf = wstrappend(strbuf, _(", VirtualDesktop disabled"));
#endif #endif
#ifdef XINERAMA #ifdef XINERAMA

View File

@@ -1724,7 +1724,7 @@ scrollMenuCallback(void *data)
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
/* don't scroll if it is in vdesk mode */ /* don't scroll if it is in vdesk mode */
if (!wPreferences.vedge_thickness) if (!wPreferences.vdesk_enable)
#endif #endif
getScrollAmount(menu, &hamount, &vamount); getScrollAmount(menu, &hamount, &vamount);
@@ -2033,7 +2033,7 @@ menuMouseDown(WObjDescriptor *desc, XEvent *event)
} }
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
if (wPreferences.vedge_thickness) { if (wPreferences.vdesk_enable) {
wWorkspaceLowerEdge(scr); wWorkspaceLowerEdge(scr);
} }
#endif #endif
@@ -2184,7 +2184,7 @@ menuMouseDown(WObjDescriptor *desc, XEvent *event)
WMHandleEvent(&ev); WMHandleEvent(&ev);
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
/* since expose will raise edge up.. I need another ugly hack here */ /* since expose will raise edge up.. I need another ugly hack here */
if (wPreferences.vedge_thickness) { if (wPreferences.vdesk_enable) {
wWorkspaceLowerEdge(scr); wWorkspaceLowerEdge(scr);
} }
#endif #endif

View File

@@ -1069,11 +1069,6 @@ wScreenRestoreState(WScreen *scr)
wWorkspaceRestoreState(scr); wWorkspaceRestoreState(scr);
#ifdef VIRTUAL_DESKTOP
/* create inputonly windows at the border of screen */
wWorkspaceManageEdge(scr);
#endif
wScreenUpdateUsableArea(scr); wScreenUpdateUsableArea(scr);
} }

View File

@@ -765,7 +765,7 @@ vdMouseMoveDesktop(XEvent *event, WMPoint direction)
getViewPosition(scr, scr->current_workspace, &x, &y); getViewPosition(scr, scr->current_workspace, &x, &y);
if (wWorkspaceSetViewport(scr, scr->current_workspace, if (wWorkspaceSetViewport(scr, scr->current_workspace,
x+step.x, y+step.y)) { x+step.x, y+step.y)) {
step = vec_scale(direction, wPreferences.vedge_thickness + 1); step = vec_scale(direction, 2);
XWarpPointer(dpy, None, scr->root_win, 0,0,0,0, XWarpPointer(dpy, None, scr->root_win, 0,0,0,0,
event->xcrossing.x_root - step.x, event->xcrossing.x_root - step.x,
event->xcrossing.y_root - step.y); event->xcrossing.y_root - step.y);
@@ -880,10 +880,10 @@ vdHandleEnter_r(XEvent *event) {
#define BOTTOM_EDGE 0x08 #define BOTTOM_EDGE 0x08
#define ALL_EDGES 0x0F #define ALL_EDGES 0x0F
void static void
wWorkspaceManageEdge(WScreen *scr) createEdges(WScreen *scr)
{ {
if (!scr->virtual_edges && wPreferences.vedge_thickness) { if (!scr->virtual_edges) {
int i, j, w; int i, j, w;
int vmask; int vmask;
XSetWindowAttributes attribs; XSetWindowAttributes attribs;
@@ -891,7 +891,7 @@ wWorkspaceManageEdge(WScreen *scr)
int heads = wXineramaHeads(scr); int heads = wXineramaHeads(scr);
int *hasEdges = (int*)wmalloc(sizeof(int)*heads); int *hasEdges = (int*)wmalloc(sizeof(int)*heads);
int thickness = wPreferences.vedge_thickness; int thickness = 1;
int nr_edges = 0; int nr_edges = 0;
int max_edges = 4*heads; int max_edges = 4*heads;
int head; int head;
@@ -1005,7 +1005,7 @@ wWorkspaceManageEdge(WScreen *scr)
static void static void
destroyEdge(WScreen *scr) destroyEdges(WScreen *scr)
{ {
if (scr->virtual_edges) { if (scr->virtual_edges) {
int i; int i;
@@ -1026,23 +1026,10 @@ destroyEdge(WScreen *scr)
void void
wWorkspaceUpdateEdge(WScreen *scr) wWorkspaceUpdateEdge(WScreen *scr)
{ {
static int thickness = -1; if (wPreferences.vdesk_enable) {
createEdges(scr);
if ((int)wPreferences.vedge_thickness < 0)
wPreferences.vedge_thickness = 0;
else if ((int)wPreferences.vedge_thickness > 10)
wPreferences.vedge_thickness = 10;
if (wPreferences.vedge_thickness == thickness)
return;
thickness = wPreferences.vedge_thickness;
if (wPreferences.vedge_thickness) {
destroyEdge(scr);
wWorkspaceManageEdge(scr);
} else { } else {
destroyEdge(scr); destroyEdges(scr);
} }
} }

View File

@@ -40,7 +40,6 @@ Bool wWorkspaceDelete(WScreen *scr, int workspace);
void wWorkspaceChange(WScreen *scr, int workspace); void wWorkspaceChange(WScreen *scr, int workspace);
void wWorkspaceForceChange(WScreen *scr, int workspace); void wWorkspaceForceChange(WScreen *scr, int workspace);
#ifdef VIRTUAL_DESKTOP #ifdef VIRTUAL_DESKTOP
void wWorkspaceManageEdge(WScreen *scr);
void wWorkspaceUpdateEdge(WScreen *scr); void wWorkspaceUpdateEdge(WScreen *scr);
void wWorkspaceRaiseEdge(WScreen *scr); void wWorkspaceRaiseEdge(WScreen *scr);
void wWorkspaceLowerEdge(WScreen *scr); void wWorkspaceLowerEdge(WScreen *scr);