[Xfce4-commits] r22096 - xfwm4/trunk/src

2006-06-14 Thread Olivier Fourdan
Author: olivier
Date: 2006-06-14 09:27:23 + (Wed, 14 Jun 2006)
New Revision: 22096

Modified:
   xfwm4/trunk/src/client.c
   xfwm4/trunk/src/compositor.c
   xfwm4/trunk/src/display.c
   xfwm4/trunk/src/display.h
   xfwm4/trunk/src/events.c
   xfwm4/trunk/src/hints.h
   xfwm4/trunk/src/screen.h
   xfwm4/trunk/src/startup_notification.c
Log:
Finish rework of the compositor, which should fix quite few bugs and improve 
performance (by discarding damages of covered windows, for example), 
unredirecting fullscreen overrides seems to work fine which gives a huge 
performance boost on fullscreen games, fixes translucent xscreensaver window, 
rework the NET_ACTIVE_WINDOW message handling to improve focus passing (see 
this thread on the ML 
http://foo-projects.org/pipermail/xfce4-dev/2006-June/020471.html)

Modified: xfwm4/trunk/src/client.c
===
--- xfwm4/trunk/src/client.c2006-06-14 09:00:01 UTC (rev 22095)
+++ xfwm4/trunk/src/client.c2006-06-14 09:27:23 UTC (rev 22096)
@@ -1420,6 +1420,7 @@
 if (getNetWMUserTime (display_info, c-window, c-user_time))
 {
 FLAG_SET (c-flags, CLIENT_FLAG_HAS_USER_TIME);
+myDisplaySetLastUserTime (display_info, c-user_time);
 }
 }
 

Modified: xfwm4/trunk/src/compositor.c
===
--- xfwm4/trunk/src/compositor.c2006-06-14 09:00:01 UTC (rev 22095)
+++ xfwm4/trunk/src/compositor.c2006-06-14 09:27:23 UTC (rev 22096)
@@ -68,16 +68,19 @@
  !FLAG_TEST (cw-c-flags, 
CLIENT_FLAG_FULLSCREEN))
 #define WIN_IS_OVERRIDE(cw) (cw-c == NULL)
 #define WIN_IS_ARGB(cw) (cw-argb)
-#define WIN_IS_OPAQUE(cw)   ((cw-opacity == NET_WM_OPAQUE)  
!WIN_IS_ARGB(cw))
+#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 == 
gdk_screen_get_width (cw-screen_info-gscr))  \
  (cw-attr.height == 
gdk_screen_get_height (cw-screen_info-gscr)))
 #define WIN_IS_SHAPED(cw)   ((!WIN_IS_OVERRIDE(cw)  FLAG_TEST 
(cw-c-flags, CLIENT_FLAG_HAS_SHAPE)) || \
  (WIN_IS_OVERRIDE(cw)  (cw-shaped)))
-#define WIN_IS_VISIBLE(cw)  ((cw-damaged)  (cw-viewable))
+#define WIN_IS_VISIBLE(cw)  ((cw-viewable)  (cw-damage))
+#define WIN_IS_DAMAGED(cw)  (cw-damaged)
+#define WIN_IS_REDIRECTED(cw)   (cw-redirected)
 
-/* #define IDLE_REPAINT */
+#define USE_IDLE_REPAINT
 
 typedef struct _CWindow CWindow;
 struct _CWindow
@@ -93,6 +96,7 @@
 gboolean redirected;
 gboolean argb;
 gboolean skipped;
+gboolean native_opacity;
 
 Damage damage;
 #if HAVE_NAME_WINDOW_PIXMAP
@@ -115,7 +119,6 @@
 gint shadow_height;
 
 guint opacity;
-guint ignore_unmap;
 };
 
 static CWindow*
@@ -311,7 +314,7 @@
 TRACE (entering presum_gaussian);
 
 map = screen_info-gaussianMap;
-screen_info-gsize = map-size;
+screen_info-gaussianSize = map-size;
 center = map-size / 2;
 
 if (screen_info-shadowCorner)
@@ -323,50 +326,50 @@
 g_free (screen_info-shadowTop);
 }
 
-screen_info-shadowCorner = (guchar *) (g_malloc ((screen_info-gsize + 1)
-* (screen_info-gsize + 1) 
* 26));
-screen_info-shadowTop = (guchar *) (g_malloc ((screen_info-gsize + 1) * 
26));
+screen_info-shadowCorner = (guchar *) (g_malloc 
((screen_info-gaussianSize + 1)
+* 
(screen_info-gaussianSize + 1) * 26));
+screen_info-shadowTop = (guchar *) (g_malloc ((screen_info-gaussianSize 
+ 1) * 26));
 
-for (x = 0; x = screen_info-gsize; x++)
+for (x = 0; x = screen_info-gaussianSize; x++)
 {
-screen_info-shadowTop[25 * (screen_info-gsize + 1) + x] =
+screen_info-shadowTop[25 * (screen_info-gaussianSize + 1) + x] =
 sum_gaussian (map, 1, x - center, center,
-screen_info-gsize * 2,
-screen_info-gsize * 2);
+  screen_info-gaussianSize * 2,
+  screen_info-gaussianSize * 2);
 
 for(opacity = 0; opacity  25; opacity++)
 {
-screen_info-shadowTop[opacity * (screen_info-gsize + 1) + x] =
-screen_info-shadowTop[25 * (screen_info-gsize + 1) + x] * 
opacity / 25;
+screen_info-shadowTop[opacity * (screen_info-gaussianSize + 1) + 
x] =
+screen_info-shadowTop[25 * (screen_info-gaussianSize + 1) + 
x] * 

[Xfce4-commits] r22099 - xfce-mcs-plugins/trunk/plugins/keyboard_plugin

2006-06-14 Thread Olivier Fourdan
Author: olivier
Date: 2006-06-14 11:55:25 + (Wed, 14 Jun 2006)
New Revision: 22099

Modified:
   xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
   xfce-mcs-plugins/trunk/plugins/keyboard_plugin/shortcuts_plugin.h
Log:
Apply patch from Stephan Arts [EMAIL PROTECTED] for bounce and slowkeys 
support.

Modified: xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
===
--- xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
2006-06-14 09:52:16 UTC (rev 22098)
+++ xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
2006-06-14 11:55:25 UTC (rev 22099)
@@ -82,6 +82,8 @@
 static gboolean sticky_key = FALSE;
 static gboolean sticky_key_ltl = FALSE;
 static gboolean sticky_key_tk = FALSE;
+static gboolean bounce_key = FALSE;
+static gboolean slow_key = FALSE;
 static int repeat_delay = 500;
 static int repeat_rate = 30;
 
@@ -162,7 +164,7 @@
 }
 
 static void
-toggle_sticky()
+toggle_accessx()
 {
 #ifdef USE_XKB
 if (xkbpresent)
@@ -173,10 +175,23 @@
 gdk_error_trap_push ();
 XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, xkb);
 
+   /* Slow keys */
+if(slow_key)
+xkb-ctrls-enabled_ctrls |= XkbSlowKeysMask;
+else
+xkb-ctrls-enabled_ctrls = ~XkbSlowKeysMask;
+
+   /* Bounce keys */
+if(bounce_key)
+xkb-ctrls-enabled_ctrls |= XkbBounceKeysMask;
+else
+xkb-ctrls-enabled_ctrls = ~XkbBounceKeysMask;
+
+   /* Sticky keys */
 if(sticky_key)
-xkb-ctrls-enabled_ctrls |= (XkbStickyKeysMask | 
XkbAccessXKeysMask);
+xkb-ctrls-enabled_ctrls |= XkbStickyKeysMask;
 else
-xkb-ctrls-enabled_ctrls = ~(XkbStickyKeysMask | 
XkbAccessXKeysMask);
+xkb-ctrls-enabled_ctrls = ~XkbStickyKeysMask;
 
 if(sticky_key_ltl)
 xkb-ctrls-ax_options |= XkbAX_LatchToLockMask;
