diff --git a/client.cpp b/client.cpp index 8e6d944ac2..c492f9a3f0 100644 --- a/client.cpp +++ b/client.cpp @@ -421,7 +421,6 @@ Client::Client( Workspace *ws, WId w, QWidget *parent, const char *name, WFlags active = FALSE; shaded = FALSE; transient_for = None; - passive_focus = FALSE; is_shape = FALSE; is_sticky = FALSE; stays_on_top = FALSE; @@ -2231,7 +2230,7 @@ NET::WindowType Client::windowType() const bool Client::wantsTabFocus() const { - return windowType() == NET::Normal; + return windowType() == NET::Normal && input; } bool Client::isMovable() const diff --git a/client.h b/client.h index fde852540a..3632f1f342 100644 --- a/client.h +++ b/client.h @@ -126,7 +126,7 @@ public: bool isDesktop() const; bool isDock() const; bool isMenu() const; - + bool isResizable() const; void takeFocus(); @@ -251,7 +251,6 @@ private: uint stays_on_top : 1; uint is_shape :1; uint may_move :1; - uint passive_focus :1; uint Pdeletewindow :1; // does the window understand the DeleteWindow protocol? uint Ptakefocus :1;// does the window understand the TakeFocus protocol? uint Pcontexthelp : 1; // does the window understand the ContextHelp protocol? diff --git a/workspace.cpp b/workspace.cpp index 016e46fad3..ff347f21eb 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1536,7 +1536,7 @@ void Workspace::lowerClient( Client* c, bool dropFocus ) delete [] new_stack; propagateClients( TRUE ); - + if (dropFocus ) { Client* top = topClientOnDesktop(); if ( top )