From: Darren S. <ds...@us...> - 2006-06-28 23:08:28
|
Update of /cvsroot/xine/gnome-xine/src In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14664/src Modified Files: noskin_window.c Log Message: Opacity locking (for WMs which make inactive windows translucent). Currently only works with xfwm4 SVN from revision 22213. See http://bugzilla.xfce.org/show_bug.cgi?id=1958 for more details. Index: noskin_window.c =================================================================== RCS file: /cvsroot/xine/gnome-xine/src/noskin_window.c,v retrieving revision 1.115 retrieving revision 1.116 diff -u -r1.115 -r1.116 --- noskin_window.c 21 Jun 2006 20:18:04 -0000 1.115 +++ noskin_window.c 28 Jun 2006 23:08:25 -0000 1.116 @@ -63,6 +63,7 @@ } app_prop = { FALSE, FALSE, FALSE }; static GtkWidget *fs_toolbar, *wm_toolbar = NULL; +static Atom opacity_lock; static void gtk_window_set_shade (GtkWindow *w, gboolean shade) { @@ -215,6 +216,10 @@ window_fs_toolbar_move (NULL); window_show (fs_toolbar, NULL); gtk_window_stick (GTK_WINDOW(fs_toolbar)); + XChangeProperty (GDK_WINDOW_XDISPLAY (fs_toolbar->window), + GDK_WINDOW_XWINDOW (fs_toolbar->window), opacity_lock, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *)&have_video, 1); return FALSE; } @@ -885,6 +890,12 @@ have_video = 1; + Display *d = GDK_WINDOW_XDISPLAY (app->window); + opacity_lock = XInternAtom (d, "_NET_WM_WINDOW_OPACITY_LOCKED", False); + XChangeProperty (d, GDK_WINDOW_XWINDOW (app->window), opacity_lock, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *)&have_video, 1); + g_idle_add ((GSourceFunc) noskin_main_init_cb, NULL); g_timeout_add (500, update_slider_cb, NULL); } |