24#ifndef KWINDOWSYSTEM_H
25#define KWINDOWSYSTEM_H
28#include <QtCore/QObject>
29#include <QtGui/QWidgetList>
33class KWindowSystemPrivate;
90 static bool hasWId(WId
id);
102 static KWindowInfo windowInfo( WId win,
unsigned long properties,
unsigned long properties2 = 0 );
117 static WId activeWindow();
145 static void activateWindow( WId win,
long time = 0 );
159 static void forceActiveWindow( WId win,
long time = 0 );
170 static void demandAttention( WId win,
bool set =
true );
176 static bool compositingActive();
182 static int currentDesktop();
188 static int numberOfDesktops();
195 static void setCurrentDesktop(
int desktop );
205 static void setOnAllDesktops( WId win,
bool b );
213 static void setOnDesktop( WId win,
int desktop);
226 static void setMainWindow(
QWidget* subwindow, WId mainwindow );
234 static WId transientFor( WId window );
240 static WId groupLeader( WId window );
258 static QPixmap icon( WId win,
int width = -1,
int height = -1,
bool scale =
false );
287 static QPixmap icon( WId win,
int width,
int height,
bool scale,
int flags );
295 static void setIcons( WId win,
const QPixmap& icon,
const QPixmap& miniIcon );
314 static void setState( WId win,
unsigned long state );
327 static void clearState( WId win,
unsigned long state );
337 static void minimizeWindow( WId win,
bool animation =
true );
347 static void unminimizeWindow( WId win,
bool animation =
true );
355 static void raiseWindow( WId win );
363 static void lowerWindow( WId win );
370 static bool icccmCompliantMappingState();
379 static QRect workArea(
int desktop = - 1 );
392 static QRect workArea(
const QList<WId> &excludes,
int desktop = -1);
399 static QString desktopName(
int desktop );
406 static void setDesktopName(
int desktop,
const QString& name );
411 static bool showingDesktop();
421 static void setUserTime( WId win,
long time );
443 static void setExtendedStrut( WId win,
int left_width,
int left_start,
int left_end,
444 int right_width,
int right_start,
int right_end,
int top_width,
int top_start,
int top_end,
445 int bottom_width,
int bottom_start,
int bottom_end );
458 static void setStrut( WId win,
int left,
int right,
int top,
int bottom );
462 static bool allowedActionsSupported();
467 static QString readNameProperty( WId window,
unsigned long atom );
478 static void doNotManage(
const QString& title );
497 static void allowExternalProcessWindowActivation(
int pid = -1 );
503 static void setBlockingCompositing( WId window,
bool active );
510 static bool mapViewport();
515 static int viewportToDesktop(
const QPoint& pos );
520 static int viewportWindowToDesktop(
const QRect& r );
525 static QPoint desktopToViewport(
int desktop,
bool absolute );
532 static QPoint constrainViewportRelativePosition(
const QPoint& pos );
639 virtual void connectNotify(
const char* signal );
642 friend class KWindowSystemStaticContainer;
649 static void init(
int);
651 friend class KWindowSystemPrivate;
652 static KWindowSystemPrivate* s_d_func();
Information about a window.
Convenience access to certain properties and features of the window manager.
void stackingOrderChanged()
Emitted when the stacking order of the window changed.
void desktopNamesChanged()
Desktops have been renamed.
void strutChanged()
Something changed with the struts, may or may not have changed the work area.
void numberOfDesktopsChanged(int num)
The number of desktops changed.
void compositingChanged(bool enabled)
Compositing was enabled or disabled.
void currentDesktopChanged(int desktop)
Switched to another virtual desktop.
void showingDesktopChanged(bool showing)
The state of showing the desktop has changed.
IconSource
Masks specifying from which sources to read an icon.
void workAreaChanged()
The workarea has changed.
void windowChanged(WId id, unsigned int properties)
void windowChanged(WId id, const unsigned long *properties)
The window changed.
void windowChanged(WId id)
The window changed somehow.
void windowAdded(WId id)
A window has been added.
void activeWindowChanged(WId id)
Hint that <Window> is active (= has focus) now.
void windowRemoved(WId id)
A window has been removed.