kwin Library API Documentation

KWinInternal::Client Class Reference

The Client class encapsulates a window decoration frame. More...

#include <client.h>

Inheritance diagram for KWinInternal::Client:

KDecorationDefines List of all members.

Public Types

enum  Sizemode {
  SizemodeAny, SizemodeFixedW, SizemodeFixedH, SizemodeMax,
  SizemodeShaded
}
enum  ShadeMode { ShadeNone, ShadeNormal, ShadeHover, ShadeActivated }

Public Slots

void minimize ()
void unminimize ()
void closeWindow ()
void killWindow ()
void maximize (MaximizeMode)
void toggleOnAllDesktops ()
void toggleShade ()
void showContextHelp ()
void autoRaise ()
void cancelAutoRaise ()
void shadeHover ()
void destroyClient ()

Public Member Functions

 Client (Workspace *ws)
Window window () const
Window frameId () const
Window wrapperId () const
Window decorationId () const
Workspace * workspace () const
const ClienttransientFor () const
ClienttransientFor ()
bool isTransient () const
bool groupTransient () const
bool wasOriginallyGroupTransient () const
ClientList mainClients () const
bool hasTransient (const Client *c, bool indirect) const
const ClientList & transients () const
void checkTransient (Window w)
ClientfindModal ()
const Group * group () const
Group * group ()
NET::WindowType windowType (bool strict=false, int supported_types=SUPPORTED_WINDOW_TYPES_MASK) const
QRect geometry () const
QSize size () const
QSize minSize () const
QPoint pos () const
QRect rect () const
int x () const
int y () const
int width () const
int height () const
QPoint clientPos () const
QSize clientSize () const
bool windowEvent (XEvent *e)
virtual bool eventFilter (QObject *o, QEvent *e)
bool manage (Window w, bool isMapped)
void releaseWindow (bool on_shutdown=false)
QSize adjustedSize (const QSize &, Sizemode mode=SizemodeAny) const
QPixmap icon () const
QPixmap miniIcon () const
bool isActive () const
void setActive (bool)
int desktop () const
void setDesktop (int)
bool isOnDesktop (int d) const
bool isOnCurrentDesktop () const
bool isOnAllDesktops () const
void setOnAllDesktops (bool set)
bool isShown (bool shaded_is_shown) const
bool isShade () const
ShadeMode shadeMode () const
void setShade (ShadeMode mode)
bool isShadeable () const
bool isMinimized () const
bool isMaximizable () const
QRect geometryRestore () const
MaximizeMode maximizeMode () const
bool isMinimizable () const
void setMaximize (bool vertically, bool horizontally)
void setFullScreen (bool set, bool user)
bool isFullScreen () const
bool isFullScreenable (bool fullscreen_hack=false) const
bool userCanSetFullScreen () const
QRect geometryFSRestore () const
int fullScreenMode () const
bool isUserNoBorder () const
void setUserNoBorder (bool set)
bool userCanSetNoBorder () const
bool noBorder () const
bool skipTaskbar (bool from_outside=false) const
void setSkipTaskbar (bool set, bool from_outside)
bool skipPager () const
void setSkipPager (bool)
bool keepAbove () const
void setKeepAbove (bool)
bool keepBelow () const
void setKeepBelow (bool)
Layer layer () const
Layer belongsToLayer () const
void invalidateLayer ()
void setModal (bool modal)
bool isModal () const
bool storeSettings () const
void setStoreSettings (bool)
bool wantsTabFocus () const
bool wantsInput () const
bool hasNETSupport () const
bool isMovable () const
bool isDesktop () const
bool isDock () const
bool isToolbar () const
bool isTopMenu () const
bool isMenu () const
bool isNormalWindow () const
bool isDialog () const
bool isSplash () const
bool isUtility () const
bool isOverride () const
bool isSpecialWindow () const
bool isResizable () const
bool isCloseable () const
void takeFocus (bool force, allowed_t)
void demandAttention (bool set=true)
void setMask (const QRegion &r, int mode=X::Unsorted)
QRegion mask () const
void updateDecoration (bool check_workspace_pos, bool force=false)
void checkBorderSizes ()
bool shape () const
void updateShape ()
void setGeometry (int x, int y, int w, int h, ForceGeometry_t force=NormalGeometrySet)
void setGeometry (const QRect &r, ForceGeometry_t force=NormalGeometrySet)
void move (int x, int y, ForceGeometry_t force=NormalGeometrySet)
void move (const QPoint &p, ForceGeometry_t force=NormalGeometrySet)
void plainResize (int w, int h, ForceGeometry_t force=NormalGeometrySet)
void plainResize (const QSize &s, ForceGeometry_t force=NormalGeometrySet)
void keepInArea (const QRect &area)
void growHorizontal ()
void shrinkHorizontal ()
void growVertical ()
void shrinkVertical ()
bool providesContextHelp () const
bool performMouseCommand (Options::MouseCommand, QPoint globalPos)
QCString windowRole () const
QCString sessionId ()
QCString resourceName () const
QCString resourceClass () const
QCString wmCommand ()
QCString wmClientMachine () const
Window wmClientLeader () const
pid_t pid () const
QRect adjustedClientArea (const QRect &area) const
Colormap colormap () const
void hideClient (bool hide)
void virtualDesktopChange ()
QString caption () const
void keyPressEvent (uint key_code)
Window moveResizeGrabWindow () const
const QPoint calculateGravitation (bool invert, int gravity=0) const
void NETMoveResize (int x_root, int y_root, NET::Direction direction)
void NETMoveResizeWindow (int flags, int x, int y, int width, int height)
void restackWindow (Window above, int detail, NET::RequestSource source, bool send_event=false)
void gotPing (Time timestamp)
void checkWorkspacePosition ()
void updateUserTime (Time time=CurrentTime)
Time userTime () const
bool hasUserTimeSupport () const
bool ignoreFocusStealing () const

