KWin
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
KWin::EffectsHandlerX11 Class Reference

#include <x11_standalone_effects.h>

Inheritance diagram for KWin::EffectsHandlerX11:
KWin::EffectsHandler

Public Member Functions

 EffectsHandlerX11 (Compositor *compositor, WorkspaceScene *scene)
 
 ~EffectsHandlerX11 () override
 
void defineCursor (Qt::CursorShape shape) override
 
- Public Member Functions inherited from KWin::EffectsHandler
 EffectsHandler (Compositor *compositor, WorkspaceScene *scene)
 
 ~EffectsHandler () override
 
void startPaint ()
 
void prePaintScreen (ScreenPrePaintData &data, std::chrono::milliseconds presentTime)
 
void paintScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region, Output *screen)
 
void postPaintScreen ()
 
void prePaintWindow (EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime)
 
void paintWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 
void postPaintWindow (EffectWindow *w)
 
void drawWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 
void renderWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 
QVariant kwinOption (KWinOption kwopt)
 
QPointF cursorPos () const
 
bool grabKeyboard (Effect *effect)
 
void ungrabKeyboard ()
 
void startMouseInterception (Effect *effect, Qt::CursorShape shape)
 
void stopMouseInterception (Effect *effect)
 
bool isMouseInterception () const
 
bool checkInputWindowEvent (QMouseEvent *e)
 
bool checkInputWindowEvent (QWheelEvent *e)
 
void checkInputWindowStacking ()
 
void grabbedKeyboardEvent (QKeyEvent *e)
 
bool hasKeyboardGrab () const
 
void registerPointerShortcut (Qt::KeyboardModifiers modifiers, Qt::MouseButton pointerButtons, QAction *action)
 Registers a global pointer shortcut with the provided action.
 
void registerAxisShortcut (Qt::KeyboardModifiers modifiers, PointerAxisDirection axis, QAction *action)
 Registers a global axis shortcut with the provided action.
 
void registerTouchpadSwipeShortcut (SwipeDirection dir, uint fingerCount, QAction *onUp, std::function< void(qreal)> progressCallback={})
 Registers a global touchpad swipe gesture shortcut with the provided action.
 
void registerTouchpadPinchShortcut (PinchDirection dir, uint fingerCount, QAction *onUp, std::function< void(qreal)> progressCallback={})
 
void registerTouchscreenSwipeShortcut (SwipeDirection direction, uint fingerCount, QAction *action, std::function< void(qreal)> progressCallback)
 Registers a global touchscreen swipe gesture shortcut with the provided action.
 
void startMousePolling ()
 
void stopMousePolling ()
 
void reserveElectricBorder (ElectricBorder border, Effect *effect)
 
void unreserveElectricBorder (ElectricBorder border, Effect *effect)
 
void registerTouchBorder (ElectricBorder border, QAction *action)
 
void registerRealtimeTouchBorder (ElectricBorder border, QAction *action, TouchBorderCallback progressCallback)
 
void unregisterTouchBorder (ElectricBorder border, QAction *action)
 
void activateWindow (KWin::EffectWindow *c)
 
KWin::EffectWindowactiveWindow () const
 
Q_SCRIPTABLE void moveWindow (KWin::EffectWindow *w, const QPoint &pos, bool snap=false, double snapAdjust=1.0)
 
Q_SCRIPTABLE void windowToDesktops (KWin::EffectWindow *w, const QList< KWin::VirtualDesktop * > &desktops)
 
Q_SCRIPTABLE void windowToScreen (KWin::EffectWindow *w, Output *screen)
 
void setShowingDesktop (bool showing)
 
QString currentActivity () const
 
VirtualDesktopcurrentDesktop () const
 
QList< VirtualDesktop * > desktops () const
 
void setCurrentDesktop (KWin::VirtualDesktop *desktop)
 
QSize desktopGridSize () const
 
int desktopGridWidth () const
 
int desktopGridHeight () const
 
int workspaceWidth () const
 
int workspaceHeight () const
 
VirtualDesktopdesktopAtCoords (QPoint coords) const
 
QPoint desktopGridCoords (VirtualDesktop *desktop) const
 
QPoint desktopCoords (VirtualDesktop *desktop) const
 
Q_SCRIPTABLE KWin::VirtualDesktopdesktopAbove (KWin::VirtualDesktop *desktop=nullptr, bool wrap=true) const
 
Q_SCRIPTABLE KWin::VirtualDesktopdesktopToRight (KWin::VirtualDesktop *desktop=nullptr, bool wrap=true) const
 
Q_SCRIPTABLE KWin::VirtualDesktopdesktopBelow (KWin::VirtualDesktop *desktop=nullptr, bool wrap=true) const
 
Q_SCRIPTABLE KWin::VirtualDesktopdesktopToLeft (KWin::VirtualDesktop *desktop=nullptr, bool wrap=true) const
 
