Commit 12f4f7c6 authored by Rob Adams's avatar Rob Adams Committed by Rob Adams

Fix bug that caused windows to not be focused on unminimizing because of

2004-07-31  Rob Adams  <readams@readams.net>

	Fix bug that caused windows to not be focused on unminimizing
	because of user time support.

	* src/window.c (meta_window_new_with_attrs): initialize
	focus_despite_user_time bit
	(window_takes_focus_on_map): focus if focus_despite_user_time
	despite user time, interestingly enough
	(meta_window_show): reset focus_despite_user_time after showing

	* src/window.h (_MetaWindow): add focus_despite_user_time bit
parent e60da6c0
2004-07-31 Rob Adams <readams@readams.net>
Fix bug that caused windows to not be focused on unminimizing
because of user time support.
* src/window.c (meta_window_new_with_attrs): initialize
focus_despite_user_time bit
(window_takes_focus_on_map): focus if focus_despite_user_time
despite user time, interestingly enough
(meta_window_show): reset focus_despite_user_time after showing
* src/window.h (_MetaWindow): add focus_despite_user_time bit
2004-07-31 Rob Adams <readams@readams.net>
Fix some support for EWMH hints, and fix USER_TIME support to
......
......@@ -456,6 +456,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
window->initial_workspace_set = FALSE;
window->initial_timestamp_set = FALSE;
window->net_wm_user_time_set = FALSE;
window->focus_despite_user_time = FALSE;
window->calc_placement = FALSE;
window->shaken_loose = FALSE;
window->have_focus_click_grab = FALSE;
......@@ -1618,6 +1619,8 @@ window_takes_focus_on_map (MetaWindow *window)
case META_WINDOW_NORMAL:
case META_WINDOW_DIALOG:
case META_WINDOW_MODAL_DIALOG:
if (window->focus_despite_user_time)
return TRUE;
meta_topic (META_DEBUG_STARTUP,
"COMPARISON:\n"
......@@ -1715,6 +1718,8 @@ meta_window_show (MetaWindow *window)
meta_window_stack_just_below (window,
window->display->focus_window);
window->focus_despite_user_time = FALSE;
if (!window->placed)
{
/* We have to recalc the placement here since other windows may
......@@ -1929,6 +1934,8 @@ meta_window_unminimize (MetaWindow *window)
if (window->minimized)
{
window->minimized = FALSE;
window->focus_despite_user_time = TRUE;
meta_window_queue_calc_showing (window);
meta_window_foreach_transient (window,
......
......@@ -147,6 +147,7 @@ struct _MetaWindow
/* whether net_wm_user_time has been set yet */
guint net_wm_user_time_set : 1;
guint focus_despite_user_time : 1;
/* These are the flags from WM_PROTOCOLS */
guint take_focus : 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment