diff options
| author | Scott Moynes <smoynes@nexus.carleton.ca> | 2002-07-20 01:44:01 +0000 |
|---|---|---|
| committer | Scott Moynes <smoynes@nexus.carleton.ca> | 2002-07-20 01:44:01 +0000 |
| commit | b4411cb1ef1c25a287181b570e974545e1010530 (patch) | |
| tree | b06395f3ac03869f239c1744c6c8551d54661926 /util/epist/screen.cc | |
| parent | a939bb6e41772ffd4fe75f0c73ae79db237ca979 (diff) | |
Added changeWorkspace() and a broken toggleShaded()
Diffstat (limited to 'util/epist/screen.cc')
| -rw-r--r-- | util/epist/screen.cc | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/util/epist/screen.cc b/util/epist/screen.cc index d8f05540..afe5b8d1 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -150,12 +150,18 @@ void screen::handleKeypress(const XEvent &e) { e.xkey.state == it->modifierMask() ) { switch (it->type()) { - case Action::nextDesktop: + case Action::nextWorkspace: cycleWorkspace(true); break; - case Action::prevDesktop: + case Action::prevWorkspace: cycleWorkspace(false); break; + case Action::changeWorkspace: + changeWorkspace(it->number()); + break; + case Action::shade: + toggleShaded((*_active)->window()); + break; } break; } @@ -259,9 +265,7 @@ void screen::updateActiveWindow() { } */ -void screen::cycleWorkspace(const bool forward) { - cout << "blef" << endl; - +void screen::cycleWorkspace(const bool forward) const { unsigned long currentDesktop = 0; unsigned long numDesktops = 0; @@ -272,9 +276,6 @@ void screen::cycleWorkspace(const bool forward) { else --currentDesktop; - cout << currentDesktop << endl; - - _xatom->getValue(_root, XAtom::net_number_of_desktops, XAtom::cardinal, numDesktops); @@ -283,10 +284,15 @@ void screen::cycleWorkspace(const bool forward) { else if (currentDesktop >= numDesktops) currentDesktop = 0; - - _xatom->sendClientMessage(_root, XAtom::net_current_desktop, _root, - currentDesktop); - + changeWorkspace(currentDesktop); } } - + +void screen::changeWorkspace(const int num) const { + _xatom->sendClientMessage(_root, XAtom::net_current_desktop, _root, num); +} + +void screen::toggleShaded(const Window win) const { + _xatom->sendClientMessage(_root, XAtom::net_wm_state, win, 2, + XAtom::net_wm_state_shaded); +} |