Static Public Member Functions

QCString staticWindowRole (WId)
QCString staticSessionId (WId)
QCString staticWmCommand (WId)
QCString staticWmClientMachine (WId)
Window staticWmClientLeader (WId)
void deleteClient (Client *c, allowed_t)
bool resourceMatch (const Client *c1, const Client *c2)
bool belongToSameApplication (const Client *c1, const Client *c2, bool active_hack=false)
void readIcons (Window win, QPixmap *icon, QPixmap *miniicon)

Detailed Description

The Client class encapsulates a window decoration frame.

Definition at line 43 of file client.h.


Constructor & Destructor Documentation

KWinInternal::Client::Client Workspace *  ws  ) 
 

This ctor is "dumb" - it only initializes data. All the real initialization is done in manage().

Definition at line 68 of file client.cpp.


Member Function Documentation

bool KWinInternal::Client::windowEvent XEvent *  e  ) 
 

General handler for XEvents concerning the client window

Definition at line 493 of file events.cpp.

References updateUserTime().

bool KWinInternal::Client::manage Window  w,
bool  isMapped
 

Manages the clients. This means handling the very first maprequest: reparenting, initial geometry, initial state, placement, etc. Returns false if KWin is not going to manage this window.

Definition at line 37 of file manage.cpp.

References caption(), desktop(), isMovable(), minimize(), and move().

void KWinInternal::Client::releaseWindow bool  on_shutdown = false  ) 
 

Releases the window. The client has done its job and the window is still existing.

Definition at line 171 of file client.cpp.

QSize KWinInternal::Client::adjustedSize const QSize &  frame,
Sizemode  mode = SizemodeAny
const
 

Adjust the frame size frame according to he window's size hints.

Definition at line 610 of file geometry.cpp.

void KWinInternal::Client::setActive bool  act  ) 
 

Sets the client's active state to act.

This function does only change the visual appearance of the client, it does not change the focus setting. Use Workspace::activateClient() or Workspace::requestFocus() instead.

If a client receives or looses the focus, it calls setActive() on its own.

Definition at line 728 of file activation.cpp.

References KDecoration::activeChange().

int KWinInternal::Client::desktop  )  const [inline]
 

Returns the virtual desktop within the workspace() the client window is located in, 0 if it isn't located on any special desktop (not mapped yet), or NET::OnAllDesktops. Do not use desktop() directly, use isOnDesktop() instead.

Definition at line 605 of file client.h.

Referenced by manage().

bool KWinInternal::Client::isOnDesktop int  d  )  const [inline]
 

Returns whether the client is on the virtual desktop d. This is always TRUE for onAllDesktops clients.

Definition at line 618 of file client.h.

void KWinInternal::Client::setMaximize bool  vertically,
bool  horizontally
 

Sets the maximization according to vertically and horizontally

Definition at line 1223 of file geometry.cpp.

bool KWinInternal::Client::isMovable  )  const
 

Returns whether the window is moveable or has a fixed position. !isMovable implies !isResizable.

Definition at line 1472 of file client.cpp.

Referenced by isResizable(), and manage().

bool KWinInternal::Client::isResizable  )  const
 

