From 34cd50ec5173e350b1d8b350fade2948c50113ee Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 5 Jan 2003 02:32:39 +0000 Subject: [PATCH] gets transients! woot. tested and such.. no groups still tho --- src/client.cc | 3 ++- src/client.hh | 3 +++ src/openbox_wrap.cc | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/client.cc b/src/client.cc index b4015aae..34edff3e 100644 --- a/src/client.cc +++ b/src/client.cc @@ -237,7 +237,7 @@ void OBClient::getMwmHints() (unsigned long **)&hints)) return; - if (num == MwmHints::elements) { + if (num >= MwmHints::elements) { // retrieved the hints _mwmhints.flags = hints[0]; _mwmhints.functions = hints[1]; @@ -608,6 +608,7 @@ void OBClient::propertyHandler(const XPropertyEvent &e) getType(); calcLayer(); // type may have changed, so update the layer setupDecorAndFunctions(); + frame->adjustSize(); // this updates the frame for any new decor settings } else if (e.atom == property->atom(otk::OBProperty::net_wm_name) || e.atom == property->atom(otk::OBProperty::wm_name)) diff --git a/src/client.hh b/src/client.hh index 963cff52..067ccccc 100644 --- a/src/client.hh +++ b/src/client.hh @@ -442,6 +442,9 @@ public: //! Returns the functions that the user can perform on the window inline FunctionFlags funtions() const { return _functions; } + //! Return the client this window is transient for + inline OBClient *transientFor() const { return _transient_for; } + //! Returns if the window is modal /*! If the window is modal, then no other windows that it is related to can get diff --git a/src/openbox_wrap.cc b/src/openbox_wrap.cc index 8201bb76..3df4afca 100644 --- a/src/openbox_wrap.cc +++ b/src/openbox_wrap.cc @@ -2134,6 +2134,23 @@ static PyObject *_wrap_OBClient_funtions(PyObject *self, PyObject *args) { } +static PyObject *_wrap_OBClient_transientFor(PyObject *self, PyObject *args) { + PyObject *resultobj; + ob::OBClient *arg1 = (ob::OBClient *) 0 ; + ob::OBClient *result; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:OBClient_transientFor",&obj0)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__OBClient,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + result = (ob::OBClient *)((ob::OBClient const *)arg1)->transientFor(); + + resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__OBClient, 0); + return resultobj; + fail: + return NULL; +} + + static PyObject *_wrap_OBClient_modal(PyObject *self, PyObject *args) { PyObject *resultobj; ob::OBClient *arg1 = (ob::OBClient *) 0 ; @@ -2795,6 +2812,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"OBClient_positionRequested", _wrap_OBClient_positionRequested, METH_VARARGS }, { (char *)"OBClient_decorations", _wrap_OBClient_decorations, METH_VARARGS }, { (char *)"OBClient_funtions", _wrap_OBClient_funtions, METH_VARARGS }, + { (char *)"OBClient_transientFor", _wrap_OBClient_transientFor, METH_VARARGS }, { (char *)"OBClient_modal", _wrap_OBClient_modal, METH_VARARGS }, { (char *)"OBClient_shaded", _wrap_OBClient_shaded, METH_VARARGS }, { (char *)"OBClient_iconic", _wrap_OBClient_iconic, METH_VARARGS }, -- 2.45.2