@@ -188,7 +203,13 @@
 else
 xkb-ctrls-ax_options = ~XkbAX_TwoKeysMask;
 
-XkbSetControls (GDK_DISPLAY (), XkbControlsEnabledMask | 
XkbStickyKeysMask, xkb);
+   /* If any option is set, enable 
AccessXKeys, otherwise: don't */
+   if(sticky_key || bounce_key || 
slow_key)
+   
xkb-ctrls-enabled_ctrls |= XkbAccessXKeysMask;
+   else
+   
xkb-ctrls-enabled_ctrls = ~XkbAccessXKeysMask;
+
+XkbSetControls (GDK_DISPLAY (), XkbControlsEnabledMask | 
XkbStickyKeysMask | XkbBounceKeysMask | XkbSlowKeysMask, xkb);
 XFree (xkb);
 gdk_flush ();
 gdk_error_trap_pop ();
@@ -363,11 +384,13 @@
 }
 
 static void
-cb_checkbutton_sticky_changed (GtkWidget * widget, gpointer user_data)
+cb_checkbutton_accessx_changed (GtkWidget * widget, gpointer user_data)
 {
 KeyboardMcsDialog *dialog = (KeyboardMcsDialog *) user_data;
 McsPlugin *mcs_plugin = dialog-mcs_plugin;
 
+bounce_key = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(dialog-checkbutton_bounce));
+slow_key = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(dialog-checkbutton_slow));
 sticky_key = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(dialog-checkbutton_sticky));
 if(sticky_key)
 {
@@ -383,10 +406,12 @@
 }
 sticky_key_ltl = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(dialog-checkbutton_sticky_ltl));
 sticky_key_tk = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(dialog-checkbutton_sticky_tk));
-toggle_sticky();
-mcs_manager_set_int (mcs_plugin-manager, Key/Sticky, CHANNEL2, 
sticky_key ? 1 : 0);
+toggle_accessx();
+mcs_manager_set_int (mcs_plugin-manager, Key/StickyKeys, CHANNEL2, 
sticky_key ? 1 : 0);
 mcs_manager_set_int (mcs_plugin-manager, Key/StickyLatchToLock, 
CHANNEL2, sticky_key_ltl ? 1 : 0);
 mcs_manager_set_int (mcs_plugin-manager, Key/StickyTwoKeysDisable, 
CHANNEL2, sticky_key_tk ? 1 : 0);
+mcs_manager_set_int (mcs_plugin-manager, Key/BounceKeys, CHANNEL2, 
bounce_key ? 1 : 0);
+mcs_manager_set_int (mcs_plugin-manager, Key/SlowKeys, CHANNEL2, 
slow_key ? 1 : 0);
 mcs_manager_notify (mcs_plugin-manager, CHANNEL2);
 write_options (mcs_plugin);
 }
@@ -667,7 +692,7 @@
 gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), nth++), label);
 gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
 
-main_hbox = gtk_hbox_new(FALSE, 5);
+main_hbox = gtk_hbox_new(TRUE, 5);
 gtk_widget_show(main_hbox);
 gtk_container_add(GTK_CONTAINER(notebook), main_hbox);
 

[Xfce4-commits] r22101 - xfce-mcs-plugins/trunk/plugins/keyboard_plugin

2006-06-14 Thread Olivier Fourdan
Author: olivier
Date: 2006-06-14 12:05:41 + (Wed, 14 Jun 2006)
New Revision: 22101

Modified:
   xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
Log:
Funky indentation.

Modified: xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
===
--- xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
2006-06-14 12:03:03 UTC (rev 22100)
+++ xfce-mcs-plugins/trunk/plugins/keyboard_plugin/keyboard_plugin.c
2006-06-14 12:05:41 UTC (rev 22101)
@@ -175,19 +175,19 @@
 gdk_error_trap_push ();
 XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, xkb);
 
-   /* Slow keys */
+/* Slow keys */
 if(slow_key)
 xkb-ctrls-enabled_ctrls |= XkbSlowKeysMask;
 else
 xkb-ctrls-enabled_ctrls = ~XkbSlowKeysMask;
 
