KWin
Loading...
Searching...
No Matches
Public Types | Signals | Public Member Functions | Static Public Member Functions | Friends | List of all members
KWin::PlasmaShellSurfaceInterface Class Reference

Resource for the org_kde_plasma_shell_surface interface. More...

#include <plasmashell.h>

Inheritance diagram for KWin::PlasmaShellSurfaceInterface:

Public Types

enum class  Role {
  Normal , Desktop , Panel , OnScreenDisplay ,
  Notification , ToolTip , CriticalNotification , AppletPopup
}
 
enum class  PanelBehavior { AlwaysVisible , AutoHide , WindowsCanCover , WindowsGoBelow }
 

Signals

void positionChanged ()
 
void openUnderCursorRequested ()
 
void roleChanged ()
 
void panelBehaviorChanged ()
 
void skipTaskbarChanged ()
 
void skipSwitcherChanged ()
 
void panelAutoHideHideRequested ()
 
void panelAutoHideShowRequested ()
 
void panelTakesFocusChanged ()
 

Public Member Functions

virtual ~PlasmaShellSurfaceInterface ()
 
SurfaceInterfacesurface () const
 
QPoint position () const
 
bool isPositionSet () const
 
bool wantsOpenUnderCursor () const
 
Role role () const
 
PanelBehavior panelBehavior () const
 
bool skipTaskbar () const
 
bool skipSwitcher () const
 
void hideAutoHidingPanel ()
 
void showAutoHidingPanel ()
 
bool panelTakesFocus () const
 

Static Public Member Functions

static PlasmaShellSurfaceInterfaceget (wl_resource *native)
 
static PlasmaShellSurfaceInterfaceget (SurfaceInterface *surface)
 

Friends

class PlasmaShellInterfacePrivate
 

Detailed Description

Resource for the org_kde_plasma_shell_surface interface.

PlasmaShellSurfaceInterface gets created by PlasmaShellInterface.

Definition at line 59 of file plasmashell.h.

Member Enumeration Documentation

◆ PanelBehavior

Describes how a PlasmaShellSurfaceInterface with role Role::Panel should behave.

Deprecated

Enumerator
AlwaysVisible 

The panel should be always visible.

AutoHide 

The panel auto hides at a screen edge and returns on mouse press against edge.

WindowsCanCover 

Windows are allowed to go above the panel, it raises on mouse press against screen edge.

WindowsGoBelow 

Window are allowed to go below the panel.

Definition at line 106 of file plasmashell.h.

◆ Role

Describes possible roles this PlasmaShellSurfaceInterface can have. The role can be used by the server to e.g. change the stacking order accordingly.

Enumerator
Normal 

A normal surface.

Desktop 

The surface represents a desktop, normally stacked below all other surfaces.

Panel 

The surface represents a panel (dock), normally stacked above normal surfaces.

OnScreenDisplay 

The surface represents an on screen display, like a volume changed notification.

Notification 

The surface represents a notification.

ToolTip 

The surface represents a tooltip.

CriticalNotification 

The surface represents a critical notification, like battery is running out.

AppletPopup 

The surface represents an applet popup window.

Definition at line 87 of file plasmashell.h.

Constructor & Destructor Documentation

◆ ~PlasmaShellSurfaceInterface()

KWin::PlasmaShellSurfaceInterface::~PlasmaShellSurfaceInterface ( )
virtualdefault

Member Function Documentation

◆ get() [1/2]

PlasmaShellSurfaceInterface * KWin::PlasmaShellSurfaceInterface::get ( SurfaceInterface * surface)
static

Definition at line 320 of file plasmashell.cpp.

◆ get() [2/2]

PlasmaShellSurfaceInterface * KWin::PlasmaShellSurfaceInterface::get ( wl_resource * native)
static
Returns
The PlasmaShellSurfaceInterface for the native resource.

Definition at line 312 of file plasmashell.cpp.

◆ hideAutoHidingPanel()

void KWin::PlasmaShellSurfaceInterface::hideAutoHidingPanel ( )

Informs the PlasmaShellSurfaceInterface that the auto-hiding panel got hidden. Once it is shown again the method showAutoHidingPanel should be used.

See also
showAutoHidingPanel
panelAutoHideHideRequested
panelAutoHideShowRequested

Definition at line 297 of file plasmashell.cpp.

◆ isPositionSet()

bool KWin::PlasmaShellSurfaceInterface::isPositionSet ( ) const
Returns
Whether a global position has been requested.

Definition at line 272 of file plasmashell.cpp.

◆ openUnderCursorRequested

void KWin::PlasmaShellSurfaceInterface::openUnderCursorRequested ( )
signal

The surface has requested to be initially shown under the cursor. Can only occur before any buffer has been attached.

