KWinInternal::Client Class Reference

#include <client.h>

List of all members.


Detailed Description

The Client class encapsulates a window decoration frame.

Definition at line 46 of file client.h.


Public Types

enum  Sizemode { SizemodeAny, SizemodeFixedW, SizemodeFixedH, SizemodeMax }

Public Member Functions

 Client (Workspace *ws)
Window window () const
Window frameId () const
Window wrapperId () const
Window decorationId () const
Workspaceworkspace () 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 ClientListtransients () const
void checkTransient (Window w)
ClientfindModal ()
const Groupgroup () const
Groupgroup ()
void checkGroup (Group *gr=NULL, bool force=false)
void changeClientLeaderGroup (Group *gr)
NET::WindowType windowType (bool direct=false, int supported_types=SUPPORTED_WINDOW_TYPES_MASK) const
const WindowRulesrules () const
void removeRule (Rules *r)
void setupWindowRules (bool ignore_temporary)
void applyWindowRules ()
QRect geometry () const
QSize size () const
QSize minSize () const
QSize maxSize () 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
QSize adjustedSize () const
QPixmap icon () const
QPixmap miniIcon () const
bool isActive () const
void setActive (bool, bool updateOpacity=true)
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 maximizeModeRestore () 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 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 isSpecialWindow () const
bool isResizable () const
bool isCloseable () const
void takeActivity (int flags, bool handled, allowed_t)
void takeFocus (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 resizeWithChecks (int w, int h, ForceGeometry_t force=NormalGeometrySet)
void resizeWithChecks (const QSize &s, ForceGeometry_t force=NormalGeometrySet)
void keepInArea (QRect area, bool partial=false)
void growHorizontal ()
void shrinkHorizontal ()
void growVertical ()
void shrinkVertical ()
bool providesContextHelp () const
KShortcut shortcut () const
void setShortcut (const QString &cut)
bool performMouseCommand (Options::MouseCommand, QPoint globalPos, bool handled=false)
QCString windowRole () const
QCString sessionId ()
QCString resourceName () const
QCString resourceClass () const
QCString wmCommand ()
QCString wmClientMachine (bool use_localhost) const
Window wmClientLeader () const
pid_t pid () const
QRect adjustedClientArea (const QRect &desktop, const QRect &area) const
Colormap colormap () const
void updateVisibility ()
void hideClient (bool hide)
QString caption (bool full=true) const
void updateCaption ()
void keyPressEvent (uint key_code)
void updateMouseGrab ()
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, Time timestamp, bool send_event=false)
void gotPing (Time timestamp)
void checkWorkspacePosition ()
void updateUserTime (Time time=CurrentTime)
Time userTime () const
bool hasUserTimeSupport () const
bool ignoreFocusStealing () const
void minimize (bool avoid_animation=false)
void unminimize (bool avoid_animation=false)
void closeWindow ()
void killWindow ()
void maximize (MaximizeMode)
void toggleShade ()
void showContextHelp ()
void cancelShadeHover ()
void cancelAutoRaise ()
void destroyClient ()
void checkActiveModal ()
void setOpacity (bool translucent, uint opacity=0)
void setShadowSize (uint shadowSize)
void updateOpacity ()
void updateShadowSize ()
bool hasCustomOpacity ()
void setCustomOpacityFlag (bool custom=true)
bool getWindowOpacity ()
int opacityPercentage ()
void checkAndSetInitialRuledOpacity ()
uint ruleOpacityInactive ()
uint ruleOpacityActive ()
unsigned int opacity ()
bool isBMP ()
void setBMP (bool b)
bool touches (const Client *c)
void setShapable (bool b)
bool hasStrut () const

Static Public Member Functions

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

Friends

class Bridge
struct FetchNameInternalPredicate
struct CheckIgnoreFocusStealingProcedure
struct ResetupRulesProcedure
class GeometryUpdatesPostponer
bool performTransiencyCheck ()

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 69 of file client.cpp.


Member Function Documentation

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

General handler for XEvents concerning the client window

Definition at line 519 of file events.cpp.

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 38 of file manage.cpp.

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 182 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 1023 of file geometry.cpp.

void KWinInternal::Client::setActive ( bool  act,
bool  updateOpacity_ = true 
)

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 807 of file activation.cpp.

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 678 of file client.h.

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 691 of file client.h.

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

Sets the maximization according to vertically and horizontally

Definition at line 1826 of file geometry.cpp.

bool KWinInternal::Client::isMovable (  )  const

Returns whether the window is moveable or has a fixed position.

Definition at line 1598 of file geometry.cpp.

bool KWinInternal::Client::isResizable (  )  const

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

Definition at line 1614 of file geometry.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 1661 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 1776 of file geometry.cpp.

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 1313 of file client.cpp.

bool KWinInternal::Client::performMouseCommand ( Options::MouseCommand  command,
QPoint  globalPos,
bool  handled = false 
)

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

Definition at line 628 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 1602 of file client.cpp.

QCString KWinInternal::Client::wmCommand (  ) 

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

Definition at line 1614 of file client.cpp.

QCString KWinInternal::Client::wmClientMachine ( bool  use_localhost  )  const

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

Definition at line 1635 of file client.cpp.

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 1650 of file client.cpp.

QRect KWinInternal::Client::adjustedClientArea ( const QRect &  desktopArea,
const QRect &  area 
) const

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

Used from Workspace in updateClientArea.

Definition at line 702 of file geometry.cpp.

QString KWinInternal::Client::caption ( bool  full = true  )  const

Reimplemented from superclass.

Definition at line 1424 of file client.cpp.

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

Returns WM_WINDOW_ROLE property for a given window.

Definition at line 1546 of file client.cpp.

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

Returns SM_CLIENT_ID property for a given window.

Definition at line 1554 of file client.cpp.

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

Returns WM_COMMAND property for a given window.

Definition at line 1562 of file client.cpp.

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

Returns WM_CLIENT_LEADER property for a given window.

Definition at line 1570 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 625 of file activation.cpp.

void KWinInternal::Client::minimize ( bool  avoid_animation = false  ) 

Minimizes this client plus its transients

Definition at line 596 of file client.cpp.

void KWinInternal::Client::closeWindow (  ) 

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

Definition at line 1050 of file client.cpp.

void KWinInternal::Client::killWindow (  ) 

Kills the window via XKill

Definition at line 1074 of file client.cpp.

void KWinInternal::Client::showContextHelp (  ) 

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

See also:
providesContextHelp()

Definition at line 1325 of file client.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys