mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 17:40:40 -05:00
If a window is launched without any kind of launch timestamp, grab the
2007-11-09 Elijah Newren <newren gmail com> * src/window.c (meta_window_new_with_attrs): If a window is launched without any kind of launch timestamp, grab the current time and stash it away. When transients of that window are also launched without a timestamp, we can use the stashed timestamp from the parent. Fixes #488468. svn path=/trunk/; revision=3381
This commit is contained in:
parent
98886f3d94
commit
618a9f03b3
@ -1,3 +1,11 @@
|
|||||||
|
2007-11-09 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
|
* src/window.c (meta_window_new_with_attrs): If a window is
|
||||||
|
launched without any kind of launch timestamp, grab the current
|
||||||
|
time and stash it away. When transients of that window are also
|
||||||
|
launched without a timestamp, we can use the stashed timestamp
|
||||||
|
from the parent. Fixes #488468.
|
||||||
|
|
||||||
2007-11-07 Federico Mena Quintero <federico@novell.com>
|
2007-11-07 Federico Mena Quintero <federico@novell.com>
|
||||||
|
|
||||||
* src/window-props.c (reload_net_wm_user_time_window): Fix typo;
|
* src/window-props.c (reload_net_wm_user_time_window): Fix typo;
|
||||||
|
27
src/window.c
27
src/window.c
@ -614,6 +614,33 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
|||||||
*/
|
*/
|
||||||
meta_screen_apply_startup_properties (window->screen, window);
|
meta_screen_apply_startup_properties (window->screen, window);
|
||||||
|
|
||||||
|
/* Try to get a "launch timestamp" for the window. If the window is
|
||||||
|
* a transient, we'd like to be able to get a last-usage timestamp
|
||||||
|
* from the parent window. If the window has no parent, there isn't
|
||||||
|
* much we can do...except record the current time so that any children
|
||||||
|
* can use this time as a fallback.
|
||||||
|
*/
|
||||||
|
if (!window->net_wm_user_time_set) {
|
||||||
|
MetaWindow *parent = NULL;
|
||||||
|
if (window->xtransient_for)
|
||||||
|
parent = meta_display_lookup_x_window (window->display,
|
||||||
|
window->xtransient_for);
|
||||||
|
|
||||||
|
// First, maybe the app was launched with startup notification using an
|
||||||
|
// obsolete version of the spec; use that timestamp if it exists.
|
||||||
|
if (window->initial_timestamp_set)
|
||||||
|
// NOTE: Do NOT toggle net_wm_user_time_set to true; this is just
|
||||||
|
// being recorded as a fallback for potential transients
|
||||||
|
window->net_wm_user_time = window->initial_timestamp;
|
||||||
|
else if (parent != NULL)
|
||||||
|
meta_window_set_user_time(window, parent->net_wm_user_time);
|
||||||
|
else
|
||||||
|
// NOTE: Do NOT toggle net_wm_user_time_set to true; this is just
|
||||||
|
// being recorded as a fallback for potential transients
|
||||||
|
window->net_wm_user_time =
|
||||||
|
meta_display_get_current_time_roundtrip (window->display);
|
||||||
|
}
|
||||||
|
|
||||||
if (window->decorated)
|
if (window->decorated)
|
||||||
meta_window_ensure_frame (window);
|
meta_window_ensure_frame (window);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user