epist::epist(char **argv, char *dpy_name, char *rc_file)
: BaseDisplay(argv[0], dpy_name) {
-
+
_argv = argv;
if (rc_file)
XKeysymToKeycode(getXDisplay(),
XStringToKeysym("4")),
Mod1Mask | ControlMask | ShiftMask, 3));
+ _actions.push_back(Action(Action::execute,
+ XKeysymToKeycode(getXDisplay(),
+ XStringToKeysym("Escape")),
+ Mod1Mask | ControlMask,
+ "sleep 1 && xset dpms force off"));
_actions.push_back(Action(Action::execute,
XKeysymToKeycode(getXDisplay(),
XStringToKeysym("space")),
ActionList::const_iterator ait, end = _actions.end();
for(ait = _actions.begin(); ait != end; ++ait) {
- XGrabKey(getXDisplay(), ait->keycode(), ait->modifierMask(),
- (*scrit)->rootWindow(), False, GrabModeAsync, GrabModeAsync);
+ (*scrit)->grabKey(ait->keycode(), ait->modifierMask());
}
}
}
void epist::process_event(XEvent *e) {
- Window root;
-
- if (e->xany.type == KeyPress)
- root = e->xkey.root;
- else
- root = e->xany.window;
-
ScreenList::const_iterator it, end = _screens.end();
for (it = _screens.begin(); it != end; ++it) {
- if ((*it)->rootWindow() == root) {
+ if ((*it)->rootWindow() == e->xany.window) {
(*it)->processEvent(*e);
return;
}