mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +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:
committed by
Carlos R. Mafra
parent
e66afb6e18
commit
3eb01800e8
@@ -502,17 +502,29 @@ void handleMaximize(WWindow *wwin, int directions)
|
||||
effective = requested;
|
||||
else {
|
||||
if (requested & MAX_LEFTHALF) {
|
||||
if (!(requested & (MAX_TOPHALF | MAX_BOTTOMHALF)))
|
||||
effective |= MAX_VERTICAL;
|
||||
else
|
||||
effective |= requested & (MAX_TOPHALF | MAX_BOTTOMHALF);
|
||||
effective &= ~(MAX_HORIZONTAL | MAX_RIGHTHALF);
|
||||
} else if (requested & MAX_RIGHTHALF) {
|
||||
if (!(requested & (MAX_TOPHALF | MAX_BOTTOMHALF)))
|
||||
effective |= MAX_VERTICAL;
|
||||
else
|
||||
effective |= requested & (MAX_TOPHALF | MAX_BOTTOMHALF);
|
||||
effective &= ~(MAX_HORIZONTAL | MAX_LEFTHALF);
|
||||
}
|
||||
if (requested & MAX_TOPHALF) {
|
||||
if (!(requested & (MAX_LEFTHALF | MAX_RIGHTHALF)))
|
||||
effective |= MAX_HORIZONTAL;
|
||||
else
|
||||
effective |= requested & (MAX_LEFTHALF | MAX_RIGHTHALF);
|
||||
effective &= ~(MAX_VERTICAL | MAX_BOTTOMHALF);
|
||||
} else if (requested & MAX_BOTTOMHALF) {
|
||||
if (!(requested & (MAX_LEFTHALF | MAX_RIGHTHALF)))
|
||||
effective |= MAX_HORIZONTAL;
|
||||
else
|
||||
effective |= requested & (MAX_LEFTHALF | MAX_RIGHTHALF);
|
||||
effective &= ~(MAX_VERTICAL | MAX_TOPHALF);
|
||||
}
|
||||
if (requested & MAX_HORIZONTAL)
|
||||
|
||||
@@ -609,6 +609,14 @@ WDefaultEntry optionList[] = {
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"BHMaximizeKey", "None", (void*)WKBD_BHMAXIMIZE,
|
||||
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,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"RaiseKey", "\"Meta+Up\"", (void *)WKBD_RAISE,
|
||||
|
||||
28
src/event.c
28
src/event.c
@@ -1484,6 +1484,34 @@ static void handleKeyPress(XEvent * event)
|
||||
handleMaximize(wwin, MAX_HORIZONTAL | MAX_BOTTOMHALF | MAX_KEYBOARD);
|
||||
}
|
||||
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:
|
||||
if (ISMAPPED(wwin) && ISFOCUSED(wwin) && IS_RESIZABLE(wwin)) {
|
||||
CloseWindowMenu(scr);
|
||||
|
||||
@@ -39,6 +39,10 @@ enum {
|
||||
WKBD_RHMAXIMIZE,
|
||||
WKBD_THMAXIMIZE,
|
||||
WKBD_BHMAXIMIZE,
|
||||
WKBD_LTCMAXIMIZE,
|
||||
WKBD_RTCMAXIMIZE,
|
||||
WKBD_LBCMAXIMIZE,
|
||||
WKBD_RBCMAXIMIZE,
|
||||
WKBD_MAXIMUS,
|
||||
WKBD_SELECT,
|
||||
WKBD_RAISE,
|
||||
|
||||
Reference in New Issue
Block a user