Returns whether the window is resizable or has a fixed size.

Definition at line 1094 of file geometry.cpp.

References isMovable().

void KWinInternal::Client::takeFocus bool  force,
allowed_t 
 

Puts the focus on this window. Clients should never calls this themselves, instead they should use Workspace::requestFocus().

Definition at line 1108 of file client.cpp.

void KWinInternal::Client::setGeometry int  x,
int  y,
int  w,
int  h,
ForceGeometry_t  force = NormalGeometrySet
 

Reimplemented to inform the client about the new window position.

Definition at line 1123 of file geometry.cpp.

void KWinInternal::Client::move int  x,
int  y,
ForceGeometry_t  force = NormalGeometrySet
 

Reimplemented to inform the client about the new window position.

Definition at line 1201 of file geometry.cpp.

Referenced by manage().

bool KWinInternal::Client::providesContextHelp  )  const
 

Returns whether the window provides context help or not. If it does, you should show a help menu item or a help button like '?' and call contextHelp() if this is invoked.

See also:
contextHelp()

Definition at line 1139 of file client.cpp.

bool KWinInternal::Client::performMouseCommand Options::MouseCommand  command,
QPoint  globalPos
 

Performs a mouse command on this client (see options.h)

Definition at line 451 of file useractions.cpp.

QCString KWinInternal::Client::sessionId  ) 
 

Returns sessionId for this client, taken either from its window or from the leader window.

Definition at line 1413 of file client.cpp.

References staticSessionId().

QCString KWinInternal::Client::wmCommand  ) 
 

Returns command property for this client, taken either from its window or from the leader window.

Definition at line 1425 of file client.cpp.

References staticWmCommand().

QCString KWinInternal::Client::wmClientMachine  )  const
 

Returns client machine for this client, taken either from its window or from the leader window.

Definition at line 1437 of file client.cpp.

References staticWmClientMachine().

Window KWinInternal::Client::wmClientLeader  )  const
 

Returns client leader window for this client. Returns the client window itself if no leader window is defined.

Definition at line 1449 of file client.cpp.

QRect KWinInternal::Client::adjustedClientArea const QRect &  area  )  const
 

Returns area with the client's strut taken into account.

Used from Workspace in updateClientArea.

Definition at line 415 of file geometry.cpp.

QString KWinInternal::Client::caption  )  const
 

Definition at line 1229 of file client.cpp.

Referenced by killWindow(), and manage().

QCString KWinInternal::Client::staticWindowRole WId  w  )  [static]
 

Returns WM_WINDOW_ROLE property for a given window.

Definition at line 1329 of file client.cpp.

QCString KWinInternal::Client::staticSessionId WId  w  )  [static]
 

Returns SM_CLIENT_ID property for a given window.

Definition at line 1337 of file client.cpp.

Referenced by sessionId().

QCString KWinInternal::Client::staticWmCommand WId  w  )  [static]
 

Returns WM_COMMAND property for a given window.

Definition at line 1345 of file client.cpp.

Referenced by wmCommand().

QCString KWinInternal::Client::staticWmClientMachine WId  w  )  [static]
 

Returns WM_CLIENT_MACHINE property for a given window. Local machine is always returned as "localhost".

Definition at line 1354 of file client.cpp.

Referenced by wmClientMachine().

Window KWinInternal::Client::staticWmClientLeader WId  w  )  [static]
 

Returns WM_CLIENT_LEADER property for a given window.

Definition at line 1381 of file client.cpp.

void KWinInternal::Client::updateUserTime Time  time = CurrentTime  ) 
 

Updates the user time (time of last action in the active window). This is called inside kwin for every action with the window that qualifies for user interaction (clicking on it, activate it externally, etc.).

Definition at line 593 of file activation.cpp.

Referenced by windowEvent().

void KWinInternal::Client::minimize  )  [slot]
 

Minimizes this client plus its transients

Definition at line 503 of file client.cpp.

Referenced by manage().

void KWinInternal::Client::closeWindow  )  [slot]
 

Closes the window by either sending a delete_window message or using XKill.

Definition at line 904 of file client.cpp.

References killWindow().

void KWinInternal::Client::killWindow  )  [slot]
 

Kills the window via XKill

Definition at line 931 of file client.cpp.

References caption().

Referenced by closeWindow().

void KWinInternal::Client::showContextHelp  )  [slot]
 

Invokes context help on the window. Only works if the window actually provides context help.

See also:
providesContextHelp()

Definition at line 1151 of file client.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kwin Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Dec 16 19:08:42 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003