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 | slotSwitchToScreen (int) |
void | slotWindowToScreen (int) |
void | slotSwitchToNextScreen () |
void | slotWindowToNextScreen () |
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 |
QRect | clientArea (clientAreaOption, int screen, int desktop) 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) |
int | activeScreen () const |
int | numScreens () const |
void | checkActiveScreen (const Client *c) |
void | setActiveScreenMouse (QPoint mousepos) |
QRect | screenGeometry (int screen) const |
int | screenNumber (QPoint pos) const |
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 | sendClientToScreen (Client *c, int screen) |
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 | disableRulesUpdates (bool disable) |
bool | rulesUpdatesDisabled () const |
void | cascadeDesktop () |
void | unclutterDesktop () |
void | doNotManage (QString) |
bool | setCurrentDesktop (int new_desktop) |
void | nextDesktop () |
void | previousDesktop () |
void | circulateDesktopApplications () |
void | setCurrentScreen (int new_screen) |
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, | |
int | screen, | |||
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 214 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 701 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 304 of file activation.cpp.
void KWinInternal::Workspace::updateColormap | ( | ) |
Updates the current colormap according to the currently active client
Definition at line 889 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 592 of file geometry.cpp.
void KWinInternal::Workspace::place | ( | Client * | c, | |
QRect & | area | |||
) |
Asks the internal positioning object to place a client
Definition at line 805 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 283 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 384 of file activation.cpp.
int KWinInternal::Workspace::currentDesktop | ( | ) | const [inline, virtual] |
Returns the current virtual desktop of this workspace.
Implements KWinInterface.
Definition at line 711 of file workspace.h.
int KWinInternal::Workspace::numberOfDesktops | ( | ) | const [inline] |
Returns the number of virtual desktops of this workspace.
Definition at line 716 of file workspace.h.
void KWinInternal::Workspace::setNumberOfDesktops | ( | int | n | ) |
Sets the number of virtual desktops to n
Definition at line 1439 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 2038 of file workspace.cpp.
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature.
Definition at line 1256 of file tabbox.cpp.
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature.
Definition at line 1273 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 1290 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 1306 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 731 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 1496 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 1211 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 606 of file geometry.cpp.
void KWinInternal::Workspace::unclutterDesktop | ( | ) | [virtual] |
Unclutters the current desktop by smart-placing all clients again.
Implements KWinInterface.
Definition at line 628 of file geometry.cpp.
void KWinInternal::Workspace::doNotManage | ( | QString | title | ) | [virtual] |
avoids managing a window with title title
Implements KWinInterface.
Definition at line 1076 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 1185 of file workspace.cpp.
bool KWinInternal::Workspace::isNotManaged | ( | const QString & | title | ) |
Hack for java applets
Definition at line 1084 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 2448 of file workspace.cpp.
void KWinInternal::Workspace::refresh | ( | ) | [virtual, slot] |
Refreshes all the client windows
Implements KWinInterface.
Definition at line 1101 of file workspace.cpp.
void KWinInternal::Workspace::slotWindowMaximize | ( | ) | [slot] |
Maximizes the popup client
Definition at line 950 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMaximizeVertical | ( | ) | [slot] |
Maximizes the popup client vertically
Definition at line 960 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMaximizeHorizontal | ( | ) | [slot] |
Maximizes the popup client horiozontally
Definition at line 970 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMinimize | ( | ) | [slot] |
Minimizes the popup client
Definition at line 981 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowShade | ( | ) | [slot] |
Shades/unshades the popup client respectively
Definition at line 990 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowRaise | ( | ) | [slot] |
Raises the popup client
Definition at line 999 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowLower | ( | ) | [slot] |
Lowers the popup client
Definition at line 1009 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowRaiseOrLower | ( | ) | [slot] |
Does a toggle-raise-and-lower on the popup client;
Definition at line 1019 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 591 of file placement.cpp.
void KWinInternal::Workspace::slotWindowOperations | ( | ) | [slot] |
Shows the window operations popup menu for the activeClient()
Definition at line 1203 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowClose | ( | ) | [slot] |
Closes the popup client
Definition at line 1249 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowMove | ( | ) | [slot] |
Starts keyboard move mode for the popup client
Definition at line 1260 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowResize | ( | ) | [slot] |
Starts keyboard resize mode for the popup client
Definition at line 1269 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowToNextDesktop | ( | ) | [slot] |
Move window to next desktop
Definition at line 1070 of file useractions.cpp.
void KWinInternal::Workspace::slotWindowToPreviousDesktop | ( | ) | [slot] |
Move window to previous desktop
Definition at line 1092 of file useractions.cpp.
void KWinInternal::Workspace::slotMouseEmulation | ( | ) | [slot] |
Invokes keyboard mouse emulation
Definition at line 1808 of file workspace.cpp.
void KWinInternal::Workspace::slotKillWindow | ( | ) | [slot] |
Kill Window feature, similar to xkill
Definition at line 1175 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 1743 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 1797 of file workspace.cpp.
bool KWinInternal::Workspace::keyPressMouseEmulation | ( | XKeyEvent & | ev | ) | [protected] |
Handles keypress event during mouse emulation
Definition at line 1940 of file workspace.cpp.
bool KWinInternal::Workspace::netCheck | ( | XEvent * | e | ) | [protected] |
Handles client messages sent to the workspace
Definition at line 497 of file events.cpp.
The documentation for this class was generated from the following files: