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:
@@ -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:
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user