Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 42238 Details for
Bug 68256
Patch to use mplayer via xscreensaver
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to mplayer-1.0_pre5 to allow use mplayer as xscreensaver hack
mplayer-1.0_pre5-xscreensaver.patch (text/plain), 6.75 KB, created by
Vitaly
on 2004-10-20 02:55:03 UTC
(
hide
)
Description:
patch to mplayer-1.0_pre5 to allow use mplayer as xscreensaver hack
Filename:
MIME Type:
Creator:
Vitaly
Created:
2004-10-20 02:55:03 UTC
Size:
6.75 KB
patch
obsolete
>diff -ruN MPlayer-1.0pre5/libvo/vroot.h MPlayer-1.0pre5-xscreensaver/libvo/vroot.h >--- MPlayer-1.0pre5/libvo/vroot.h 1970-01-01 03:00:00.000000000 +0300 >+++ MPlayer-1.0pre5-xscreensaver/libvo/vroot.h 2004-10-20 13:26:05.345007848 +0400 >@@ -0,0 +1,151 @@ >+/* -*- Mode: C; tab-width: 2 -*- */ >+/*****************************************************************************/ >+/** Copyright 1991 by Andreas Stolcke **/ >+/** Copyright 1990 by Solbourne Computer Inc. **/ >+/** Longmont, Colorado **/ >+/** **/ >+/** All Rights Reserved **/ >+/** **/ >+/** Permission to use, copy, modify, and distribute this software and **/ >+/** its documentation for any purpose and without fee is hereby **/ >+/** granted, provided that the above copyright notice appear in all **/ >+/** copies and that both that copyright notice and this permis- **/ >+/** sion notice appear in supporting documentation, and that the **/ >+/** name of Solbourne not be used in advertising **/ >+/** in publicity pertaining to distribution of the software without **/ >+/** specific, written prior permission. **/ >+/** **/ >+/** ANDREAS STOLCKE AND SOLBOURNE COMPUTER INC. DISCLAIMS ALL WARRANTIES **/ >+/** WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF **/ >+/** MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ANDREAS STOLCKE **/ >+/** OR SOLBOURNE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL **/ >+/** DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/ >+/** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/ >+/** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/ >+/** OR PERFORMANCE OF THIS SOFTWARE. **/ >+/*****************************************************************************/ >+/* >+ * vroot.h -- Virtual Root Window handling header file >+ * >+ * This header file redefines the X11 macros RootWindow and DefaultRootWindow, >+ * making them look for a virtual root window as provided by certain `virtual' >+ * window managers like swm and tvtwm. If none is found, the ordinary root >+ * window is returned, thus retaining backward compatibility with standard >+ * window managers. >+ * The function implementing the virtual root lookup remembers the result of >+ * its last invocation to avoid overhead in the case of repeated calls >+ * on the same display and screen arguments. >+ * The lookup code itself is taken from Tom LaStrange's ssetroot program. >+ * >+ * Most simple root window changing X programs can be converted to using >+ * virtual roots by just including >+ * >+ * #include <X11/vroot.h> >+ * >+ * after all the X11 header files. It has been tested on such popular >+ * X clients as xphoon, xfroot, xloadimage, and xaqua. >+ * It also works with the core clients xprop, xwininfo, xwd, and editres >+ * (and is necessary to get those clients working under tvtwm). >+ * It does NOT work with xsetroot; get the xsetroot replacement included in >+ * the tvtwm distribution instead. >+ * >+ * Andreas Stolcke <stolcke@ICSI.Berkeley.EDU>, 9/7/90 >+ * - replaced all NULL's with properly cast 0's, 5/6/91 >+ * - free children list (suggested by Mark Martin <mmm@cetia.fr>), 5/16/91 >+ * - include X11/Xlib.h and support RootWindowOfScreen, too 9/17/91 >+ * >+ * Jamie Zawinski <jwz@jwz.org>, 28-Apr-1997 >+ * - use ANSI C >+ * >+ * Jamie Zawinski <jwz@jwz.org>, 3-Sep-2003 >+ * - if the environment variable "XSCREENSAVER_WINDOW" is set, use that >+ * as the root window instead of searching for __SWM_VROOT. >+ */ >+ >+#ifndef _VROOT_H_ >+#define _VROOT_H_ >+#define _XSCREENSAVER_VROOT_H_ >+ >+#if !defined(lint) && !defined(SABER) >+static const char vroot_rcsid[] = >+ "#Id: vroot.h,v 1.5 2003/09/04 01:04:38 jwz Exp #" "\n" >+ "#Id: vroot.h,v 1.4 1991/09/30 19:23:16 stolcke Exp stolcke #"; >+#endif >+ >+#include <stdlib.h> >+#include <X11/X.h> >+#include <X11/Xatom.h> >+#include <X11/Xlib.h> >+ >+static Window >+#ifdef __STDC__ /* ANSIfication added by jwz, to avoid superfluous warnings. */ >+VirtualRootWindowOfScreen(Screen *screen) >+#else /* !__STDC__ */ >+VirtualRootWindowOfScreen(screen) Screen *screen; >+#endif /* !__STDC__ */ >+{ >+ static Screen *save_screen = (Screen *)0; >+ static Window root = (Window)0; >+ >+ if (screen != save_screen) { >+ Display *dpy = DisplayOfScreen(screen); >+ Atom __SWM_VROOT = None; >+ int i; >+ Window rootReturn, parentReturn, *children; >+ unsigned int numChildren; >+ >+ /* first check for a hex or decimal window ID in the environment */ >+ const char *xss_id = getenv("XSCREENSAVER_WINDOW"); >+ if (xss_id && *xss_id) { >+ unsigned long id = 0; >+ char c; >+ if (1 == sscanf (xss_id, " 0x%lx %c", &id, &c) || >+ 1 == sscanf (xss_id, " %lu %c", &id, &c)) { >+ root = (Window) id; >+ save_screen = screen; >+ return root; >+ } >+ } >+ >+ root = RootWindowOfScreen(screen); >+ >+ /* go look for a virtual root */ >+ __SWM_VROOT = XInternAtom(dpy, "__SWM_VROOT", False); >+ if (XQueryTree(dpy, root, &rootReturn, &parentReturn, >+ &children, &numChildren)) { >+ for (i = 0; i < numChildren; i++) { >+ Atom actual_type; >+ int actual_format; >+ unsigned long nitems, bytesafter; >+ Window *newRoot = (Window *)0; >+ >+ if (XGetWindowProperty(dpy, children[i], >+ __SWM_VROOT, 0, 1, False, XA_WINDOW, >+ &actual_type, &actual_format, >+ &nitems, &bytesafter, >+ (unsigned char **) &newRoot) == Success >+ && newRoot) { >+ root = *newRoot; >+ break; >+ } >+ } >+ if (children) >+ XFree((char *)children); >+ } >+ >+ save_screen = screen; >+ } >+ >+ return root; >+} >+ >+#undef RootWindowOfScreen >+#define RootWindowOfScreen(s) VirtualRootWindowOfScreen(s) >+ >+#undef RootWindow >+#define RootWindow(dpy,screen) VirtualRootWindowOfScreen(ScreenOfDisplay(dpy,screen)) >+ >+#undef DefaultRootWindow >+#define DefaultRootWindow(dpy) VirtualRootWindowOfScreen(DefaultScreenOfDisplay(dpy)) >+ >+#endif /* _VROOT_H_ */ >diff -ruN MPlayer-1.0pre5/libvo/x11_common.h MPlayer-1.0pre5-xscreensaver/libvo/x11_common.h >--- MPlayer-1.0pre5/libvo/x11_common.h 2004-06-02 06:34:39.000000000 +0400 >+++ MPlayer-1.0pre5-xscreensaver/libvo/x11_common.h 2004-10-20 13:24:00.587973800 +0400 >@@ -7,6 +7,8 @@ > #include <X11/Xlib.h> > #include <X11/Xutil.h> > >+#include "vroot.h" >+ > #define vo_wm_LAYER 1 > #define vo_wm_FULLSCREEN 2 > #define vo_wm_STAYS_ON_TOP 4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 68256
: 42238 |
42239