mirror of
https://github.com/brl/mutter.git
synced 2024-12-23 11:32:04 +00:00
Focus windows that manually position themselves too (fixes #107347).
2004-12-27 Elijah Newren <newren@gmail.com> Focus windows that manually position themselves too (fixes #107347). * src/window.h (struct _MetaWindow): add a new showing_for_first_time flag * src/window.c (meta_window_new_with_attrs): initialize showing_for_first_time flag to !mapped, (meta_window_show): replace did_placement with showing_for_first_time in the section to decided whether to focus since did_placement isn't quite what we want
This commit is contained in:
parent
0bf6bffb16
commit
c74ab35c6c
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
||||
2004-12-27 Elijah Newren <newren@gmail.com>
|
||||
|
||||
Focus windows that manually position themselves too (fixes
|
||||
#107347).
|
||||
|
||||
* src/window.h (struct _MetaWindow): add a new
|
||||
showing_for_first_time flag
|
||||
|
||||
* src/window.c (meta_window_new_with_attrs): initialize
|
||||
showing_for_first_time flag to !mapped, (meta_window_show):
|
||||
replace did_placement with showing_for_first_time in the section
|
||||
to decided whether to focus since did_placement isn't quite what
|
||||
we want
|
||||
|
||||
2004-12-27 Elijah Newren <newren@gmail.com>
|
||||
|
||||
* src/display.c (meta_display_set_input_focus_window,
|
||||
|
@ -438,6 +438,8 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
window->minimized = FALSE;
|
||||
window->iconic = FALSE;
|
||||
window->mapped = attrs->map_state != IsUnmapped;
|
||||
/* if already mapped, no need to worry about focus-on-first-time-showing */
|
||||
window->showing_for_first_time = !window->mapped;
|
||||
/* if already mapped we don't want to do the placement thing */
|
||||
window->placed = window->mapped;
|
||||
if (window->placed)
|
||||
@ -1761,8 +1763,13 @@ meta_window_show (MetaWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
if (did_placement)
|
||||
/* We don't want to worry about all cases from inside
|
||||
* implement_showing(); we only want to worry about focus if this
|
||||
* window has not been shown before.
|
||||
*/
|
||||
if (window->showing_for_first_time)
|
||||
{
|
||||
window->showing_for_first_time = FALSE;
|
||||
if (takes_focus_on_map)
|
||||
{
|
||||
meta_window_focus (window,
|
||||
|
@ -207,6 +207,9 @@ struct _MetaWindow
|
||||
/* Have we placed this window? */
|
||||
guint placed : 1;
|
||||
|
||||
/* Has this window not ever been shown yet? */
|
||||
guint showing_for_first_time : 1;
|
||||
|
||||
/* Are we in meta_window_free()? */
|
||||
guint unmanaging : 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user