summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--src/events.c6
-rw-r--r--src/list.c6
3 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 79d599c..f510d3a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2001-08-22 Shawn <sabetts@hotdog>
+
+ * src/list.c (set_active_window): Don't hide last_win's transient_for
+ windows if last_win and win share the same transient_for window.
+
+ * src/events.c (cleanup_frame): Don't hide last_win's transient_for
+ windows if last_win and win share the same transient_for window.
+
2001-08-20 Shawn <sabetts@hotdog>
* src/events.c (cleanup_frame): set the new window's frame before
diff --git a/src/events.c b/src/events.c
index 1cdbb21..d3b4004 100644
--- a/src/events.c
+++ b/src/events.c
@@ -78,6 +78,12 @@ cleanup_frame (rp_window_frame *frame)
{
hide_transient_for_between (last_win, win);
}
+ else if (last_win->transient && win->transient &&
+ last_win->transient_for == win->transient_for)
+ {
+ /* Both last_win and win have the same transient_for so we
+ don't need to hide anything more */
+ }
else
{
hide_transient_for (last_win);
diff --git a/src/list.c b/src/list.c
index b3f97bd..4d0cc8e 100644
--- a/src/list.c
+++ b/src/list.c
@@ -529,6 +529,12 @@ set_active_window (rp_window *win)
/* We only need to hide the transients "between" last_win and win */
hide_transient_for_between (last_win, win);
}
+ else if (last_win && last_win->transient && win->transient &&
+ last_win->transient_for == win->transient_for)
+ {
+ /* Both last_win and win have the same transient_for so we
+ don't need to hide anything more */
+ }
else
{
hide_transient_for (last_win);