[Xfce4-commits] r24105 - xfwm4/trunk/src
Olivier Fourdan
olivier at xfce.org
Thu Dec 14 20:40:07 CET 2006
Author: olivier
Date: 2006-12-14 19:40:07 +0000 (Thu, 14 Dec 2006)
New Revision: 24105
Modified:
xfwm4/trunk/src/client.h
xfwm4/trunk/src/compositor.c
Log:
Remove shadow on dock-type windows (bug #2648),
prevent fullscreen windows from beeing maximized (Bug #2663).
Modified: xfwm4/trunk/src/client.h
===================================================================
--- xfwm4/trunk/src/client.h 2006-12-14 18:56:25 UTC (rev 24104)
+++ xfwm4/trunk/src/client.h 2006-12-14 19:40:07 UTC (rev 24105)
@@ -190,9 +190,11 @@
#define CLIENT_CAN_HIDE_WINDOW(c) (!(c->transient_for) && \
FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_HIDE) && \
!FLAG_TEST(c->flags, CLIENT_FLAG_SKIP_TASKBAR))
-#define CLIENT_CAN_MAXIMIZE_WINDOW(c) FLAG_TEST_ALL(c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE | \
- XFWM_FLAG_HAS_RESIZE | \
- XFWM_FLAG_IS_RESIZABLE)
+#define CLIENT_CAN_MAXIMIZE_WINDOW(c) (FLAG_TEST_AND_NOT(c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE | \
+ XFWM_FLAG_HAS_RESIZE | \
+ XFWM_FLAG_IS_RESIZABLE, \
+ XFWM_FLAG_LEGACY_FULLSCREEN) && \
+ !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
#define CLIENT_CAN_STICK_WINDOW(c) (!(c->transient_for) && \
FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_STICK))
Modified: xfwm4/trunk/src/compositor.c
===================================================================
--- xfwm4/trunk/src/compositor.c 2006-12-14 18:56:25 UTC (rev 24104)
+++ xfwm4/trunk/src/compositor.c 2006-12-14 19:40:07 UTC (rev 24105)
@@ -67,17 +67,19 @@
#define WIN_HAS_CLIENT(cw) (cw->c)
#define WIN_HAS_FRAME(cw) (WIN_HAS_CLIENT(cw) && FLAG_TEST (cw->c->xfwm_flags, XFWM_FLAG_HAS_BORDER) && \
!FLAG_TEST (cw->c->flags, CLIENT_FLAG_FULLSCREEN))
-#define WIN_NO_SHADOW(cw) ((cw->c) && FLAG_TEST (cw->c->flags, CLIENT_FLAG_FULLSCREEN | CLIENT_FLAG_BELOW))
+#define WIN_NO_SHADOW(cw) ((cw->c) && \
+ (FLAG_TEST (cw->c->flags, CLIENT_FLAG_FULLSCREEN | CLIENT_FLAG_BELOW) || \
+ (cw->c->type & (WINDOW_DOCK | WINDOW_DESKTOP))))
#define WIN_IS_OVERRIDE(cw) (cw->attr.override_redirect)
#define WIN_IS_ARGB(cw) (cw->argb)
#define WIN_IS_OPAQUE(cw) (((cw->opacity == NET_WM_OPAQUE) && !WIN_IS_ARGB(cw)) || (cw->screen_info->overlays))
#define WIN_IS_NATIVE_OPAQUE(cw) ((cw->native_opacity) && !WIN_IS_ARGB(cw))
#define WIN_IS_FULLSCREEN(cw) ((cw->attr.x <= 0) && \
- (cw->attr.y <= 0) && \
- (cw->attr.width >= cw->screen_info->width) && \
- (cw->attr.height >= cw->screen_info->height))
+ (cw->attr.y <= 0) && \
+ (cw->attr.width >= cw->screen_info->width) && \
+ (cw->attr.height >= cw->screen_info->height))
#define WIN_IS_SHAPED(cw) ((WIN_HAS_CLIENT(cw) && FLAG_TEST (cw->c->flags, CLIENT_FLAG_HAS_SHAPE)) || \
- (WIN_IS_OVERRIDE(cw) && (cw->shaped)))
+ (WIN_IS_OVERRIDE(cw) && (cw->shaped)))
#define WIN_IS_VIEWABLE(cw) (cw->viewable)
#define WIN_HAS_DAMAGE(cw) (cw->damage)
#define WIN_IS_VISIBLE(cw) (WIN_IS_VIEWABLE(cw) && WIN_HAS_DAMAGE(cw))
More information about the Xfce4-commits
mailing list