summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhp <rhp>2001-06-24 16:37:18 +0000
committerrhp <rhp>2001-06-24 16:37:18 +0000
commit4b2fbbb2f69f8bd4598395b8b5ff33839e79483d (patch)
treece568fd0aa711716bc0be8f1505ad37528a9f357
parentbca589280cd2acf9ee6ca3863e071b4d7c8496f4 (diff)
downloadmutter-4b2fbbb2f69f8bd4598395b8b5ff33839e79483d.tar.gz
...
-rw-r--r--src/window.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/window.c b/src/window.c
index e84e9e119..336e9f3c5 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1338,11 +1338,16 @@ meta_window_focus (MetaWindow *window,
meta_verbose ("Setting input focus to window %s, input: %d take_focus: %d\n",
window->desc, window->input, window->take_focus);
- if (window->shaded && window->frame)
+ /* For output-only or shaded windows, focus the frame.
+ * This seems to result in the client window getting key events
+ * though, so I don't know if it's icccm-compliant.
+ *
+ * Still, we have to do this or keynav breaks for these windows.
+ */
+ if (window->frame &&
+ (window->shaded ||
+ !(window->input || window->take_focus)))
{
- /* This is so we can still use keyboard shortcuts
- * and still draw the window as focused.
- */
if (window->frame)
{
meta_verbose ("Focusing frame of %s\n", window->desc);