add capability to stick a window from input, and make close buttons work.

This commit is contained in:
Dana Jansens 2002-06-30 03:30:54 +00:00
parent 351a06655b
commit 18064df19f
4 changed files with 26 additions and 7 deletions

View file

@ -205,6 +205,18 @@ void BInput::doAction(BlackboxWindow *window, Action action) const {
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;

View file

@ -64,20 +64,26 @@ public:
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
};

View file

@ -2750,8 +2750,8 @@ void BlackboxWindow::buttonReleaseEvent(const XButtonEvent *re) {
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) {

View file

@ -202,6 +202,7 @@ public:
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; }