-   /* Bounce keys */
+/* Bounce keys */
 if(bounce_key)
 xkb-ctrls-enabled_ctrls |= XkbBounceKeysMask;
 else
 xkb-ctrls-enabled_ctrls = ~XkbBounceKeysMask;
 
-   /* Sticky keys */
+/* Sticky keys */
 if(sticky_key)
 xkb-ctrls-enabled_ctrls |= XkbStickyKeysMask;
 else
@@ -203,11 +203,11 @@
 else
 xkb-ctrls-ax_options = ~XkbAX_TwoKeysMask;
 
-   /* If any option is set, enable 
AccessXKeys, otherwise: don't */
-   if(sticky_key || bounce_key || 
slow_key)
-   
xkb-ctrls-enabled_ctrls |= XkbAccessXKeysMask;
-   else
-   
xkb-ctrls-enabled_ctrls = ~XkbAccessXKeysMask;
+/* If any option is set, enable AccessXKeys, otherwise: don't */
+if(sticky_key || bounce_key || slow_key)
+xkb-ctrls-enabled_ctrls |= XkbAccessXKeysMask;
+else
+xkb-ctrls-enabled_ctrls = ~XkbAccessXKeysMask;
 
 XkbSetControls (GDK_DISPLAY (), XkbControlsEnabledMask | 
XkbStickyKeysMask | XkbBounceKeysMask | XkbSlowKeysMask, xkb);
 XFree (xkb);

___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits


[Xfce4-commits] r22102 - in xarchiver/trunk: . src

2006-06-14 Thread Giuseppe Torelli
Author: colossus
Date: 2006-06-14 12:09:55 + (Wed, 14 Jun 2006)
New Revision: 22102

Modified:
   xarchiver/trunk/TODO
   xarchiver/trunk/src/add_dialog.c
   xarchiver/trunk/src/add_dialog.h
   xarchiver/trunk/src/interface.c
   xarchiver/trunk/src/iso.c
Log:
Updated TODO file, one entry less :)
Continue developing of adding options.


Modified: xarchiver/trunk/TODO
===
--- xarchiver/trunk/TODO2006-06-14 12:05:41 UTC (rev 22101)
+++ xarchiver/trunk/TODO2006-06-14 12:09:55 UTC (rev 22102)
@@ -7,5 +7,4 @@
 - add cmd-line switches [PARTIALLY DONE, -x and -e are completed]
 - develop the add dialog showing most of the options for current archive 
[PARTIALLY DONE]
 - polish the code in main.c regarding the cmd-line switches.
-- develop a password entry dialog needed when testing a password protected 
archive.
 - fix bugs #1736, #1849, #1879.

Modified: xarchiver/trunk/src/add_dialog.c
===
--- xarchiver/trunk/src/add_dialog.c2006-06-14 12:05:41 UTC (rev 22101)
+++ xarchiver/trunk/src/add_dialog.c2006-06-14 12:09:55 UTC (rev 22102)
@@ -27,9 +27,14 @@
 Add_dialog_data *xa_create_add_dialog (XArchive *archive)
 {
Add_dialog_data *add_dialog;
+   unsigned short int default_value, max_value;
+   default_value = max_value = 0;
+   gchar *compression_msg = NULL;
 
add_dialog = g_new0 (Add_dialog_data, 1);
add_dialog-file_dir_radio_group = NULL;
+   add_dialog-option_tooltip = gtk_tooltips_new ();
+
add_dialog-dialog1 = gtk_dialog_new ();
gtk_window_set_title (GTK_WINDOW (add_dialog-dialog1), _(Add 
Dialog));
gtk_window_set_type_hint (GTK_WINDOW (add_dialog-dialog1), 
GDK_WINDOW_TYPE_HINT_DIALOG);
@@ -147,30 +152,79 @@
add_dialog-add_full_path = gtk_check_button_new_with_mnemonic (_(Do 
not add file paths));
gtk_widget_show (add_dialog-add_full_path);
gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), 
add_dialog-add_full_path, FALSE, FALSE, 0);
+   gtk_tooltips_set_tip 
(add_dialog-option_tooltip,add_dialog-add_full_path , _(Store just the name 
of a saved file (junk the path), and do not directory names.), NULL);
 
