switch workspaces if neccessary for a NET_WM_ACTIVE_WINDOW ClientMessage
This commit is contained in:
parent
7427fe1b9c
commit
315f1d107a
1 changed files with 4 additions and 0 deletions
|
@ -717,10 +717,14 @@ void Blackbox::process_event(XEvent *e) {
|
||||||
BlackboxWindow *win = searchWindow(e->xclient.window);
|
BlackboxWindow *win = searchWindow(e->xclient.window);
|
||||||
|
|
||||||
if (win) {
|
if (win) {
|
||||||
|
BScreen *screen = win->getScreen();
|
||||||
|
|
||||||
if (win->isIconic())
|
if (win->isIconic())
|
||||||
win->deiconify(False, True);
|
win->deiconify(False, True);
|
||||||
if (win->isShaded())
|
if (win->isShaded())
|
||||||
win->shade();
|
win->shade();
|
||||||
|
if (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())
|
||||||
|
screen->changeWorkspaceID(win->getWorkspaceNumber());
|
||||||
if (win->isVisible() && win->setInputFocus()) {
|
if (win->isVisible() && win->setInputFocus()) {
|
||||||
win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
|
win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
|
||||||
raiseWindow(win);
|
raiseWindow(win);
|
||||||
|
|
Loading…
Reference in a new issue