diff -r -u a/lib/screenshooter-capture.c b/lib/screenshooter-capture.c --- a/lib/screenshooter-capture.c 2010-01-02 20:41:40.000000000 +0900 +++ b/lib/screenshooter-capture.c 2010-12-22 18:40:27.963333345 +0900 @@ -63,6 +63,7 @@ static gboolean cb_key_pressed (GtkWidget *widget, GdkEventKey *event, gboolean *cancelled); +static gboolean cb_timeout (GtkWidget *widget); static gboolean cb_expose (GtkWidget *widget, GdkEventExpose *event, RubberBandData *rbdata); @@ -482,7 +483,12 @@ return FALSE; } - +static gboolean cb_timeout (GtkWidget *widget) +{ + gtk_widget_destroy(widget); + + return FALSE; +} static gboolean cb_button_released (GtkWidget *widget, GdkEventButton *event, @@ -492,6 +498,14 @@ { if (rbdata->rubber_banding) { + /* + Fix for Bug http://bugzilla.xfce.org/show_bug.cgi?id=6696 + Sets the transparency is 0, and destroy the window + after a screenshot (1 sec), and did not need to filter. + */ + gdk_window_set_opacity(widget->window, 0.0); + g_timeout_add(1000, (GSourceFunc) cb_timeout, widget); + gtk_dialog_response (GTK_DIALOG (widget), GTK_RESPONSE_NONE); return TRUE; } @@ -638,7 +652,7 @@ gdk_pointer_grab (window->window, TRUE, 0, NULL, NULL, GDK_CURRENT_TIME); gtk_dialog_run (GTK_DIALOG (window)); - gtk_widget_destroy (window); +// gtk_widget_destroy (window); gdk_cursor_unref (xhair_cursor); if (cancelled)