Q_SCRIPTABLE QString desktopName (KWin::VirtualDesktop *desktop) const
 
bool optionRollOverDesktops () const
 
OutputactiveScreen () const
 
QRectF clientArea (clientAreaOption, const Output *screen, const VirtualDesktop *desktop) const
 
QRectF clientArea (clientAreaOption, const EffectWindow *c) const
 
QRectF clientArea (clientAreaOption, const QPoint &p, const VirtualDesktop *desktop) const
 
QSize virtualScreenSize () const
 
QRect virtualScreenGeometry () const
 
double animationTimeFactor () const
 
Q_SCRIPTABLE KWin::EffectWindowfindWindow (WId id) const
 
Q_SCRIPTABLE KWin::EffectWindowfindWindow (SurfaceInterface *surf) const
 
Q_SCRIPTABLE KWin::EffectWindowfindWindow (QWindow *w) const
 
Q_SCRIPTABLE KWin::EffectWindowfindWindow (const QUuid &id) const
 
QList< EffectWindow * > stackingOrder () const
 
Q_SCRIPTABLE void setElevatedWindow (KWin::EffectWindow *w, bool set)
 
void setTabBoxWindow (EffectWindow *)
 
QList< EffectWindow * > currentTabBoxWindowList () const
 
void refTabBox ()
 
void unrefTabBox ()
 
void closeTabBox ()
 
EffectWindowcurrentTabBoxWindow () const
 
void setActiveFullScreenEffect (Effect *e)
 
EffectactiveFullScreenEffect () const
 
Q_SCRIPTABLE void addRepaintFull ()
 
Q_SCRIPTABLE void addRepaint (const QRectF &r)
 
Q_SCRIPTABLE void addRepaint (const QRect &r)
 
Q_SCRIPTABLE void addRepaint (const QRegion &r)
 
Q_SCRIPTABLE void addRepaint (int x, int y, int w, int h)
 
CompositingType compositingType () const
 
bool isOpenGLCompositing () const
 Whether the Compositor is OpenGL based (either GL 1 or 2).
 
QPainter * scenePainter ()
 Provides access to the QPainter which is rendering to the back buffer.
 
void reconfigure ()
 
QByteArray readRootProperty (long atom, long type, int format) const
 
xcb_atom_t announceSupportProperty (const QByteArray &propertyName, Effect *effect)
 Announces support for the feature with the given name. If no other Effect has announced support for this feature yet, an X11 property will be installed on the root window.
 
void removeSupportProperty (const QByteArray &propertyName, Effect *effect)
 Removes support for the feature with the given name. If there is no other Effect left which has announced support for the given property, the property will be removed from the root window.
 
bool hasDecorationShadows () const
 
bool decorationsHaveAlpha () const
 
void reloadEffect (Effect *effect)
 
Effectprovides (Effect::Feature ef)
 
EffectfindEffect (const QString &name) const
 
QStringList loadedEffects () const
 
QStringList listOfEffects () const
 
void unloadAllEffects ()
 
QStringList activeEffects () const
 
bool isEffectActive (const QString &pluginId) const
 
bool isScreenLocked () const
 
bool makeOpenGLContextCurrent ()
 Makes the OpenGL compositing context current.
 
void doneOpenGLContextCurrent ()
 Makes a null OpenGL context current resulting in no context being current.
 
xcb_connection_t * xcbConnection () const
 
xcb_window_t x11RootWindow () const
 
DisplaywaylandDisplay () const
 
bool animationsSupported () const
 
PlatformCursorImage cursorImage () const
 
void hideCursor ()
 
void showCursor ()
 
bool isCursorHidden () const
 
void startInteractiveWindowSelection (std::function< void(KWin::EffectWindow *)> callback)
 
void startInteractivePositionSelection (std::function< void(const QPointF &)> callback)
 
void showOnScreenMessage (const QString &message, const QString &iconName=QString())
 
void hideOnScreenMessage (OnScreenMessageHideFlags flags=OnScreenMessageHideFlags())
 
KSharedConfigPtr config () const
 
KSharedConfigPtr inputConfig () const
 
bool hasActiveFullScreenEffect () const
 
void renderOffscreenQuickView (const RenderTarget &renderTarget, const RenderViewport &viewport, OffscreenQuickView *effectQuickView) const
 
SessionState sessionState () const
 
QList< Output * > screens () const
 
OutputscreenAt (const QPoint &point) const
 
OutputfindScreen (const QString &name) const
 
OutputfindScreen (int screenId) const
 
KWin::EffectWindowinputPanel () const
 
bool isInputPanelOverlay () const
 
QQmlEngine * qmlEngine () const
 
bool blocksDirectScanout () const
 
WorkspaceScenescene () const
 
bool touchDown (qint32 id, const QPointF &pos, std::chrono::microseconds time)
 
