KWinInternal::Workspace Class Reference
Inheritance diagram for KWinInternal::Workspace:

Detailed Description
Definition at line 73 of file workspace.h.
Public Types | |
enum | FocusChainChange { FocusChainMakeFirst, FocusChainMakeLast, FocusChainUpdate } |
Public Slots | |
void | refresh () |
void | slotSwitchDesktopNext () |
void | slotSwitchDesktopPrevious () |
void | slotSwitchDesktopRight () |
void | slotSwitchDesktopLeft () |
void | slotSwitchDesktopUp () |
void | slotSwitchDesktopDown () |
void | slotSwitchToDesktop (int) |
void | slotWindowToDesktop (int) |
void | slotWindowMaximize () |
void | slotWindowMaximizeVertical () |
void | slotWindowMaximizeHorizontal () |
void | slotWindowMinimize () |
void | slotWindowShade () |
void | slotWindowRaise () |
void | slotWindowLower () |
void | slotWindowRaiseOrLower () |
void | slotActivateAttentionWindow () |
void | slotWindowPackLeft () |
void | slotWindowPackRight () |
void | slotWindowPackUp () |
void | slotWindowPackDown () |
void | slotWindowGrowHorizontal () |
void | slotWindowGrowVertical () |
void | slotWindowShrinkHorizontal () |
void | slotWindowShrinkVertical () |
void | slotWalkThroughDesktops () |
void | slotWalkBackThroughDesktops () |
void | slotWalkThroughDesktopList () |
void | slotWalkBackThroughDesktopList () |
void | slotWalkThroughWindows () |
void | slotWalkBackThroughWindows () |
void | slotWindowOperations () |
void | slotWindowClose () |
void | slotWindowMove () |
void | slotWindowResize () |
void | slotWindowAbove () |
void | slotWindowBelow () |
void | slotWindowOnAllDesktops () |
void | slotWindowFullScreen () |
void | slotWindowNoBorder () |
void | slotWindowToNextDesktop () |
void | slotWindowToPreviousDesktop () |
void | slotWindowToDesktopRight () |
void | slotWindowToDesktopLeft () |
void | slotWindowToDesktopUp () |
void | slotWindowToDesktopDown () |
void | slotMouseEmulation () |
void | slotDisableGlobalShortcuts () |
void | slotSettingsChanged (int category) |
void | slotReconfigure () |
void | slotKillWindow () |
void | slotGrabWindow () |
void | slotGrabDesktop () |
void | slotSetupWindowShortcut () |
void | setupWindowShortcutDone (bool) |
void | updateClientArea () |
void | startKompmgr () |
Signals | |
void | kompmgrStarted () |
void | kompmgrStopped () |
Public Member Functions | |
Workspace (bool restore=FALSE) | |
virtual | ~Workspace () |
bool | workspaceEvent (XEvent *) |
KDecoration * | createDecoration (KDecorationBridge *bridge) |
bool | hasClient (const Client *) |
template<typename T> | |
Client * | findClient (T predicate) |
template<typename T1, typename T2> | |
void | forEachClient (T1 procedure, T2 predicate) |
template<typename T> | |
void | forEachClient (T procedure) |
QRect | clientArea (clientAreaOption, const QPoint &p, int desktop) const |
QRect | clientArea (clientAreaOption, const Client *c) const |
void | killWindowId (Window window) |
void | killWindow () |
WId | rootWin () const |
bool | initializing () const |
Client * | activeClient () const |
Client * | mostRecentlyActivatedClient () const |
void | activateClient (Client *, bool force=FALSE) |
void | requestFocus (Client *c, bool force=FALSE) |
void | takeActivity (Client *c, int flags, bool handled) |
void | handleTakeActivity (Client *c, Time timestamp, int flags) |
bool | allowClientActivation (const Client *c, Time time=-1U, bool focus_in=false) |
void | restoreFocus () |
void | gotFocusIn (const Client *) |
void | setShouldGetFocus (Client *) |
bool | fakeRequestedActivity (Client *c) |
void | unfakeActivity (Client *c) |
bool | activateNextClient (Client *c) |
bool | focusChangeEnabled () |
void | updateColormap () |
void | setClientIsMoving (Client *c) |
void | place (Client *c, QRect &area) |
void | placeSmart (Client *c, const QRect &area) |
QPoint | adjustClientPosition (Client *c, QPoint pos) |
QRect | adjustClientSize (Client *c, QRect moveResizeGeom, int mode) |
void | raiseClient (Client *c) |
void | lowerClient (Client *c) |
void | raiseClientRequest (Client *c, NET::RequestSource src, Time timestamp) |
void | lowerClientRequest (Client *c, NET::RequestSource src, Time timestamp) |
void | restackClientUnderActive (Client *) |
void | updateClientLayer (Client *c) |
void | raiseOrLowerClient (Client *) |
void | reconfigure () |
void | clientHidden (Client *) |
void | clientAttentionChanged (Client *c, bool set) |
void | clientMoved (const QPoint &pos, Time time) |
int | currentDesktop () const |
int | numberOfDesktops () const |
void | setNumberOfDesktops (int n) |
QWidget * | desktopWidget () |
Client * | nextFocusChainClient (Client *) const |
Client * | previousFocusChainClient (Client *) const |
Client * | nextStaticClient (Client *) const |
Client * | previousStaticClient (Client *) const |
int | nextDesktopFocusChain (int iDesktop) const |
int | previousDesktopFocusChain (int iDesktop) const |
void | closeTabBox () |
const ClientList & | stackingOrder () const |
ClientList | ensureStackingOrder (const ClientList &clients) const |
Client * | topClientOnDesktop (int desktop, bool unconstrained=false, bool only_normal=true) const |
Client * | findDesktop (bool topmost, int desktop) const |
void | sendClientToDesktop (Client *c, int desktop, bool dont_activate) |
void | windowToPreviousDesktop (Client *c) |
void | windowToNextDesktop (Client *c) |
void | showWindowMenuAt (unsigned long id, int x, int y) |
void | showWindowMenu (const QRect &pos, Client *cl) |
void | showWindowMenu (int x, int y, Client *cl) |
void | showWindowMenu (QPoint pos, Client *cl) |
void | updateMinimizedOfTransients (Client *) |
void | updateOnAllDesktopsOfTransients (Client *) |
void | checkTransients (Window w) |
void | performWindowOperation (Client *c, WindowOperation op) |
void | storeSession (KConfig *config, SMSavePhase phase) |
SessionInfo * | takeSessionInfo (Client *) |
WindowRules | findWindowRules (const Client *, bool) |
void | rulesUpdated () |
void | discardUsedWindowRules (Client *c, bool withdraw) |
void | cascadeDesktop () |
void | unclutterDesktop () |
void | doNotManage (QString) |
bool | setCurrentDesktop (int new_desktop) |
void | nextDesktop () |
void | previousDesktop () |
void | circulateDesktopApplications () |
QString | desktopName (int desk) const |
void | setDesktopLayout (int o, int x, int y) |
void | setShowingDesktop (bool showing) |
void | resetShowingDesktop (bool keep_hidden) |
bool | showingDesktop () const |
bool | isNotManaged (const QString &title) |
void | sendPingToWindow (Window w, Time timestamp) |
void | sendTakeActivity (Client *c, Time timestamp, long flags) |
bool | kompmgrIsRunning () |
void | setOpacity (unsigned long winId, unsigned int opacityPercent) |
void | setShadowSize (unsigned long winId, unsigned int shadowSizePercent) |
void | setUnshadowed (unsigned long winId) |
void | removeClient (Client *, allowed_t) |
void | setActiveClient (Client *, allowed_t) |
Group * | findGroup (Window leader) const |
void | addGroup (Group *group, allowed_t) |
void | removeGroup (Group *group, allowed_t) |
Group * | findClientLeaderGroup (const Client *c) const |
bool | checkStartupNotification (Window w, KStartupInfoId &id, KStartupInfoData &data) |
void | focusToNull () |
void | updateFocusChains (Client *c, FocusChainChange change) |
bool | forcedGlobalMouseGrab () const |
void | clientShortcutUpdated (Client *c) |
bool | shortcutAvailable (const KShortcut &cut, Client *ignore=NULL) const |
bool | globalShortcutsDisabled () const |
void | disableGlobalShortcuts (bool disable) |
void | disableGlobalShortcutsForClient (bool disable) |
void | sessionSaveStarted () |
void | sessionSaveDone () |
void | setWasUserInteraction () |
bool | wasUserInteraction () const |
bool | sessionSaving () const |
bool | managingTopMenus () const |
int | topMenuHeight () const |
void | updateCurrentTopMenu () |
int | packPositionLeft (const Client *cl, int oldx, bool left_edge) const |
int | packPositionRight (const Client *cl, int oldx, bool right_edge) const |
int | packPositionUp (const Client *cl, int oldy, bool top_edge) const |
int | packPositionDown (const Client *cl, int oldy, bool bottom_edge) const |
void | cancelDelayFocus () |
void | requestDelayFocus (Client *) |
void | toggleTopDockShadows (bool on) |
Static Public Member Functions | |
static Workspace * | self () |
static QStringList | configModules (bool controlCenter) |
Protected Member Functions | |
bool | keyPressMouseEmulation (XKeyEvent &ev) |
bool | netCheck (XEvent *e) |
Friends | |
class | StackingUpdatesBlocker |
bool | performTransiencyCheck () |
Member Function Documentation
bool KWinInternal::Workspace::workspaceEvent | ( | XEvent * | e | ) |
Handles workspace specific XEvents
Definition at line 195 of file events.cpp.
QRect KWinInternal::Workspace::clientArea | ( | clientAreaOption | opt, | |
const QPoint & | p, | |||
int | desktop | |||
) | const |
returns the area available for clients. This is the desktop geometry minus windows on the dock. Placement algorithms should refer to this rather than geometry().
- See also:
- geometry()
Definition at line 208 of file geometry.cpp.
Client * KWinInternal::Workspace::activeClient | ( | ) | const [inline] |
Returns the active client, i.e.
the client that has the focus (or None if no client has the focus)
Definition at line 683 of file workspace.h.
void KWinInternal::Workspace::activateClient | ( | Client * | c, | |
bool | force = FALSE | |||
) |
Tries to activate the client c. This function performs what you expect when clicking the respective entry in a taskbar: showing and raising the client (this may imply switching to the another virtual desktop) and putting the focus onto it. Once X really gave focus to the client window as requested, the client itself will call setActiveClient() and the operation is complete. This may not happen with certain focus policies, though.
- See also:
- stActiveClient(), requestFocus()
Definition at line 264 of file activation.cpp.
void KWinInternal::Workspace::requestFocus | ( | Client * | c, | |
bool | force = FALSE | |||
) |
Tries to activate the client by asking X for the input focus. This function does not perform any show, raise or desktop switching. See Workspace::activateClient() instead.
- See also:
- Workspace::activateClient()
Definition at line 303 of file activation.cpp.
void KWinInternal::Workspace::updateColormap | ( | ) |
Updates the current colormap according to the currently active client
Definition at line 886 of file workspace.cpp.
void KWinInternal::Workspace::setClientIsMoving | ( | Client * | c | ) |
Indicates that the client c is being moved around by the user.
Marks the client as being moved around by the user.
Definition at line 579 of file geometry.cpp.
void KWinInternal::Workspace::place | ( | Client * | c, | |
QRect & | area | |||
) |
Asks the internal positioning object to place a client
Definition at line 800 of file placement.cpp.
QPoint KWinInternal::Workspace::adjustClientPosition | ( | Client * | c, | |
QPoint | pos | |||
) |
Client c is moved around to position pos. This gives the workspace the opportunity to interveniate and to implement snap-to-windows functionality.
Definition at line 270 of file geometry.cpp.
void KWinInternal::Workspace::clientHidden | ( | Client * | c | ) |
Informs the workspace that the client c has been hidden. If it was the active client (or to-become the active client), the workspace activates another one.
c may already be destroyed
Definition at line 381 of file activation.cpp.
int KWinInternal::Workspace::currentDesktop | ( | ) | const [inline, virtual] |
Returns the current virtual desktop of this workspace.
Implements KWinInterface.
Definition at line 693 of file workspace.h.
int KWinInternal::Workspace::numberOfDesktops | ( | ) | const [inline] |
Returns the number of virtual desktops of this workspace.
Definition at line 698 of file workspace.h.
void KWinInternal::Workspace::setNumberOfDesktops | ( | int | n | ) |
Sets the number of virtual desktops to n
Definition at line 1435 of file workspace.cpp.
QWidget * KWinInternal::Workspace::desktopWidget | ( | ) |
Returns the workspace's desktop widget. The desktop widget is sometimes required by clients to draw on it, for example outlines on moving or resizing.
Definition at line 1960 of file workspace.cpp.
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature.
Definition at line 1289 of file tabbox.cpp.
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature.
Definition at line 1306 of file tabbox.cpp.
auxiliary functions to travers all clients according the static order. Useful for the CDE-style Alt-tab feature.
Definition at line 1323 of file tabbox.cpp.
auxiliary functions to travers all clients according the static order. Useful for the CDE-style Alt-tab feature.
Definition at line 1339 of file tabbox.cpp.
const ClientList & KWinInternal::Workspace::stackingOrder | ( | ) | const [inline] |
Returns the list of clients sorted in stacking order, with topmost client at the last position.
Definition at line 713 of file workspace.h.
Client * KWinInternal::Workspace::topClientOnDesktop | ( | int | desktop, | |
bool | unconstrained = false , |
|||
bool | only_normal = true | |||
) | const |
Returns topmost visible client. Windows on the dock, the desktop or of any other special kind are excluded. Also if the window doesn't accept focus it's excluded.
Definition at line 197 of file layers.cpp.
void KWinInternal::Workspace::sendClientToDesktop | ( | Client * | c, | |
int | desk, | |||
bool | dont_activate | |||
) |
Sends client c to desktop desk.
Takes care of transients as well.
Definition at line 1492 of file workspace.cpp.
void KWinInternal::Workspace::showWindowMenu | ( | const QRect & | pos, | |
Client * | cl | |||
) |
Shows the menu operations menu for the client and makes it active if it's not already.
Definition at line 1153 of file useractions.cpp.
void KWinInternal::Workspace::showWindowMenu | ( | int | x, | |
int | y, | |||
Client * | cl | |||
) | [inline] |
void KWinInternal::Workspace::updateOnAllDesktopsOfTransients | ( | Client * | c | ) |
void KWinInternal::Workspace::storeSession | ( | KConfig * | config, | |
SMSavePhase | phase | |||
) |
SessionInfo * KWinInternal::Workspace::takeSessionInfo | ( | Client * | c | ) |
Returns a SessionInfo for client c. The returned session info is removed from the storage. It's up to the caller to delete it.
This function is called when a new window is mapped and must be managed. We try to find a matching entry in the session.
May return 0 if there's no session info for the client.
void KWinInternal::Workspace::cascadeDesktop | ( | ) | [virtual] |
Cascades all clients on the current desktop
Implements KWinInterface.
Definition at line 593 of file geometry.cpp.
void KWinInternal::Workspace::unclutterDesktop | ( | ) | [virtual] |
Unclutters the current desktop by smart-placing all clients again.
Implements KWinInterface.
Definition at line 615 of file geometry.cpp.
void KWinInternal::Workspace::doNotManage | ( | QString | title | ) | [virtual] |
avoids managing a window with title title
Implements KWinInterface.
Definition at line 1073 of file workspace.cpp.
bool KWinInternal::Workspace::setCurrentDesktop | ( | int | new_desktop | ) | [virtual] |
Sets the current desktop to new_desktop
Shows/Hides windows according to the stacking order and finally propages the new desktop to the world
Implements KWinInterface.
Definition at line 1182 of file workspace.cpp.
bool KWinInternal::Workspace::isNotManaged | ( | const QString & | title | ) |
Hack for java applets
Definition at line 1081 of file workspace.cpp.
Informs the workspace about the active client, i.e. the client that has the focus (or None if no client has the focus). This functions is called by the client itself that gets focus. It has no other effect than fixing the focus chain and the return value of activeClient(). And of course, to propagate the active client to the world.
Definition at line 216 of file activation.cpp.
void KWinInternal::Workspace::focusToNull | ( | ) |
Puts the focus on a dummy window Just using XSetInputFocus() with None would block keyboard input
Definition at line 2370 of file workspace.cpp.
void KWinInternal::Workspace::refresh | ( | ) | [virtual, slot] |
Refreshes all the client windows
Implements KWinInterface.
Definition at line 1098 of file workspace.cpp.
void KWinInternal::Workspace::slotWindowMaximize | ( | ) | [slot] |
Maximizes the popup client
Definition at line 892 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMaximizeVertical | ( | ) | [slot] |
Maximizes the popup client vertically
Definition at line 902 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMaximizeHorizontal | ( | ) | [slot] |
Maximizes the popup client horiozontally
Definition at line 912 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMinimize | ( | ) | [slot] |
Minimizes the popup client
Definition at line 923 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowShade | ( | ) | [slot] |
Shades/unshades the popup client respectively
Definition at line 932 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowRaise | ( | ) | [slot] |
Raises the popup client
Definition at line 941 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowLower | ( | ) | [slot] |
Lowers the popup client
Definition at line 951 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowRaiseOrLower | ( | ) | [slot] |
Does a toggle-raise-and-lower on the popup client;
Definition at line 961 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowPackLeft | ( | ) | [slot] |
Moves active window left until in bumps into another window or workarea edge.
Definition at line 586 of file placement.cpp.
void KWinInternal::Workspace::slotWindowOperations | ( | ) | [slot] |
Shows the window operations popup menu for the activeClient()
Definition at line 1145 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowClose | ( | ) | [slot] |
Closes the popup client
Definition at line 1191 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMove | ( | ) | [slot] |
Starts keyboard move mode for the popup client
Definition at line 1202 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowResize | ( | ) | [slot] |
Starts keyboard resize mode for the popup client
Definition at line 1211 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowToNextDesktop | ( | ) | [slot] |
Move window to next desktop
Definition at line 1012 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowToPreviousDesktop | ( | ) | [slot] |
Move window to previous desktop
Definition at line 1034 of file useractions.cpp.
void KWinInternal::Workspace::slotMouseEmulation | ( | ) | [slot] |
Invokes keyboard mouse emulation
Definition at line 1730 of file workspace.cpp.
void KWinInternal::Workspace::slotKillWindow | ( | ) | [slot] |
Kill Window feature, similar to xkill
Definition at line 1117 of file useractions.cpp.
void KWinInternal::Workspace::slotGrabWindow | ( | ) | [slot] |
Takes a screenshot of the current window and puts it in the clipboard.
Definition at line 1665 of file workspace.cpp.
void KWinInternal::Workspace::slotGrabDesktop | ( | ) | [slot] |
Takes a screenshot of the whole desktop and puts it in the clipboard.
Definition at line 1719 of file workspace.cpp.
bool KWinInternal::Workspace::keyPressMouseEmulation | ( | XKeyEvent & | ev | ) | [protected] |
Handles keypress event during mouse emulation
Definition at line 1862 of file workspace.cpp.
bool KWinInternal::Workspace::netCheck | ( | XEvent * | e | ) | [protected] |
Handles client messages sent to the workspace
Definition at line 501 of file events.cpp.
The documentation for this class was generated from the following files: