Jump to content

KWin/GSoC/Modularization

From KDE Community Wiki

Modularization of KWin

Removing Scene dependency from Core

Use of Workspace

  • scene_open_glx.cpp and scene_opengl_egl.cpp
    • wspace->destroyOverlay();
    • wspace->overlayWindow();
    • wspace->createOverlay();
    • wspace->setupOverlay(buffer);
  • only scene_open_glx.cpp
    • QTimer::singleShot(0, Workspace::self(), SLOT(fallbackToXRenderCompositing()));
  • scene_xrender.cpp
    • wspace->createOverlay();
    • wspace->setupOverlay(None);
    • wspace->overlayWindow()
    • wspace->destroyOverlay();
    • wspace->setOverlayShape(reg);
    • wspace->showOverlay();
    • wspace->hideOverlay();
    • QTimer::singleShot(0, Workspace::self(), SLOT(finishCompositing()));
    • Workspace::self()->decorationHasAlpha()


Use of Toplevel (in Scene::Window)

  • scene.cpp
    • toplevel->shape()
    • toplevel->frameId()
    • toplevel->clientPos()
    • toplevel->clientSize()
    • toplevel->isOnCurrentDesktop()
    • toplevel->isOnCurrentActivity()
    • toplevel->geometry()
    • toplevel->opacity()
    • toplevel->hasAlpha()
    • toplevel->visibleRect().size()
  • scene_opengl.cpp
    • toplevel->damage()
    • toplevel->windowPixmap()
    • toplevel->size()
    • toplevel->depth()
    • toplevel->resetDamage
    • toplevel->clientPos()
    • toplevel->clientSize()
    • toplevel->visibleRect()
    • toplevel->hasAlpha()
  • scene_xrender.cpp
    • toplevel->damage()
    • toplevel->windowPixmap()
    • toplevel->resetDamage
    • toplevel->rect()
    • toplevel)->decorationRect()
    • toplevel->visibleRect()
    • toplevel->clientPos()
    • toplevel->clientSize()
  • scene_open_glx.cpp and scene_opengl_egl.cpp
    • void SceneOpenGL::paint(QRegion damage, ToplevelList toplevels)

Use of Client (in Scene::Window)

  • scene.cpp
    • c->mask()
    • c->isShade()
    • c->isShown(true);
    • c->isMinimized()
    • c->clientGroup()
    • c->isHiddenInternal()
    • client->decorationRect()
    • client->layoutDecorationRects()
    • c->effectWindow()