mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05: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>
|
2004-12-27 Elijah Newren <newren@gmail.com>
|
||||||
|
|
||||||
* src/display.c (meta_display_set_input_focus_window,
|
* src/display.c (meta_display_set_input_focus_window,
|
||||||
|
@ -438,6 +438,8 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
|||||||
window->minimized = FALSE;
|
window->minimized = FALSE;
|
||||||
window->iconic = FALSE;
|
window->iconic = FALSE;
|
||||||
window->mapped = attrs->map_state != IsUnmapped;
|
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 */
|
/* if already mapped we don't want to do the placement thing */
|
||||||
window->placed = window->mapped;
|
window->placed = window->mapped;
|
||||||
if (window->placed)
|
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)
|
if (takes_focus_on_map)
|
||||||
{
|
{
|
||||||
meta_window_focus (window,
|
meta_window_focus (window,
|
||||||
|
@ -207,6 +207,9 @@ struct _MetaWindow
|
|||||||
/* Have we placed this window? */
|
/* Have we placed this window? */
|
||||||
guint placed : 1;
|
guint placed : 1;
|
||||||
|
|
||||||
|
/* Has this window not ever been shown yet? */
|
||||||
|
guint showing_for_first_time : 1;
|
||||||
|
|
||||||
/* Are we in meta_window_free()? */
|
/* Are we in meta_window_free()? */
|
||||||
guint unmanaging : 1;
|
guint unmanaging : 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user