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

added new windows positions

new window positions top left, top right, bottom left and bottom right
these new maximized positions are combinations of left, right, top and
bottom maximized positions
This commit is contained in:
Renan Traba
2013-04-22 20:28:11 -03:00
committed by Carlos R. Mafra
parent e66afb6e18
commit 3eb01800e8
4 changed files with 57 additions and 5 deletions

View File

@@ -502,17 +502,29 @@ void handleMaximize(WWindow *wwin, int directions)
effective = requested; effective = requested;
else { else {
if (requested & MAX_LEFTHALF) { if (requested & MAX_LEFTHALF) {
effective |= MAX_VERTICAL; if (!(requested & (MAX_TOPHALF | MAX_BOTTOMHALF)))
effective |= MAX_VERTICAL;
else
effective |= requested & (MAX_TOPHALF | MAX_BOTTOMHALF);
effective &= ~(MAX_HORIZONTAL | MAX_RIGHTHALF); effective &= ~(MAX_HORIZONTAL | MAX_RIGHTHALF);
} else if (requested & MAX_RIGHTHALF) { } else if (requested & MAX_RIGHTHALF) {
effective |= MAX_VERTICAL; if (!(requested & (MAX_TOPHALF | MAX_BOTTOMHALF)))
effective |= MAX_VERTICAL;
else
effective |= requested & (MAX_TOPHALF | MAX_BOTTOMHALF);
effective &= ~(MAX_HORIZONTAL | MAX_LEFTHALF); effective &= ~(MAX_HORIZONTAL | MAX_LEFTHALF);
} }
if (requested & MAX_TOPHALF) { if (requested & MAX_TOPHALF) {
effective |= MAX_HORIZONTAL; if (!(requested & (MAX_LEFTHALF | MAX_RIGHTHALF)))
effective |= MAX_HORIZONTAL;
else
effective |= requested & (MAX_LEFTHALF | MAX_RIGHTHALF);
effective &= ~(MAX_VERTICAL | MAX_BOTTOMHALF); effective &= ~(MAX_VERTICAL | MAX_BOTTOMHALF);
} else if (requested & MAX_BOTTOMHALF) { } else if (requested & MAX_BOTTOMHALF) {
effective |= MAX_HORIZONTAL; if (!(requested & (MAX_LEFTHALF | MAX_RIGHTHALF)))
effective |= MAX_HORIZONTAL;
else
effective |= requested & (MAX_LEFTHALF | MAX_RIGHTHALF);
effective &= ~(MAX_VERTICAL | MAX_TOPHALF); effective &= ~(MAX_VERTICAL | MAX_TOPHALF);
} }
if (requested & MAX_HORIZONTAL) if (requested & MAX_HORIZONTAL)

View File

@@ -609,8 +609,16 @@ WDefaultEntry optionList[] = {
NULL, getKeybind, setKeyGrab, NULL, NULL}, NULL, getKeybind, setKeyGrab, NULL, NULL},
{"BHMaximizeKey", "None", (void*)WKBD_BHMAXIMIZE, {"BHMaximizeKey", "None", (void*)WKBD_BHMAXIMIZE,
NULL, getKeybind, setKeyGrab, NULL, NULL}, NULL, getKeybind, setKeyGrab, NULL, NULL},
{"LTCMaximizeKey", "None", (void*)WKBD_LTCMAXIMIZE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"RTCMaximizeKey", "None", (void*)WKBD_RTCMAXIMIZE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"LBCMaximizeKey", "None", (void*)WKBD_LBCMAXIMIZE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"RBCMaximizeKey", "None", (void*)WKBD_RBCMAXIMIZE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MaximusKey", "None", (void*)WKBD_MAXIMUS, {"MaximusKey", "None", (void*)WKBD_MAXIMUS,
NULL, getKeybind, setKeyGrab, NULL, NULL}, NULL, getKeybind, setKeyGrab, NULL, NULL},
{"RaiseKey", "\"Meta+Up\"", (void *)WKBD_RAISE, {"RaiseKey", "\"Meta+Up\"", (void *)WKBD_RAISE,
NULL, getKeybind, setKeyGrab, NULL, NULL}, NULL, getKeybind, setKeyGrab, NULL, NULL},
{"LowerKey", "\"Meta+Down\"", (void *)WKBD_LOWER, {"LowerKey", "\"Meta+Down\"", (void *)WKBD_LOWER,

View File

@@ -1484,6 +1484,34 @@ static void handleKeyPress(XEvent * event)
handleMaximize(wwin, MAX_HORIZONTAL | MAX_BOTTOMHALF | MAX_KEYBOARD); handleMaximize(wwin, MAX_HORIZONTAL | MAX_BOTTOMHALF | MAX_KEYBOARD);
} }
break; break;
case WKBD_LTCMAXIMIZE:
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
CloseWindowMenu(scr);
handleMaximize(wwin, MAX_LEFTHALF | MAX_TOPHALF | MAX_KEYBOARD);
}
break;
case WKBD_RTCMAXIMIZE:
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
CloseWindowMenu(scr);
handleMaximize(wwin, MAX_RIGHTHALF | MAX_TOPHALF | MAX_KEYBOARD);
}
break;
case WKBD_LBCMAXIMIZE:
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
CloseWindowMenu(scr);
handleMaximize(wwin, MAX_LEFTHALF | MAX_BOTTOMHALF | MAX_KEYBOARD);
}
break;
case WKBD_RBCMAXIMIZE:
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
CloseWindowMenu(scr);
handleMaximize(wwin, MAX_RIGHTHALF | MAX_BOTTOMHALF | MAX_KEYBOARD);
}
break;
case WKBD_MAXIMUS: case WKBD_MAXIMUS:
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) { if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
CloseWindowMenu(scr); CloseWindowMenu(scr);

View File

@@ -39,6 +39,10 @@ enum {
WKBD_RHMAXIMIZE, WKBD_RHMAXIMIZE,
WKBD_THMAXIMIZE, WKBD_THMAXIMIZE,
WKBD_BHMAXIMIZE, WKBD_BHMAXIMIZE,
WKBD_LTCMAXIMIZE,
WKBD_RTCMAXIMIZE,
WKBD_LBCMAXIMIZE,
WKBD_RBCMAXIMIZE,
WKBD_MAXIMUS, WKBD_MAXIMUS,
WKBD_SELECT, WKBD_SELECT,
WKBD_RAISE, WKBD_RAISE,