Logo Search packages:      
Sourcecode: kdebase version File versions

KWinInternal::Client Class Reference

#include <client.h>

Inheritance diagram for KWinInternal::Client:


List of all members.

Detailed Description

The Client class encapsulates a window decoration frame.

Definition at line 45 of file client.h.

Public Types

enum  {
  SettingDecoration = 1 << 0, SettingColors = 1 << 1, SettingFont = 1 << 2, SettingButtons = 1 << 3,
  SettingTooltips = 1 << 4, SettingBorder = 1 << 5
enum  Ability { ABILITY_DUMMY = 10000000 }
enum  BorderSize {
  BorderTiny, BorderNormal, BorderLarge, BorderVeryLarge,
  BorderHuge, BorderVeryHuge, BorderOversized, BordersCount
enum  ColorType {
  ColorTitleBar, ColorTitleBlend, ColorFont, ColorButtonBg,
  ColorFrame, ColorHandle, NUM_COLORS
enum  MaximizeMode { MaximizeRestore = 0, MaximizeVertical = 1, MaximizeHorizontal = 2, MaximizeFull = MaximizeVertical | MaximizeHorizontal }
enum  Position {
  PositionCenter = 0x00, PositionLeft = 0x01, PositionRight = 0x02, PositionTop = 0x04,
  PositionBottom = 0x08, PositionTopLeft = PositionLeft | PositionTop, PositionTopRight = PositionRight | PositionTop, PositionBottomLeft = PositionLeft | PositionBottom,
  PositionBottomRight = PositionRight | PositionBottom
enum  Requirement { REQUIREMENT_DUMMY = 1000000 }
enum  Sizemode {
  SizemodeAny, SizemodeFixedW, SizemodeFixedH, SizemodeMax,
enum  WindowOperation {
  MaximizeOp = 5000, RestoreOp, MinimizeOp, MoveOp,
  UnrestrictedMoveOp, ResizeOp, UnrestrictedResizeOp, CloseOp,
  OnAllDesktopsOp, ShadeOp, KeepAboveOp, KeepBelowOp,
  OperationsOp, WindowRulesOp, ToggleStoreSettingsOp = WindowRulesOp, HMaximizeOp,
  VMaximizeOp, LowerOp, FullScreenOp, NoBorderOp,

Public Member Functions

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

Static Public Member Functions

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

Private Types

enum  FullScreenMode { FullScreenNone, FullScreenNormal, FullScreenHack }

Private Slots

void autoRaise ()
void pingTimeout ()
void processKillerExited ()
void shadeHover ()

Private Member Functions

void addTransient (Client *cl)
void animateMinimizeOrUnminimize (bool minimize)
QPixmap animationPixmap (int w)
bool buttonPressEvent (Window w, int button, int state, int x, int y, int x_root, int y_root)
bool buttonReleaseEvent (Window w, int button, int state, int x, int y, int x_root, int y_root)
void changeMaximize (bool horizontal, bool vertical, bool adjust)
void checkActiveModal ()
void checkDirection (int new_diff, int old_diff, QRect &rect, const QRect &area)
bool checkFullScreenHack (const QRect &geom) const
void checkGroupTransients ()
void checkUnrestrictedMoveResize ()
void cleanGrouping ()
void clearbound ()
void clientMessageEvent (XClientMessageEvent *e)
void configureRequest (int value_mask, int rx, int ry, int rw, int rh, int gravity, bool from_tool)
void configureRequestEvent (XConfigureRequestEvent *e)
void destroyDecoration ()
void destroyNotifyEvent (XDestroyWindowEvent *e)
void detectNoBorder ()
void doDrawbound (const QRect &geom, bool clear)
void drawbound (const QRect &geom)
void embedClient (Window w, const XWindowAttributes &attr)
void enterNotifyEvent (XCrossingEvent *e)
void fetchIconicName ()
void fetchName ()
void finishMoveResize (bool cancel)
void finishWindowRules ()
void focusInEvent (XFocusInEvent *e)
void focusOutEvent (XFocusOutEvent *e)
void getIcons ()
void getMotifHints ()
void getWindowProtocols ()
void getWmClientLeader ()
void getWMHints ()
void getWmNormalHints ()
void grabButton (int mod)
void handleMoveResize (int x, int y, int x_root, int y_root)
bool hasStrut () const
bool hasTransientInternal (const Client *c, bool indirect, ConstClientList &set) const
void hide ()
bool isIconicState () const
bool isManaged () const
bool isMove () const
bool isNormalState () const
bool isResize () const
void killProcess (bool ask, Time timestamp=CurrentTime)
void leaveMoveResize ()
void leaveNotifyEvent (XCrossingEvent *e)
int mappingState () const
bool mapRequestEvent (XMapRequestEvent *e)
bool motionNotifyEvent (Window w, int state, int x, int y, int x_root, int y_root)
Position mousePosition (const QPoint &) const
void pingWindow ()
void positionGeometryTip ()
void processDecorationButtonPress (int button, int state, int x, int y, int x_root, int y_root)
virtual void processMousePressEvent (QMouseEvent *e)
void propertyNotifyEvent (XPropertyEvent *e)
void rawHide ()
void rawShow ()
void readIcons ()
QString readName () const
void readTransient ()
Time readUserCreationTime () const
Time readUserTimeMapTimestamp (const KStartupInfoId *asn_id, const KStartupInfoData *asn_data, bool session) const
void removeFromMainClients ()
void removeTransient (Client *cl)
void resetMaximize ()
void resizeDecoration (const QSize &s)
void resizeWithChecks (const QSize &s, ForceGeometry_t force=NormalGeometrySet)
void resizeWithChecks (int w, int h, ForceGeometry_t force=NormalGeometrySet)
void sendSyntheticConfigureNotify ()
void setCaption (const QString &s, bool force=false)
void setCursor (const QCursor &c)
void setCursor (Position m)
void setMappingState (int s)
void setTransient (Window new_transient_for_id)
void setupWindowRules (bool ignore_temporary)
void show ()
QSize sizeForClientSize (const QSize &, Sizemode mode=SizemodeAny) const
bool startMoveResize ()
void startupIdChanged ()
NETExtendedStrut strut () const
void ungrabButton (int mod)
void unmapNotifyEvent (XUnmapEvent *e)
void updateAllowedActions (bool force=false)
void updateFrameStrut ()
void updateFullScreenHack (const QRect &geom)
void updateUrgency ()
void updateWindowRules ()
void updateWorkareaDiffs ()
Window verifyTransientFor (Window transient_for, bool set)
void visibilityNotifyEvent (XVisibilityEvent *e)
virtual ~Client ()

Static Private Member Functions

static int computeWorkareaDiff (int left, int right, int a_left, int a_right)
static bool sameAppWindowRoleMatch (const Client *c1, const Client *c2, bool active_hack)
static void sendClientMessage (Window w, Atom a, Atom protocol, long data1=0, long data2=0, long data3=0)

Private Attributes

QRegion _mask
uint active:1
unsigned long allowed_actions
QTimer * autoRaiseTimer
int block_geometry
int border_bottom
int border_left
int border_right
int border_top
Bridge * bridge
bool buttonDown
QString cap_iconic
QString cap_normal
QString cap_suffix
Window client
WindowRules client_rules
QSize client_size
Colormap cmap
QCursor cursor
int desk
Window frame
QRect frame_geometry
FullScreenMode fullscreen_mode
QRect geom_fs_restore
QRect geom_restore
uint hidden: 1
QPixmap icon_pix
uint ignore_focus_stealing: 1
Group * in_group
Layer in_layer
WinInfo * info
QRect initialMoveResizeGeom
uint input:1
QPoint invertedMoveOffset
uint is_shape:1
uint keep_above: 1
uint keep_below: 1
int mapping_state
MaximizeMode max_mode
QPixmap miniicon_pix
uint minimized: 1
uint modal: 1
Position mode
uint motif_may_close: 1
uint motif_may_move:1
uint motif_may_resize: 1
uint motif_noborder: 1
bool move_faked_activity
Window move_resize_grab_window
QPoint moveOffset
QRect moveResizeGeom
bool moveResizeMode
uint noborder: 1
uint not_obscured: 1
uint original_skip_taskbar:1
Window original_transient_for_id
uint Pcontexthelp: 1
uint Pdeletewindow:1
QTimer * ping_timer
Time ping_timestamp
uint Pping: 1
KProcess * process_killer
uint Ptakeactivity: 1
uint Ptakefocus:1
QCString resource_class
QCString resource_name
bool shade_geometry_change
ShadeMode shade_mode
QTimer * shadeHoverTimer
uint skip_pager: 1
uint skip_taskbar:1
Window transient_for_id
ClientList transients_list
bool unrestrictedMoveResize
uint urgency: 1
uint user_noborder: 1
Time user_time
Window window_group
QCString window_role
WId wmClientLeaderWin
int workarea_diff_x
int workarea_diff_y
Window wrapper
Workspace * wspace
XSizeHints xSizeHint

Static Private Attributes

static bool check_active_modal = false


class Bridge
struct CheckIgnoreFocusStealingProcedure
struct FetchNameInternalPredicate
struct ResetupRulesProcedure

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index