◆ panelAutoHideHideRequested

void KWin::PlasmaShellSurfaceInterface::panelAutoHideHideRequested ( )
signal

A surface with Role Panel and PanelBehavior AutoHide requested to be hidden.

The compositor should inform the PlasmaShellSurfaceInterface about the actual change. Once the surface is hidden it should invoke hideAutoHidingPanel. If the compositor cannot hide the surface (e.g. because it doesn't border a screen edge) it should inform the surface through invoking showAutoHidingPanel. This method should also be invoked whenever the surface gets shown again due to triggering the screen edge.

See also
hideAutoHidingPanel
showAutoHidingPanel
panelAutoHideShowRequested

◆ panelAutoHideShowRequested

void KWin::PlasmaShellSurfaceInterface::panelAutoHideShowRequested ( )
signal

A surface with Role Panel and PanelBehavior AutoHide requested to be shown.

The compositor should inform the PlasmaShellSurfaceInterface about the actual change. Once the surface is shown it should invoke showAutoHidingPanel.

See also
hideAutoHidingPanel
showAutoHidingPanel
panelAutoHideHideRequested

◆ panelBehavior()

PlasmaShellSurfaceInterface::PanelBehavior KWin::PlasmaShellSurfaceInterface::panelBehavior ( ) const
Returns
The PanelBehavior for a PlasmaShellSurfaceInterface with role Role::Panel
See also
role

Deprecated. This is now ignored

Definition at line 282 of file plasmashell.cpp.

◆ panelBehaviorChanged

void KWin::PlasmaShellSurfaceInterface::panelBehaviorChanged ( )
signal

A change of the panel behavior has been requested.

◆ panelTakesFocus()

bool KWin::PlasmaShellSurfaceInterface::panelTakesFocus ( ) const

Whether a PlasmaShellSurfaceInterface wants to have focus.

By default some PlasmaShell roles do not get focus, but the PlasmaShellSurfaceInterface can request that it wants to have focus. The compositor can use this information to pass focus to the surface.

Definition at line 307 of file plasmashell.cpp.

◆ panelTakesFocusChanged

void KWin::PlasmaShellSurfaceInterface::panelTakesFocusChanged ( )
signal

◆ position()

QPoint KWin::PlasmaShellSurfaceInterface::position ( ) const
Returns
the requested position in global coordinates.

Definition at line 262 of file plasmashell.cpp.

◆ positionChanged

void KWin::PlasmaShellSurfaceInterface::positionChanged ( )
signal

A change of global position has been requested.

◆ role()

PlasmaShellSurfaceInterface::Role KWin::PlasmaShellSurfaceInterface::role ( ) const
Returns
The requested role, default value is Role::Normal.

Definition at line 267 of file plasmashell.cpp.

◆ roleChanged

void KWin::PlasmaShellSurfaceInterface::roleChanged ( )
signal

A change of the role has been requested.

◆ showAutoHidingPanel()

void KWin::PlasmaShellSurfaceInterface::showAutoHidingPanel ( )

Informs the PlasmaShellSurfaceInterface that the auto-hiding panel got shown again.

See also
hideAutoHidingPanel
panelAutoHideHideRequested
panelAutoHideShowRequested
5.28

Definition at line 302 of file plasmashell.cpp.

◆ skipSwitcher()

bool KWin::PlasmaShellSurfaceInterface::skipSwitcher ( ) const
Returns
true if this window doesn't want to be listed in a window switcher

Definition at line 292 of file plasmashell.cpp.

◆ skipSwitcherChanged

void KWin::PlasmaShellSurfaceInterface::skipSwitcherChanged ( )
signal

A change in the skip switcher property has been requested

◆ skipTaskbar()

bool KWin::PlasmaShellSurfaceInterface::skipTaskbar ( ) const
Returns
true if this window doesn't want to be listed in the taskbar

Definition at line 287 of file plasmashell.cpp.

◆ skipTaskbarChanged

void KWin::PlasmaShellSurfaceInterface::skipTaskbarChanged ( )
signal

A change in the skip taskbar property has been requested

◆ surface()

SurfaceInterface * KWin::PlasmaShellSurfaceInterface::surface ( ) const
Returns
the SurfaceInterface this PlasmaShellSurfaceInterface got created for

Definition at line 120 of file plasmashell.cpp.

◆ wantsOpenUnderCursor()

bool KWin::PlasmaShellSurfaceInterface::wantsOpenUnderCursor ( ) const
Returns
Whether the surface has requested to be opened under the cursor.

Definition at line 277 of file plasmashell.cpp.

Friends And Related Symbol Documentation

◆ PlasmaShellInterfacePrivate

friend class PlasmaShellInterfacePrivate
friend

Definition at line 230 of file plasmashell.h.


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