-   add_dialog-freshen = gtk_check_button_new_with_mnemonic (_(Freshen an 
existing entry in the archive));
-   gtk_widget_show (add_dialog-freshen);
-   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), add_dialog-freshen, 
FALSE, FALSE, 0);
+   if (archive-type == XARCHIVETYPE_ZIP || archive-type == 
XARCHIVETYPE_RAR || archive-type == XARCHIVETYPE_ARJ || archive-type == 
XARCHIVETYPE_7ZIP )
+   {
+   if (archive-type != XARCHIVETYPE_7ZIP)
+   {
+   add_dialog-freshen = 
gtk_check_button_new_with_mnemonic (_(Freshen an existing entry in the 
archive));
+   gtk_widget_show (add_dialog-freshen);
+   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), 
add_dialog-freshen, FALSE, FALSE, 0);
+   gtk_tooltips_set_tip 
(add_dialog-option_tooltip,add_dialog-freshen , _(This options affects the 
archive only if it has been modified more recently than the version already in 
the zip archive; unlike the update option it will not add files that are not 
already in the zip archive.), NULL );
+   g_signal_connect (G_OBJECT 
(add_dialog-freshen),toggled,G_CALLBACK (add_fresh_update_toggled_cb) , 
add_dialog);
+   }
+   
+   add_dialog-update = gtk_check_button_new_with_mnemonic 
(_(Update an existing entry in the archive));
+   gtk_widget_show (add_dialog-update);
+   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), 
add_dialog-update, FALSE, FALSE, 0);
+   gtk_tooltips_set_tip 
(add_dialog-option_tooltip,add_dialog-update, _(This option will add any new 
files and update any files which have been modified since the archive was last 
created/modified.), NULL );
+   if (archive-type != XARCHIVETYPE_7ZIP)
+   g_signal_connect (G_OBJECT 
(add_dialog-update),toggled,G_CALLBACK (add_update_fresh_toggled_cb) , 
add_dialog);
 
-   add_dialog-update = gtk_check_button_new_with_mnemonic (_(Update an 
existing entry in the archive));
-   gtk_widget_show (add_dialog-update);
-   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), add_dialog-update, 
FALSE, FALSE, 0);
+   add_dialog-hbox2 = gtk_hbox_new (FALSE, 6);
+   gtk_widget_show (add_dialog-hbox2);
+   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), 
add_dialog-hbox2, TRUE, TRUE, 0);
 
-   add_dialog-hbox2 = gtk_hbox_new (FALSE, 6);
-   gtk_widget_show (add_dialog-hbox2);
-   gtk_box_pack_start (GTK_BOX (add_dialog-vbox6), add_dialog-hbox2, 
TRUE, TRUE, 0);
+   if (archive-type == XARCHIVETYPE_7ZIP)
+   {
+  

[Xfce4-commits] r22108 - xfwm4/trunk/src

2006-06-14 Thread Olivier Fourdan
Author: olivier
Date: 2006-06-14 21:33:56 + (Wed, 14 Jun 2006)
New Revision: 22108

Modified:
   xfwm4/trunk/src/compositor.c
Log:
Missing argument in debug trace

Modified: xfwm4/trunk/src/compositor.c
===
--- xfwm4/trunk/src/compositor.c2006-06-14 21:12:54 UTC (rev 22107)
+++ xfwm4/trunk/src/compositor.c2006-06-14 21:33:56 UTC (rev 22108)
@@ -981,8 +981,7 @@
 screen_info-overlays++;
 cw-redirected = FALSE;
 XCompositeUnredirectWindow (display_info-dpy, cw-id, 
display_info-composite_mode);
-
-TRACE (Window 0x%lx unredirected);
+TRACE (Window 0x%lx unredirected, cw-id);
 }
 }
 

___
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits