Author: olivier
Date: 2007-02-12 20:25:12 +0000 (Mon, 12 Feb 2007)
New Revision: 24964

Modified:
   xfwm4/trunk/defaults/defaults
   xfwm4/trunk/mcs-plugin/wmtweaks_plugin.c
   xfwm4/trunk/src/compositor.c
   xfwm4/trunk/src/settings.c
   xfwm4/trunk/src/settings.h
   xfwm4/trunk/themes/default/themerc
   xfwm4/trunk/themes/largeprint/themerc
Log:
Add an option to show/hide shadows on dock-type windows

Modified: xfwm4/trunk/defaults/defaults
===================================================================
--- xfwm4/trunk/defaults/defaults       2007-02-12 19:31:24 UTC (rev 24963)
+++ xfwm4/trunk/defaults/defaults       2007-02-12 20:25:12 UTC (rev 24964)
@@ -34,6 +34,7 @@
 shadow_delta_x=0
 shadow_delta_y=0
 show_app_icon=false
+show_dock_shadow=true
 show_frame_shadow=false
 show_popup_shadow=false
 snap_resist=false

Modified: xfwm4/trunk/mcs-plugin/wmtweaks_plugin.c
===================================================================
--- xfwm4/trunk/mcs-plugin/wmtweaks_plugin.c    2007-02-12 19:31:24 UTC (rev 
24963)
+++ xfwm4/trunk/mcs-plugin/wmtweaks_plugin.c    2007-02-12 20:25:12 UTC (rev 
24964)
@@ -60,6 +60,7 @@
 static gboolean cycle_hidden = TRUE;
 static gboolean cycle_workspaces = FALSE;
 static gboolean focus_hint = TRUE;
+static gboolean show_dock_shadow = FALSE;
 static gboolean show_frame_shadow = FALSE;
 static gboolean show_popup_shadow = FALSE;
 static gboolean prevent_focus_stealing = FALSE;
@@ -99,6 +100,7 @@
     "Xfwm/RestoreOnMove"
     "Xfwm/ScrollWorkspaces"
     "Xfwm/ScrollWorkspaces"
+    "Xfwm/ShowDockShadow"
     "Xfwm/ShowFrameShadow"
     "Xfwm/ShowPopupShadow"
     "Xfwm/SnapResist"
@@ -576,6 +578,12 @@
         gtk_widget_show (check_button);
 
         check_button =
+            create_gboolean_button (mcs_plugin, _("Show shadows under dock 
windows"),
+            "Xfwm/ShowDockShadow", &show_dock_shadow);
+        gtk_box_pack_start (GTK_BOX (compositor_options_vbox), check_button, 
FALSE, TRUE, 0);
+        gtk_widget_show (check_button);
+
+        check_button =
             create_gboolean_button (mcs_plugin, _("Show shadows under regular 
windows"),
             "Xfwm/ShowFrameShadow", &show_frame_shadow);
         gtk_box_pack_start (GTK_BOX (compositor_options_vbox), check_button, 
FALSE, TRUE, 0);
@@ -744,6 +752,7 @@
     init_gboolean_setting (mcs_plugin, "Xfwm/CycleHidden", &cycle_hidden);
     init_gboolean_setting (mcs_plugin, "Xfwm/CycleWorkspaces", 
&cycle_workspaces);
     init_gboolean_setting (mcs_plugin, "Xfwm/FocusHint", &focus_hint);
+    init_gboolean_setting (mcs_plugin, "Xfwm/ShowDockShadow", 
&show_dock_shadow);
     init_gboolean_setting (mcs_plugin, "Xfwm/ShowFrameShadow", 
&show_frame_shadow);
     init_gboolean_setting (mcs_plugin, "Xfwm/ShowPopupShadow", 
&show_popup_shadow);
     init_gboolean_setting (mcs_plugin, "Xfwm/PreventFocusStealing", 
&prevent_focus_stealing);

Modified: xfwm4/trunk/src/compositor.c
===================================================================
--- xfwm4/trunk/src/compositor.c        2007-02-12 19:31:24 UTC (rev 24963)
+++ xfwm4/trunk/src/compositor.c        2007-02-12 20:25:12 UTC (rev 24964)
@@ -69,7 +69,8 @@
                                          !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) || \
-                                              (cw->c->type & (WINDOW_DOCK | 
WINDOW_DESKTOP))))
+                                            (cw->c->type & WINDOW_DESKTOP)))
+#define WIN_IS_DOCK(cw)                 (WIN_HAS_CLIENT(cw) && (cw->c->type & 
WINDOW_DOCK))
 #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))
@@ -933,7 +934,13 @@
           (screen_info->params->show_frame_shadow &&
               !WIN_IS_OVERRIDE(cw) &&
               !WIN_NO_SHADOW(cw) &&
-              (WIN_HAS_FRAME(cw) || !(WIN_IS_ARGB(cw) || WIN_IS_SHAPED(cw))))))
+              !WIN_IS_DOCK(cw) &&
+              (WIN_HAS_FRAME(cw) || !(WIN_IS_ARGB(cw) || WIN_IS_SHAPED(cw)))) 
||
+          (screen_info->params->show_dock_shadow &&
+              WIN_IS_DOCK(cw) &&
+              !WIN_NO_SHADOW(cw) &&
+              !WIN_IS_OVERRIDE(cw) &&
+              (!(WIN_IS_ARGB(cw) || WIN_IS_SHAPED(cw))))))
     {
         XRectangle sr;
 

Modified: xfwm4/trunk/src/settings.c
===================================================================
--- xfwm4/trunk/src/settings.c  2007-02-12 19:31:24 UTC (rev 24963)
+++ xfwm4/trunk/src/settings.c  2007-02-12 20:25:12 UTC (rev 24964)
@@ -408,6 +408,11 @@
                     {
                         screen_info->params->placement_ratio = 
setting->data.v_int;
                     }
+                    else if (!strcmp (name, "Xfwm/ShowDockShadow"))
+                    {
+                        screen_info->params->show_dock_shadow = 
setting->data.v_int;
+                        reloadScreenSettings (screen_info, UPDATE_FRAME);
+                    }
                     else if (!strcmp (name, "Xfwm/ShowFrameShadow"))
                     {
                         screen_info->params->show_frame_shadow = 
setting->data.v_int;
@@ -795,6 +800,12 @@
             setIntValueFromInt ("popup_opacity", setting->data.v_int, rc);
             mcs_setting_free (setting);
         }
+        if (mcs_client_get_setting (screen_info->mcs_client, 
"Xfwm/ShowDockShadow", CHANNEL5,
+                &setting) == MCS_SUCCESS)
+        {
+            setBooleanValueFromInt ("show_dock_shadow", setting->data.v_int, 
rc);
+            mcs_setting_free (setting);
+        }
         if (mcs_client_get_setting (screen_info->mcs_client, 
"Xfwm/ShowFrameShadow", CHANNEL5,
                 &setting) == MCS_SUCCESS)
         {
@@ -1330,6 +1341,7 @@
         {"shadow_delta_x", NULL, TRUE},
         {"shadow_delta_y", NULL, TRUE},
         {"show_app_icon", NULL, TRUE},
+        {"show_dock_shadow", NULL, TRUE},
         {"show_frame_shadow", NULL, TRUE},
         {"show_popup_shadow", NULL, TRUE},
         {"snap_resist", NULL, TRUE},
@@ -1473,6 +1485,8 @@
         abs (TOINT (getValue ("placement_ratio", rc)));
     screen_info->params->show_app_icon =
         !g_ascii_strcasecmp ("true", getValue ("show_app_icon", rc));
+    screen_info->params->show_dock_shadow =
+        !g_ascii_strcasecmp ("true", getValue ("show_dock_shadow", rc));
     screen_info->params->show_frame_shadow =
         !g_ascii_strcasecmp ("true", getValue ("show_frame_shadow", rc));
     screen_info->params->show_popup_shadow =

Modified: xfwm4/trunk/src/settings.h
===================================================================
--- xfwm4/trunk/src/settings.h  2007-02-12 19:31:24 UTC (rev 24963)
+++ xfwm4/trunk/src/settings.h  2007-02-12 20:25:12 UTC (rev 24964)
@@ -210,6 +210,7 @@
     gboolean raise_with_any_button;
     gboolean scroll_workspaces;
     gboolean show_app_icon;
+    gboolean show_dock_shadow;
     gboolean show_frame_shadow;
     gboolean show_popup_shadow;
     gboolean snap_to_border;

Modified: xfwm4/trunk/themes/default/themerc
===================================================================
--- xfwm4/trunk/themes/default/themerc  2007-02-12 19:31:24 UTC (rev 24963)
+++ xfwm4/trunk/themes/default/themerc  2007-02-12 20:25:12 UTC (rev 24964)
@@ -3,10 +3,10 @@
 button_spacing=0
 full_width_title=false
 maximized_offset=0
-shadow_delta_height=-2
-shadow_delta_width=-2
-shadow_delta_x=-2
-shadow_delta_y=-2
+shadow_delta_height=2
+shadow_delta_width=0
+shadow_delta_x=0
+shadow_delta_y=0
 show_app_icon=true
 title_horizontal_offset=1
 title_shadow_active=frame

Modified: xfwm4/trunk/themes/largeprint/themerc
===================================================================
--- xfwm4/trunk/themes/largeprint/themerc       2007-02-12 19:31:24 UTC (rev 
24963)
+++ xfwm4/trunk/themes/largeprint/themerc       2007-02-12 20:25:12 UTC (rev 
24964)
@@ -3,10 +3,10 @@
 button_spacing=0
 full_width_title=false
 maximized_offset=0
-shadow_delta_height=-2
-shadow_delta_width=-2
-shadow_delta_x=-2
-shadow_delta_y=-2
+shadow_delta_height=4
+shadow_delta_width=1
+shadow_delta_x=1
+shadow_delta_y=1
 show_app_icon=true
 title_horizontal_offset=1
 title_shadow_active=frame

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to