mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 10:52:52 +00:00
173 lines
6.4 KiB
Text
173 lines
6.4 KiB
Text
//
|
|
// Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
|
|
// Earlier copyrights 1998 - 2007 Jim Bublitz also apply
|
|
|
|
// Generated by twine
|
|
|
|
// This file is part of PyKDE4.
|
|
|
|
// PyKDE4 is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU Lesser General Public License as
|
|
// published by the Free Software Foundation; either version 2.1 of
|
|
// the License, or (at your option) any later version.
|
|
|
|
// PyKDE4 is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
class KWindowSystem : QObject, NET
|
|
{
|
|
%TypeHeaderCode
|
|
#include <kwindowsystem.h>
|
|
%End
|
|
|
|
|
|
public:
|
|
static KWindowSystem* self ();
|
|
static const QList<WId>& windows ();
|
|
static bool hasWId (WId id);
|
|
static KWindowInfo windowInfo (WId win, unsigned long properties, unsigned long properties2 = 0);
|
|
static QList<WId> stackingOrder ();
|
|
static WId activeWindow ();
|
|
static void activateWindow (WId win, long time = 0);
|
|
static void forceActiveWindow (WId win, long time = 0);
|
|
static void demandAttention (WId win, bool set = 1);
|
|
static bool compositingActive ();
|
|
static int currentDesktop ();
|
|
static int numberOfDesktops ();
|
|
static void setCurrentDesktop (int desktop);
|
|
static void setOnAllDesktops (WId win, bool b);
|
|
static void setOnDesktop (WId win, int desktop);
|
|
static void setMainWindow (QWidget* subwindow, WId mainwindow);
|
|
static WId transientFor (WId window);
|
|
static WId groupLeader (WId window);
|
|
static QPixmap icon (WId win, int width = -1, int height = -1, bool scale = 0);
|
|
|
|
enum IconSource
|
|
{
|
|
NETWM,
|
|
WMHints,
|
|
ClassHint,
|
|
XApp
|
|
};
|
|
|
|
static QPixmap icon (WId win, int width, int height, bool scale, int flags);
|
|
static void setIcons (WId win, const QPixmap& icon, const QPixmap& miniIcon);
|
|
static void setType (WId win, NET::WindowType windowType);
|
|
static void setState (WId win, unsigned long state);
|
|
static void clearState (WId win, unsigned long state);
|
|
static void minimizeWindow (WId win, bool animation = 1);
|
|
static void unminimizeWindow (WId win, bool animation = 1);
|
|
static void raiseWindow (WId win);
|
|
static void lowerWindow (WId win);
|
|
static bool icccmCompliantMappingState ();
|
|
static QRect workArea (int desktop = -1);
|
|
static QRect workArea (const QList<WId>& excludes, int desktop = -1);
|
|
static QString desktopName (int desktop);
|
|
static void setDesktopName (int desktop, const QString& name);
|
|
static bool showingDesktop ();
|
|
static void setUserTime (WId win, long time);
|
|
static void setExtendedStrut (WId win, int left_width, int left_start, int left_end, int right_width, int right_start, int right_end, int top_width, int top_start, int top_end, int bottom_width, int bottom_start, int bottom_end);
|
|
static void setStrut (WId win, int left, int right, int top, int bottom);
|
|
static bool allowedActionsSupported ();
|
|
static QString readNameProperty (WId window, unsigned long atom);
|
|
static void doNotManage (const QString& title);
|
|
static bool mapViewport ();
|
|
static int viewportToDesktop (const QPoint& pos);
|
|
static int viewportWindowToDesktop (const QRect& r);
|
|
static QPoint desktopToViewport (int desktop, bool absolute);
|
|
static QPoint constrainViewportRelativePosition (const QPoint& pos);
|
|
|
|
signals:
|
|
void currentDesktopChanged (int desktop);
|
|
void windowAdded (WId id);
|
|
void windowRemoved (WId id);
|
|
void activeWindowChanged (WId id);
|
|
void desktopNamesChanged ();
|
|
void numberOfDesktopsChanged (int num);
|
|
void workAreaChanged ();
|
|
void strutChanged ();
|
|
void stackingOrderChanged ();
|
|
//ig void windowChanged (WId id, const unsigned long* properties /Out/);
|
|
void windowChanged (WId id, unsigned int properties);
|
|
void windowChanged (WId id);
|
|
void showingDesktopChanged (bool showing);
|
|
|
|
protected:
|
|
//force
|
|
virtual void connectNotify (SIP_SIGNAL);
|
|
|
|
//end
|
|
private:
|
|
KWindowSystem ();
|
|
public:
|
|
static void allowExternalProcessWindowActivation (int pid = -1);
|
|
protected:
|
|
//ig virtual void connectNotify (const char* signal);
|
|
public:
|
|
static void setBlockingCompositing (WId window, bool active);
|
|
signals:
|
|
void compositingChanged (bool enabled);
|
|
};
|
|
// KWindowSystem
|
|
|
|
|
|
|
|
%MappedType QList<WId>
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qlist.h>
|
|
%End
|
|
|
|
%ConvertFromTypeCode
|
|
// Create the list.
|
|
PyObject *l;
|
|
|
|
if ((l = PyList_New(sipCpp->size())) == NULL)
|
|
return NULL;
|
|
|
|
// Set the list elements.
|
|
for (int i = 0; i < sipCpp->size(); ++i) {
|
|
PyObject *pobj;
|
|
|
|
#if PY_MAJOR_VERSION >= 3
|
|
if ((pobj = PyLong_FromLong ((long)sipCpp->value(i))) == NULL) {
|
|
#else
|
|
if ((pobj = PyInt_FromLong ((long)sipCpp->value(i))) == NULL) {
|
|
#endif
|
|
Py_DECREF(l);
|
|
|
|
return NULL;
|
|
}
|
|
|
|
PyList_SET_ITEM(l, i, pobj);
|
|
}
|
|
|
|
return l;
|
|
%End
|
|
|
|
%ConvertToTypeCode
|
|
// Check the type if that is all that is required.
|
|
if (sipIsErr == NULL)
|
|
return PyList_Check(sipPy);
|
|
|
|
QList<WId> *ql = new QList<WId>;
|
|
|
|
for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
|
|
#if PY_MAJOR_VERSION >= 3
|
|
ql->append((WId)PyLong_AsLong(PyList_GET_ITEM(sipPy, i)));
|
|
#else
|
|
ql->append((WId)PyInt_AS_LONG (PyList_GET_ITEM(sipPy, i)));
|
|
#endif
|
|
}
|
|
*sipCppPtr = ql;
|
|
|
|
return sipGetState(sipTransferObj);
|
|
%End
|
|
};
|
|
|