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

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 | 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) const |
Client * | findDesktop (bool topmost, int desktop) const |
void | sendClientToDesktop (Client *c, int desktop, bool dont_activate) |
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 | 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) |
bool | isNotManaged (const QString &title) |
void | sendPingToWindow (Window w, Time timestamp) |
void | sendTakeActivity (Client *c, Time timestamp, long flags) |
void | stopKompmgr () |
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 () |
bool | forcedGlobalMouseGrab () const |
void | clientShortcutUpdated (Client *c) |
bool | shortcutAvailable (const KShortcut &cut, Client *ignore=NULL) const |
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 |
Detailed Description
Definition at line 72 of file workspace.h.
Member Function Documentation
|
|
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().
Definition at line 208 of file geometry.cpp. References currentDesktop(), KWinInternal::options, KWinInternal::Options::xineramaFullscreenEnabled, KWinInternal::Options::xineramaMaximizeEnabled, KWinInternal::Options::xineramaMovementEnabled, and KWinInternal::Options::xineramaPlacementEnabled. Referenced by adjustClientPosition(), adjustClientSize(), KWinInternal::Client::checkWorkspacePosition(), clientArea(), KWinInternal::Client::growHorizontal(), KWinInternal::Client::growVertical(), KWinInternal::Client::isFullScreenable(), KWinInternal::Client::isMaximizable(), KWinInternal::Client::manage(), packPositionDown(), packPositionLeft(), packPositionRight(), packPositionUp(), and slotSetupWindowShortcut(). |
|
Returns the active client, i.e. the client that has the focus (or None if no client has the focus) Definition at line 657 of file workspace.h. Referenced by circulateDesktopApplications(), KWinInternal::TabBox::reset(), and updateColormap(). |
|
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.
Definition at line 260 of file activation.cpp. References currentDesktop(), KWinInternal::Client::desktop(), KWinInternal::Options::focusPolicyIsReasonable(), KWinInternal::Client::ignoreFocusStealing(), KWinInternal::Client::isMinimized(), KWinInternal::Client::isOnDesktop(), KWinInternal::options, raiseClient(), requestFocus(), setActiveClient(), setCurrentDesktop(), KWinInternal::Client::unminimize(), and KWinInternal::Client::updateUserTime(). Referenced by KWinInternal::RootInfo::changeActiveWindow(), KWinInternal::Client::checkActiveModal(), circulateDesktopApplications(), and takeActivity(). |
|
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.
Definition at line 300 of file activation.cpp. References takeActivity(). Referenced by activateClient(), activateNextClient(), KWinInternal::Client::manage(), restoreFocus(), sendClientToDesktop(), setCurrentDesktop(), KWinInternal::Client::setShade(), and workspaceEvent(). |
|
Updates the current colormap according to the currently active client Definition at line 777 of file workspace.cpp. References activeClient(), and KWinInternal::Client::colormap(). Referenced by setActiveClient(), and KWinInternal::Client::windowEvent(). |
|
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. Referenced by slotSwitchDesktopDown(), slotSwitchDesktopLeft(), slotWindowMaximizeVertical(), slotWindowShade(), and slotWindowToDesktop(). |
|
Asks the internal positioning object to place a client Definition at line 747 of file placement.cpp. References KWinInternal::Placement::place(). Referenced by KWinInternal::Client::manage(). |
|
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. References KWinInternal::Options::borderSnapZone, clientArea(), currentDesktop(), KWinInternal::Client::desktop(), KWinInternal::Client::height(), KWinInternal::options, KWinInternal::Client::rect(), KWinInternal::Options::snapOnlyWhenOverlapping, KWinInternal::Client::width(), and KWinInternal::Options::windowSnapZone. |
|
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 378 of file activation.cpp. References activateNextClient(), KWinInternal::Client::isOnCurrentDesktop(), and KWinInternal::Client::isShown(). Referenced by KWinInternal::Client::destroyClient(), and KWinInternal::Client::releaseWindow(). |
|
|
Returns the number of virtual desktops of this workspace.
Definition at line 672 of file workspace.h. Referenced by KWinInternal::TabBox::handleMouseEvent(), nextDesktop(), KWinInternal::TabBox::nextPrev(), KWinInternal::Placement::Placement(), previousDesktop(), previousDesktopFocusChain(), KWinInternal::TabBox::reset(), setNumberOfDesktops(), and slotSwitchDesktopDown(). |
|
Sets the number of virtual desktops to n Definition at line 1328 of file workspace.cpp. References currentDesktop(), numberOfDesktops(), sendClientToDesktop(), setCurrentDesktop(), and updateClientArea(). Referenced by KWinInternal::RootInfo::changeNumberOfDesktops(). |
|
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 1854 of file workspace.cpp. Referenced by KWinInternal::Bridge::workspaceWidget(). |
|
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature. Definition at line 1108 of file tabbox.cpp. Referenced by KWinInternal::TabBox::nextPrev(). |
|
auxiliary functions to travers all clients according the focus order. Useful for kwms Alt-tab feature. Definition at line 1125 of file tabbox.cpp. Referenced by KWinInternal::TabBox::nextPrev(). |
|
auxiliary functions to travers all clients according the static order. Useful for the CDE-style Alt-tab feature. Definition at line 1142 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 1158 of file tabbox.cpp. |
|
Returns the list of clients sorted in stacking order, with topmost client at the last position.
Definition at line 687 of file workspace.h. Referenced by cascadeDesktop(), KWinInternal::Placement::placeSmart(), setOpacity(), setShadowSize(), setUnshadowed(), and KWinInternal::Bridge::unobscuredRegion(). |
|
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 204 of file layers.cpp. Referenced by KWinInternal::Client::belongsToLayer(), and raiseOrLowerClient(). |
|
Sends client c to desktop desk. Takes care of transients as well. Definition at line 1383 of file workspace.cpp. References currentDesktop(), KWinInternal::Client::desktop(), ensureStackingOrder(), KWinInternal::Options::focusPolicyIsReasonable(), KWinInternal::Client::isOnAllDesktops(), KWinInternal::Client::isOnDesktop(), KWinInternal::options, raiseClient(), requestFocus(), restackClientUnderActive(), KWinInternal::Client::setDesktop(), KWinInternal::Client::transients(), updateClientArea(), and KWinInternal::Client::wantsTabFocus(). Referenced by KWinInternal::WinInfo::changeDesktop(), and setNumberOfDesktops(). |
|
Shows the menu operations menu for the client and makes it active if it's not already.
Definition at line 1063 of file useractions.cpp. Referenced by showWindowMenu(), KWinInternal::Bridge::showWindowMenu(), and slotWindowFullScreen(). |
|
Backwards compatibility.
Definition at line 698 of file workspace.h. References showWindowMenu(). |
|
Sets the client c's transient windows' on_all_desktops property to on_all_desktops. Definition at line 220 of file group.cpp. References KWinInternal::Client::isOnAllDesktops(), and KWinInternal::Client::transients(). Referenced by KWinInternal::Client::manage(), and KWinInternal::Client::setDesktop(). |
|
|
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. Definition at line 195 of file sm.cpp. References KWinInternal::SessionInfo::resourceClass, KWinInternal::Client::resourceClass(), KWinInternal::SessionInfo::resourceName, KWinInternal::Client::resourceName(), KWinInternal::SessionInfo::sessionId, KWinInternal::Client::sessionId(), KWinInternal::SessionInfo::windowRole, KWinInternal::Client::windowRole(), KWinInternal::SessionInfo::wmClientMachine, KWinInternal::Client::wmClientMachine(), KWinInternal::SessionInfo::wmCommand, and KWinInternal::Client::wmCommand(). Referenced by KWinInternal::Client::manage(). |
|
Cascades all clients on the current desktop Implements KWinInterface. Definition at line 593 of file geometry.cpp. References currentDesktop(), KWinInternal::Placement::placeCascaded(), and stackingOrder(). |
|
Unclutters the current desktop by smart-placing all clients again. Implements KWinInterface. Definition at line 617 of file geometry.cpp. References currentDesktop(), and KWinInternal::Placement::placeSmart(). |
|
avoids managing a window with title title Implements KWinInterface. Definition at line 954 of file workspace.cpp. |
|
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 1063 of file workspace.cpp. References currentDesktop(), findDesktop(), KWinInternal::Options::focusPolicyIsReasonable(), focusToNull(), KWinInternal::Client::isOnCurrentDesktop(), KWinInternal::Client::isOnDesktop(), KWinInternal::Client::isShown(), KWinInternal::options, KWinInternal::Notify::raise(), requestFocus(), setActiveClient(), KWinInternal::Client::setDesktop(), and updateCurrentTopMenu(). Referenced by activateClient(), KWinInternal::RootInfo::changeCurrentDesktop(), KWinInternal::Client::manage(), nextDesktop(), previousDesktop(), setNumberOfDesktops(), slotSwitchDesktopLeft(), slotWindowMaximizeVertical(), slotWindowShade(), and slotWindowToDesktop(). |
|
Hack for java applets Definition at line 962 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 214 of file activation.cpp. References KWinInternal::Client::demandAttention(), KWinInternal::Client::isActive(), KWinInternal::Client::isModal(), KWinInternal::Client::setActive(), KWinInternal::Client::transientFor(), updateColormap(), updateCurrentTopMenu(), and KWinInternal::Client::window(). Referenced by activateClient(), activateNextClient(), KWinInternal::Client::setActive(), and setCurrentDesktop(). |
|
Puts the focus on a dummy window Just using XSetInputFocus() with None would block keyboard input Definition at line 2265 of file workspace.cpp. Referenced by activateNextClient(), setCurrentDesktop(), KWinInternal::Client::setShade(), takeActivity(), and workspaceEvent(). |
|
Refreshes all the client windows Implements KWinInterface. Definition at line 979 of file workspace.cpp. |
|
Maximizes the popup client Definition at line 804 of file useractions.cpp. |
|
Maximizes the popup client vertically Definition at line 814 of file useractions.cpp. References currentDesktop(), desktopName(), setClientIsMoving(), setCurrentDesktop(), and KWinInternal::PopupInfo::showInfo(). |
|
Maximizes the popup client horiozontally Definition at line 824 of file useractions.cpp. |
|
Minimizes the popup client Definition at line 835 of file useractions.cpp. |
|
Shades/unshades the popup client respectively Definition at line 844 of file useractions.cpp. References currentDesktop(), desktopName(), setClientIsMoving(), setCurrentDesktop(), and KWinInternal::PopupInfo::showInfo(). |
|
Raises the popup client Definition at line 853 of file useractions.cpp. References KWinInternal::KillWindow::start(). |
|
Lowers the popup client Definition at line 863 of file useractions.cpp. |
|
Does a toggle-raise-and-lower on the popup client; Definition at line 873 of file useractions.cpp. References KWinInternal::Client::isOnAllDesktops(), and KWinInternal::Client::setOnAllDesktops(). |
|
Moves active window left until in bumps into another window or workarea edge. Definition at line 533 of file placement.cpp. References KWinInternal::Client::geometry(), KWinInternal::Client::isMovable(), KWinInternal::Client::move(), packPositionLeft(), and KWinInternal::Client::y(). |
|
Shows the window operations popup menu for the activeClient() Definition at line 1055 of file useractions.cpp. |
|
Closes the popup client Definition at line 1100 of file useractions.cpp. |
|
Starts keyboard move mode for the popup client Definition at line 1111 of file useractions.cpp. |
|
Starts keyboard resize mode for the popup client Definition at line 1120 of file useractions.cpp. |
|
Move window to next desktop Definition at line 924 of file useractions.cpp. |
|
Move window to previous desktop Definition at line 943 of file useractions.cpp. |
|
Invokes keyboard mouse emulation Definition at line 1624 of file workspace.cpp. |
|
Kill Window feature, similar to xkill Definition at line 1027 of file useractions.cpp. Referenced by killWindow(). |
|
Takes a screenshot of the current window and puts it in the clipboard. Definition at line 1559 of file workspace.cpp. References KWinInternal::Shape::available(), KWinInternal::Client::frameId(), and slotGrabDesktop(). |
|
Takes a screenshot of the whole desktop and puts it in the clipboard. Definition at line 1613 of file workspace.cpp. Referenced by slotGrabWindow(). |
|
Handles keypress event during mouse emulation Definition at line 1756 of file workspace.cpp. Referenced by workspaceEvent(). |
|
Handles client messages sent to the workspace Definition at line 493 of file events.cpp. Referenced by workspaceEvent(). |
The documentation for this class was generated from the following files: