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
This commit is contained in:
parent
e60da6c006
commit
12f4f7c6b0
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
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>
|
2004-07-31 Rob Adams <readams@readams.net>
|
||||||
|
|
||||||
Fix some support for EWMH hints, and fix USER_TIME support to
|
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_workspace_set = FALSE;
|
||||||
window->initial_timestamp_set = FALSE;
|
window->initial_timestamp_set = FALSE;
|
||||||
window->net_wm_user_time_set = FALSE;
|
window->net_wm_user_time_set = FALSE;
|
||||||
|
window->focus_despite_user_time = FALSE;
|
||||||
window->calc_placement = FALSE;
|
window->calc_placement = FALSE;
|
||||||
window->shaken_loose = FALSE;
|
window->shaken_loose = FALSE;
|
||||||
window->have_focus_click_grab = 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_NORMAL:
|
||||||
case META_WINDOW_DIALOG:
|
case META_WINDOW_DIALOG:
|
||||||
case META_WINDOW_MODAL_DIALOG:
|
case META_WINDOW_MODAL_DIALOG:
|
||||||
|
if (window->focus_despite_user_time)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
meta_topic (META_DEBUG_STARTUP,
|
meta_topic (META_DEBUG_STARTUP,
|
||||||
"COMPARISON:\n"
|
"COMPARISON:\n"
|
||||||
@ -1715,6 +1718,8 @@ meta_window_show (MetaWindow *window)
|
|||||||
meta_window_stack_just_below (window,
|
meta_window_stack_just_below (window,
|
||||||
window->display->focus_window);
|
window->display->focus_window);
|
||||||
|
|
||||||
|
window->focus_despite_user_time = FALSE;
|
||||||
|
|
||||||
if (!window->placed)
|
if (!window->placed)
|
||||||
{
|
{
|
||||||
/* We have to recalc the placement here since other windows may
|
/* We have to recalc the placement here since other windows may
|
||||||
@ -1929,6 +1934,8 @@ meta_window_unminimize (MetaWindow *window)
|
|||||||
if (window->minimized)
|
if (window->minimized)
|
||||||
{
|
{
|
||||||
window->minimized = FALSE;
|
window->minimized = FALSE;
|
||||||
|
window->focus_despite_user_time = TRUE;
|
||||||
|
|
||||||
meta_window_queue_calc_showing (window);
|
meta_window_queue_calc_showing (window);
|
||||||
|
|
||||||
meta_window_foreach_transient (window,
|
meta_window_foreach_transient (window,
|
||||||
|
@ -147,6 +147,7 @@ struct _MetaWindow
|
|||||||
|
|
||||||
/* whether net_wm_user_time has been set yet */
|
/* whether net_wm_user_time has been set yet */
|
||||||
guint net_wm_user_time_set : 1;
|
guint net_wm_user_time_set : 1;
|
||||||
|
guint focus_despite_user_time : 1;
|
||||||
|
|
||||||
/* These are the flags from WM_PROTOCOLS */
|
/* These are the flags from WM_PROTOCOLS */
|
||||||
guint take_focus : 1;
|
guint take_focus : 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user