bool touchMotion (qint32 id, const QPointF &pos, std::chrono::microseconds time)
 
bool touchUp (qint32 id, std::chrono::microseconds time)
 
bool tabletToolEvent (KWin::TabletEvent *event)
 
bool tabletToolButtonEvent (uint button, bool pressed, const KWin::TabletToolId &tabletToolId, std::chrono::microseconds time)
 
bool tabletPadButtonEvent (uint button, bool pressed, const KWin::TabletPadId &tabletPadId, std::chrono::microseconds time)
 
bool tabletPadStripEvent (int number, int position, bool isFinger, const KWin::TabletPadId &tabletPadId, std::chrono::microseconds time)
 
bool tabletPadRingEvent (int number, int position, bool isFinger, const KWin::TabletPadId &tabletPadId, std::chrono::microseconds time)
 
void highlightWindows (const QList< EffectWindow * > &windows)
 
bool isPropertyTypeRegistered (xcb_atom_t atom) const
 

Protected Member Functions

bool doGrabKeyboard () override
 
void doUngrabKeyboard () override
 
void doStartMouseInterception (Qt::CursorShape shape) override
 
void doStopMouseInterception () override
 
void doCheckInputWindowStacking () override
 
- Protected Member Functions inherited from KWin::EffectsHandler
void connectNotify (const QMetaMethod &signal) override
 
void disconnectNotify (const QMetaMethod &signal) override
 
void effectsChanged ()
 
void setupWindowConnections (KWin::Window *window)
 
void registerPropertyType (long atom, bool reg)
 
void destroyEffect (Effect *effect)
 
void reconfigureEffects ()
 

Additional Inherited Members

- Public Types inherited from KWin::EffectsHandler
enum class  OnScreenMessageHideFlag { SkipsCloseAnimation = 1 }
 
using TouchBorderCallback = std::function<void(ElectricBorder border, const QPointF &, Output *screen)>
 
- Public Slots inherited from KWin::EffectsHandler
Q_SCRIPTABLE void reconfigureEffect (const QString &name)
 
Q_SCRIPTABLE bool loadEffect (const QString &name)
 
Q_SCRIPTABLE void toggleEffect (const QString &name)
 
Q_SCRIPTABLE void unloadEffect (const QString &name)
 
Q_SCRIPTABLE bool isEffectLoaded (const QString &name) const
 
Q_SCRIPTABLE bool isEffectSupported (const QString &name)
 
Q_SCRIPTABLE QList< bool > areEffectsSupported (const QStringList &names)
 
Q_SCRIPTABLE QString supportInformation (const QString &name) const
 
Q_SCRIPTABLE QString debug (const QString &name, const QString &parameter=QString()) const
 
- Signals inherited from KWin::EffectsHandler
void screenAdded (KWin::Output *screen)
 
void screenRemoved (KWin::Output *screen)
 
void desktopChanged (KWin::VirtualDesktop *oldDesktop, KWin::VirtualDesktop *newDesktop, KWin::EffectWindow *with)
 
void desktopChanging (KWin::VirtualDesktop *currentDesktop, QPointF offset, KWin::EffectWindow *with)
 
void desktopChangingCancelled ()
 
void desktopAdded (KWin::VirtualDesktop *desktop)
 
void desktopRemoved (KWin::VirtualDesktop *desktop)
 
void desktopGridSizeChanged (const QSize &size)
 
void desktopGridWidthChanged (int width)
 
void desktopGridHeightChanged (int height)
 
void showingDesktopChanged (bool)
 
void windowAdded (KWin::EffectWindow *w)
 
void windowClosed (KWin::EffectWindow *w)
 
void windowActivated (KWin::EffectWindow *w)
 
void windowDeleted (KWin::EffectWindow *w)
 
void tabBoxAdded (int mode)
 
void tabBoxClosed ()
 
void tabBoxUpdated ()
 
void tabBoxKeyEvent (QKeyEvent *event)
 
void mouseChanged (const QPointF &pos, const QPointF &oldpos, Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons, Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers)
 
void cursorShapeChanged ()
 
void propertyNotify (KWin::EffectWindow *w, long atom)
 
void currentActivityChanged (const QString &id)
 
void activityAdded (const QString &id)
 
void activityRemoved (const QString &id)
 
void screenLockingChanged (bool locked)
 
void screenAboutToLock ()
 
void stackingOrderChanged ()
 
void screenEdgeApproaching (ElectricBorder border, qreal factor, const QRect &geometry)
 
void virtualScreenSizeChanged ()
 
void virtualScreenGeometryChanged ()
 
void windowDataChanged (KWin::EffectWindow *w, int role)
 
void xcbConnectionChanged ()
 
void activeFullScreenEffectChanged ()
 
void hasActiveFullScreenEffectChanged ()
 
void sessionStateChanged ()
 
void startupAdded (const QString &id, const QIcon &icon)
 
void startupChanged (const QString &id, const QIcon &icon)
 
void startupRemoved (const QString &id)
 
void inputPanelChanged ()
 
- Protected Types inherited from KWin::EffectsHandler
typedef QList< Effect * > EffectsList
 
typedef EffectsList::const_iterator EffectsIterator
 
typedef QHash< QByteArray, QList< Effect * > > PropertyEffectMap
 
- Protected Attributes inherited from KWin::EffectsHandler
Effectkeyboard_grab_effect
 
Effectfullscreen_effect
 
QMultiMap< int, EffectPaireffect_order
 
QHash< long, int > registered_atoms
 
QList< EffectPairloaded_effects
 
CompositingType compositing_type
 
EffectsList m_activeEffects
 
EffectsIterator m_currentDrawWindowIterator
 
EffectsIterator m_currentPaintWindowIterator
 
EffectsIterator m_currentPaintScreenIterator
 
PropertyEffectMap m_propertiesForEffects
 
QHash< QByteArray, qulonglong > m_managedProperties
 
Compositorm_compositor
 
WorkspaceScenem_scene
 
QList< Effect * > m_grabbedMouseEffects
 
EffectLoaderm_effectLoader
 
int m_trackingCursorChanges
 
std::unique_ptr< WindowPropertyNotifyX11Filterm_x11WindowPropertyNotify
 
- Properties inherited from KWin::EffectsHandler
QStringList activeEffects
 
QStringList loadedEffects
 
QStringList listOfEffects
 
KWin::VirtualDesktopcurrentDesktop
 
QString currentActivity
 
KWin::EffectWindowactiveWindow
 
QSize desktopGridSize
 
int desktopGridWidth
 
int desktopGridHeight
 
int workspaceWidth
 
int workspaceHeight
 
QList< KWin::VirtualDesktop * > desktops
 
bool optionRollOverDesktops
 
KWin::OutputactiveScreen
 
qreal animationTimeFactor
 
QList< EffectWindow * > stackingOrder
 
bool decorationsHaveAlpha
 
CompositingType compositingType
 
QPointF cursorPos
 
QSize virtualScreenSize
 
QRect virtualScreenGeometry
 
bool hasActiveFullScreenEffect
 
KWin::SessionState sessionState
 
KWin::EffectWindowinputPanel
 

Detailed Description

Definition at line 22 of file x11_standalone_effects.h.

Constructor & Destructor Documentation

◆ EffectsHandlerX11()

KWin::EffectsHandlerX11::EffectsHandlerX11 ( Compositor * compositor,
WorkspaceScene * scene )
explicit

Definition at line 23 of file x11_standalone_effects.cpp.

◆ ~EffectsHandlerX11()

KWin::EffectsHandlerX11::~EffectsHandlerX11 ( )
override

Definition at line 33 of file x11_standalone_effects.cpp.

Member Function Documentation

◆ defineCursor()

void KWin::EffectsHandlerX11::defineCursor ( Qt::CursorShape shape)
overridevirtual

Sets the cursor while the mouse is intercepted.

See also
startMouseInterception
Since
4.11

Reimplemented from KWin::EffectsHandler.

Definition at line 96 of file x11_standalone_effects.cpp.

◆ doCheckInputWindowStacking()

void KWin::EffectsHandlerX11::doCheckInputWindowStacking ( )
overrideprotectedvirtual

Default implementation does nothing

Reimplemented from KWin::EffectsHandler.

Definition at line 104 of file x11_standalone_effects.cpp.

◆ doGrabKeyboard()

bool KWin::EffectsHandlerX11::doGrabKeyboard ( )
overrideprotectedvirtual

Default implementation does nothing and returns true.

Reimplemented from KWin::EffectsHandler.

Definition at line 45 of file x11_standalone_effects.cpp.

◆ doStartMouseInterception()

void KWin::EffectsHandlerX11::doStartMouseInterception ( Qt::CursorShape shape)
overrideprotectedvirtual

Default implementation sets Effects override cursor on the PointerInputRedirection.

Reimplemented from KWin::EffectsHandler.

Definition at line 65 of file x11_standalone_effects.cpp.

◆ doStopMouseInterception()

void KWin::EffectsHandlerX11::doStopMouseInterception ( )
overrideprotectedvirtual

Default implementation removes the Effects override cursor on the PointerInputRedirection.

Reimplemented from KWin::EffectsHandler.

Definition at line 89 of file x11_standalone_effects.cpp.

◆ doUngrabKeyboard()

void KWin::EffectsHandlerX11::doUngrabKeyboard ( )
overrideprotectedvirtual

Default implementation does nothing.

Reimplemented from KWin::EffectsHandler.

Definition at line 59 of file x11_standalone_effects.cpp.


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