Author: dmeyer
Date: Fri Jul 13 08:33:11 2007
New Revision: 2758
Log:
transient window patch by Jan Christoph Ebersbach
Modified:
trunk/display/src/x11.py
trunk/display/src/x11window.c
Modified: trunk/display/src/x11.py
==============================================================================
--- trunk/display/src/x11.py (original)
+++ trunk/display/src/x11.py Fri Jul 13 08:33:11 2007
@@ -379,6 +379,12 @@
def get_fullscreen(self):
return self._fs_size_save != None
+ def set_transient_for(self, window=None, transient=True):
+ win_id = 0
+ if window:
+ win_id = window.get_id()
+ return self._window.set_transient_for(win_id, transient)
+
def get_id(self):
return self._window.wid
Modified: trunk/display/src/x11window.c
==============================================================================
--- trunk/display/src/x11window.c (original)
+++ trunk/display/src/x11window.c Fri Jul 13 08:33:11 2007
@@ -280,6 +280,32 @@
}
PyObject *
+X11Window_PyObject__set_transient_for_hint(X11Window_PyObject *self, PyObject
*args)
+{
+ int win_id, transient;
+
+ if (!PyArg_ParseTuple(args, "ii", &win_id, &transient))
+ return NULL;
+
+ XLockDisplay(self->display);
+ XUngrabPointer(self->display, CurrentTime);
+ if (!transient)
+ {
+ XDeleteProperty(self->display, self->window, XA_WM_TRANSIENT_FOR);
+ } else
+ {
+ if (!win_id)
+ {
+ win_id = DefaultRootWindow(self->display);
+ }
+ XSetTransientForHint(self->display, self->window, win_id);
+ }
+ XSync(self->display, False);
+ XUnlockDisplay(self->display);
+ return PyBool_FromLong((long) transient);
+}
+
+PyObject *
X11Window_PyObject__get_visible(X11Window_PyObject * self, PyObject * args)
{
XWindowAttributes attrs;
@@ -309,6 +335,7 @@
{ "get_geometry", (PyCFunction)X11Window_PyObject__get_geometry,
METH_VARARGS },
{ "set_cursor_visible",
(PyCFunction)X11Window_PyObject__set_cursor_visible, METH_VARARGS },
{ "set_fullscreen", (PyCFunction)X11Window_PyObject__set_fullscreen,
METH_VARARGS },
+ { "set_transient_for",
(PyCFunction)X11Window_PyObject__set_transient_for_hint, METH_VARARGS },
{ "get_visible", (PyCFunction)X11Window_PyObject__get_visible,
METH_VARARGS },
{ "focus", (PyCFunction)X11Window_PyObject__focus, METH_VARARGS },
{ NULL, NULL }
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog