add capability to stick a window from input, and make close buttons work.
Dana Jansens danakj@orodu.net
4 files changed,
26 insertions(+),
7 deletions(-)
M
src/Input.cc
→
src/Input.cc
@@ -205,6 +205,18 @@ case Lower:
if (window) window->lower(); return; + case Stick: + if (window && ! window->isStuck()) window->stick(); + return; + + case Unstick: + if (window && window->isStuck()) window->stick(); + return; + + case ToggleStick: + if (window) window->stick(); + return; + case Shade: if (window && ! window->isShaded()) window->shade(); return;
M
src/Input.hh
→
src/Input.hh
@@ -64,20 +64,26 @@ Raise,
Lower, Shade, Unshade, + Stick, + Unstick, Focus, Iconify, - ToggleMaximizeVert, - ToggleMaximizeHoriz, - ToggleMaximize, - ToggleShade, Close, + ShowWindowMenu, + BeginMove, BeginResizeUL, BeginResizeUR, BeginResizeLL, BeginResizeLR, BeginResizeRelative, // picks a corner based on the mouse cursor's position - ShowWindowMenu, + + ToggleMaximizeVert, + ToggleMaximizeHoriz, + ToggleMaximize, + ToggleShade, + ToggleStick, + NUM_ACTIONS };
M
src/Window.cc
→
src/Window.cc
@@ -2750,8 +2750,8 @@ ! input->doAction(this, re->button, state,
BInput::IconifyButtonClick)) redrawIconifyButton(False); } else if (frame.close_button == re->window) { - if ((re->x < 0 || re->x >= static_cast<signed>(frame.button_w)) || - (re->y < 0 || re->y >= static_cast<signed>(frame.button_w))) + if (! ((re->x < 0 || re->x >= static_cast<signed>(frame.button_w)) || + (re->y < 0 || re->y >= static_cast<signed>(frame.button_w)))) input->doAction(this, re->button, state, BInput::CloseButtonClick); redrawCloseButton(False); } else if (flags.moving) {
M
src/blackbox.hh
→
src/blackbox.hh
@@ -202,6 +202,7 @@
inline XAtom *getXAtom(void) { return xatom; } inline BInput *getInput(void) { return input; } + inline BScreen *getFocusedScreen(void) { return active_screen; } inline BlackboxWindow *getFocusedWindow(void) { return focused_window; } inline BlackboxWindow *getChangingWindow(void) { return changing_window; }