noaction = 0,
execute,
iconify,
- raiseWindow,
- lowerWindow,
- closeWindow,
- toggleshade,
+ raise,
+ lower,
+ close, //done
+ toggleshade, //done
moveWindowUp,
moveWindowDown,
moveWindowLeft,
moveWindowRight,
- nextWindow,
- prevWindow,
+ nextWindow, //done for now
+ prevWindow, //done for now
nextWindowOnAllWorkspaces,
prevWindowOnAllWorkspaces,
XKeysymToKeycode(getXDisplay(),
XStringToKeysym("F5")),
Mod1Mask));
+ _actions.push_back(Action(Action::close,
+ XKeysymToKeycode(getXDisplay(),
+ XStringToKeysym("F4")),
+ Mod1Mask));
_actions.push_back(Action(Action::nextWindow,
XKeysymToKeycode(getXDisplay(),
XStringToKeysym("Tab")),
XWindow *window = *_active;
switch (it->type()) {
+ case Action::close:
+ window->close();
+ return;
+
case Action::toggleshade:
window->shade(! window->shaded());
return;
_window, (sh ? 1 : 0),
_xatom->getAtom(XAtom::net_wm_state_shaded));
}
+
+
+void XWindow::close() const {
+ _xatom->sendClientMessage(_screen->rootWindow(), XAtom::net_close_window,
+ _window);
+}
void processEvent(const XEvent &e);
void shade(const bool sh) const;
+ void close() const;
bool operator == (const XWindow &w) const { return w._window == _window; }
bool operator == (const Window &w) const { return w == _window; }