LibreOffice Module vcl (master) 1
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vcl_sal::WMAdaptor Class Reference

#include <wmadaptor.hxx>

Collaboration diagram for vcl_sal::WMAdaptor:
[legend]

Public Types

enum  WMAtom {
  UTF8_STRING ,
  NET_ACTIVE_WINDOW ,
  NET_SUPPORTED ,
  NET_SUPPORTING_WM_CHECK ,
  NET_WM_NAME ,
  NET_WM_DESKTOP ,
  NET_WM_ICON_NAME ,
  NET_WM_PID ,
  NET_WM_PING ,
  NET_WM_STATE ,
  NET_WM_STATE_MAXIMIZED_HORZ ,
  NET_WM_STATE_MAXIMIZED_VERT ,
  NET_WM_STATE_MODAL ,
  NET_WM_STATE_SKIP_PAGER ,
  NET_WM_STATE_SKIP_TASKBAR ,
  NET_WM_STATE_STAYS_ON_TOP ,
  NET_WM_STATE_STICKY ,
  NET_WM_STATE_FULLSCREEN ,
  NET_WM_STRUT ,
  NET_WM_STRUT_PARTIAL ,
  NET_WM_USER_TIME ,
  NET_WM_WINDOW_TYPE ,
  NET_WM_WINDOW_TYPE_DESKTOP ,
  NET_WM_WINDOW_TYPE_DIALOG ,
  NET_WM_WINDOW_TYPE_DOCK ,
  NET_WM_WINDOW_TYPE_MENU ,
  NET_WM_WINDOW_TYPE_NORMAL ,
  NET_WM_WINDOW_TYPE_TOOLBAR ,
  KDE_NET_WM_WINDOW_TYPE_OVERRIDE ,
  NET_WM_WINDOW_TYPE_SPLASH ,
  NET_WM_WINDOW_TYPE_UTILITY ,
  NET_NUMBER_OF_DESKTOPS ,
  NET_CURRENT_DESKTOP ,
  NET_WORKAREA ,
  NET_WM_ICON ,
  WIN_SUPPORTING_WM_CHECK ,
  WIN_PROTOCOLS ,
  WIN_WORKSPACE_COUNT ,
  WIN_WORKSPACE ,
  WIN_LAYER ,
  WIN_STATE ,
  WIN_HINTS ,
  WIN_APP_STATE ,
  WIN_EXPANDED_SIZE ,
  WIN_ICONS ,
  WIN_CLIENT_LIST ,
  WM_STATE ,
  MOTIF_WM_HINTS ,
  WM_PROTOCOLS ,
  WM_DELETE_WINDOW ,
  WM_TAKE_FOCUS ,
  WM_CLIENT_LEADER ,
  WM_COMMAND ,
  WM_LOCALE_NAME ,
  WM_TRANSIENT_FOR ,
  SAL_QUITEVENT ,
  SAL_USEREVENT ,
  SAL_EXTTEXTEVENT ,
  SAL_GETTIMEEVENT ,
  VCL_SYSTEM_SETTINGS ,
  XSETTINGS ,
  XEMBED ,
  XEMBED_INFO ,
  NetAtomMax
}
 

Public Member Functions

virtual ~WMAdaptor ()
 
const OUString & getWindowManagerName () const
 
int getCurrentWorkArea () const
 
int getWindowWorkArea (::Window aWindow) const
 
const tools::RectanglegetWorkArea (int n) const
 
void switchToWorkArea (int nWorkArea) const
 
virtual void setWMName (X11SalFrame *pFrame, const OUString &rWMName) const
 
void setPID (X11SalFrame const *pFrame) const
 
void setClientMachine (X11SalFrame const *pFrame) const
 
void answerPing (X11SalFrame const *, XClientMessageEvent const *) const
 
virtual void maximizeFrame (X11SalFrame *pFrame, bool bHorizontal=true, bool bVertical=true) const
 
virtual void showFullScreen (X11SalFrame *pFrame, bool bFullScreen) const
 
bool isLegacyPartialFullscreen () const
 
virtual void setUserTime (X11SalFrame *i_pFrame, tools::Long i_nUserTime) const
 
bool supportsFullScreen () const
 
virtual void setFrameTypeAndDecoration (X11SalFrame *pFrame, WMWindowType eType, int nDecorationFlags, X11SalFrame *pTransientFrame) const
 
bool supportsSplash () const
 
virtual void enableAlwaysOnTop (X11SalFrame *pFrame, bool bEnable) const
 
bool isAlwaysOnTopOK () const
 
virtual int handlePropertyNotify (X11SalFrame *pFrame, XPropertyEvent *pEvent) const
 
virtual void frameIsMapping (X11SalFrame *) const
 
Atom getAtom (WMAtom eAtom) const
 
int getPositionWinGravity () const
 
int getInitWinGravity () const
 
void changeReferenceFrame (X11SalFrame *pFrame, X11SalFrame const *pReferenceFrame) const
 
void activateWindow (X11SalFrame const *pFrame, Time nTimestamp)
 

Static Public Member Functions

static std::unique_ptr< WMAdaptorcreateWMAdaptor (SalDisplay *)
 

Static Public Attributes

static const int decoration_Title = 0x00000001
 
static const int decoration_Border = 0x00000002
 
static const int decoration_Resize = 0x00000004
 
static const int decoration_MinimizeBtn = 0x00000008
 
static const int decoration_MaximizeBtn = 0x00000010
 
static const int decoration_CloseBtn = 0x00000020
 
static const int decoration_All = 0x10000000
 

Protected Member Functions

 WMAdaptor (SalDisplay *)
 
void initAtoms ()
 
bool getNetWmName ()
 
virtual bool isValid () const
 
bool getWMshouldSwitchWorkspace () const
 

Protected Attributes

SalDisplaym_pSalDisplay
 
Displaym_pDisplay
 
OUString m_aWMName
 
Atom m_aWMAtoms [NetAtomMax]
 
int m_nDesktops
 
bool m_bEqualWorkAreas
 
::std::vector< tools::Rectanglem_aWMWorkAreas
 
bool m_bEnableAlwaysOnTopWorks
 
bool m_bLegacyPartialFullscreen
 
int m_nWinGravity
 
int m_nInitWinGravity
 
bool m_bWMshouldSwitchWorkspace
 
bool m_bWMshouldSwitchWorkspaceInit
 

Detailed Description

Definition at line 37 of file wmadaptor.hxx.

Member Enumeration Documentation

◆ WMAtom

Enumerator
UTF8_STRING 
NET_ACTIVE_WINDOW 
NET_SUPPORTED 
NET_SUPPORTING_WM_CHECK 
NET_WM_NAME 
NET_WM_DESKTOP 
NET_WM_ICON_NAME 
NET_WM_PID 
NET_WM_PING 
NET_WM_STATE 
NET_WM_STATE_MAXIMIZED_HORZ 
NET_WM_STATE_MAXIMIZED_VERT 
NET_WM_STATE_MODAL 
NET_WM_STATE_SKIP_PAGER 
NET_WM_STATE_SKIP_TASKBAR 
NET_WM_STATE_STAYS_ON_TOP 
NET_WM_STATE_STICKY 
NET_WM_STATE_FULLSCREEN 
NET_WM_STRUT 
NET_WM_STRUT_PARTIAL 
NET_WM_USER_TIME 
NET_WM_WINDOW_TYPE 
NET_WM_WINDOW_TYPE_DESKTOP 
NET_WM_WINDOW_TYPE_DIALOG 
NET_WM_WINDOW_TYPE_DOCK 
NET_WM_WINDOW_TYPE_MENU 
NET_WM_WINDOW_TYPE_NORMAL 
NET_WM_WINDOW_TYPE_TOOLBAR 
KDE_NET_WM_WINDOW_TYPE_OVERRIDE 
NET_WM_WINDOW_TYPE_SPLASH 
NET_WM_WINDOW_TYPE_UTILITY 
NET_NUMBER_OF_DESKTOPS 
NET_CURRENT_DESKTOP 
NET_WORKAREA 
NET_WM_ICON 
WIN_SUPPORTING_WM_CHECK 
WIN_PROTOCOLS 
WIN_WORKSPACE_COUNT 
WIN_WORKSPACE 
WIN_LAYER 
WIN_STATE 
WIN_HINTS 
WIN_APP_STATE 
WIN_EXPANDED_SIZE 
WIN_ICONS 
WIN_CLIENT_LIST 
WM_STATE 
MOTIF_WM_HINTS 
WM_PROTOCOLS 
WM_DELETE_WINDOW 
WM_TAKE_FOCUS 
WM_CLIENT_LEADER 
WM_COMMAND 
WM_LOCALE_NAME 
WM_TRANSIENT_FOR 
SAL_QUITEVENT 
SAL_USEREVENT 
SAL_EXTTEXTEVENT 
SAL_GETTIMEEVENT 
VCL_SYSTEM_SETTINGS 
XSETTINGS 
XEMBED 
XEMBED_INFO 
NetAtomMax 

Definition at line 40 of file wmadaptor.hxx.

Constructor & Destructor Documentation

◆ WMAdaptor()

vcl_sal::WMAdaptor::WMAdaptor ( SalDisplay )
protected

◆ ~WMAdaptor()

virtual vcl_sal::WMAdaptor::~WMAdaptor ( )
virtual

Member Function Documentation

◆ activateWindow()

void vcl_sal::WMAdaptor::activateWindow ( X11SalFrame const *  pFrame,
Time  nTimestamp 
)

◆ answerPing()

void vcl_sal::WMAdaptor::answerPing ( X11SalFrame const *  ,
XClientMessageEvent const *   
) const

◆ changeReferenceFrame()

void vcl_sal::WMAdaptor::changeReferenceFrame ( X11SalFrame pFrame,
X11SalFrame const *  pReferenceFrame 
) const

◆ createWMAdaptor()

static std::unique_ptr< WMAdaptor > vcl_sal::WMAdaptor::createWMAdaptor ( SalDisplay )
static

◆ enableAlwaysOnTop()

virtual void vcl_sal::WMAdaptor::enableAlwaysOnTop ( X11SalFrame pFrame,
bool  bEnable 
) const
virtual

◆ frameIsMapping()

virtual void vcl_sal::WMAdaptor::frameIsMapping ( X11SalFrame ) const
virtual

◆ getAtom()

Atom vcl_sal::WMAdaptor::getAtom ( WMAtom  eAtom) const
inline

Definition at line 270 of file wmadaptor.hxx.

References m_aWMAtoms.

◆ getCurrentWorkArea()

int vcl_sal::WMAdaptor::getCurrentWorkArea ( ) const

◆ getInitWinGravity()

int vcl_sal::WMAdaptor::getInitWinGravity ( ) const
inline

Definition at line 275 of file wmadaptor.hxx.

References m_nInitWinGravity.

◆ getNetWmName()

bool vcl_sal::WMAdaptor::getNetWmName ( )
protected

◆ getPositionWinGravity()

int vcl_sal::WMAdaptor::getPositionWinGravity ( ) const
inline

Definition at line 273 of file wmadaptor.hxx.

References m_nWinGravity.

◆ getWindowManagerName()

const OUString & vcl_sal::WMAdaptor::getWindowManagerName ( ) const
inline

Definition at line 167 of file wmadaptor.hxx.

References m_aWMName.

◆ getWindowWorkArea()

int vcl_sal::WMAdaptor::getWindowWorkArea ( ::Window  aWindow) const

◆ getWMshouldSwitchWorkspace()

bool vcl_sal::WMAdaptor::getWMshouldSwitchWorkspace ( ) const
protected

◆ getWorkArea()

const tools::Rectangle & vcl_sal::WMAdaptor::getWorkArea ( int  n) const
inline

Definition at line 181 of file wmadaptor.hxx.

References m_aWMWorkAreas, and n.

◆ handlePropertyNotify()

virtual int vcl_sal::WMAdaptor::handlePropertyNotify ( X11SalFrame pFrame,
XPropertyEvent *  pEvent 
) const
virtual

◆ initAtoms()

void vcl_sal::WMAdaptor::initAtoms ( )
protected

◆ isAlwaysOnTopOK()

bool vcl_sal::WMAdaptor::isAlwaysOnTopOK ( ) const
inline

Definition at line 255 of file wmadaptor.hxx.

References m_bEnableAlwaysOnTopWorks.

◆ isLegacyPartialFullscreen()

bool vcl_sal::WMAdaptor::isLegacyPartialFullscreen ( ) const
inline

Definition at line 224 of file wmadaptor.hxx.

References m_bLegacyPartialFullscreen.

◆ isValid()

virtual bool vcl_sal::WMAdaptor::isValid ( ) const
protectedvirtual

◆ maximizeFrame()

virtual void vcl_sal::WMAdaptor::maximizeFrame ( X11SalFrame pFrame,
bool  bHorizontal = true,
bool  bVertical = true 
) const
virtual

◆ setClientMachine()

void vcl_sal::WMAdaptor::setClientMachine ( X11SalFrame const *  pFrame) const

◆ setFrameTypeAndDecoration()

virtual void vcl_sal::WMAdaptor::setFrameTypeAndDecoration ( X11SalFrame pFrame,
WMWindowType  eType,
int  nDecorationFlags,
X11SalFrame pTransientFrame 
) const
virtual

◆ setPID()

void vcl_sal::WMAdaptor::setPID ( X11SalFrame const *  pFrame) const

◆ setUserTime()

virtual void vcl_sal::WMAdaptor::setUserTime ( X11SalFrame i_pFrame,
tools::Long  i_nUserTime 
) const
virtual

◆ setWMName()

virtual void vcl_sal::WMAdaptor::setWMName ( X11SalFrame pFrame,
const OUString &  rWMName 
) const
virtual

◆ showFullScreen()

virtual void vcl_sal::WMAdaptor::showFullScreen ( X11SalFrame pFrame,
bool  bFullScreen 
) const
virtual

◆ supportsFullScreen()

bool vcl_sal::WMAdaptor::supportsFullScreen ( ) const
inline

Definition at line 234 of file wmadaptor.hxx.

References m_aWMAtoms, and NET_WM_STATE_FULLSCREEN.

◆ supportsSplash()

bool vcl_sal::WMAdaptor::supportsSplash ( ) const
inline

Definition at line 245 of file wmadaptor.hxx.

References m_aWMAtoms, and NET_WM_WINDOW_TYPE_SPLASH.

◆ switchToWorkArea()

void vcl_sal::WMAdaptor::switchToWorkArea ( int  nWorkArea) const

Member Data Documentation

◆ decoration_All

const int vcl_sal::WMAdaptor::decoration_All = 0x10000000
static

Definition at line 125 of file wmadaptor.hxx.

◆ decoration_Border

const int vcl_sal::WMAdaptor::decoration_Border = 0x00000002
static

Definition at line 120 of file wmadaptor.hxx.

◆ decoration_CloseBtn

const int vcl_sal::WMAdaptor::decoration_CloseBtn = 0x00000020
static

Definition at line 124 of file wmadaptor.hxx.

◆ decoration_MaximizeBtn

const int vcl_sal::WMAdaptor::decoration_MaximizeBtn = 0x00000010
static

Definition at line 123 of file wmadaptor.hxx.

◆ decoration_MinimizeBtn

const int vcl_sal::WMAdaptor::decoration_MinimizeBtn = 0x00000008
static

Definition at line 122 of file wmadaptor.hxx.

◆ decoration_Resize

const int vcl_sal::WMAdaptor::decoration_Resize = 0x00000004
static

Definition at line 121 of file wmadaptor.hxx.

◆ decoration_Title

const int vcl_sal::WMAdaptor::decoration_Title = 0x00000001
static

Definition at line 119 of file wmadaptor.hxx.

◆ m_aWMAtoms

Atom vcl_sal::WMAdaptor::m_aWMAtoms[NetAtomMax]
protected

Definition at line 131 of file wmadaptor.hxx.

Referenced by getAtom(), supportsFullScreen(), and supportsSplash().

◆ m_aWMName

OUString vcl_sal::WMAdaptor::m_aWMName
protected

Definition at line 130 of file wmadaptor.hxx.

Referenced by getWindowManagerName().

◆ m_aWMWorkAreas

::std::vector< tools::Rectangle > vcl_sal::WMAdaptor::m_aWMWorkAreas
protected

Definition at line 135 of file wmadaptor.hxx.

Referenced by getWorkArea().

◆ m_bEnableAlwaysOnTopWorks

bool vcl_sal::WMAdaptor::m_bEnableAlwaysOnTopWorks
protected

Definition at line 136 of file wmadaptor.hxx.

Referenced by isAlwaysOnTopOK().

◆ m_bEqualWorkAreas

bool vcl_sal::WMAdaptor::m_bEqualWorkAreas
protected

Definition at line 133 of file wmadaptor.hxx.

◆ m_bLegacyPartialFullscreen

bool vcl_sal::WMAdaptor::m_bLegacyPartialFullscreen
protected

Definition at line 137 of file wmadaptor.hxx.

Referenced by isLegacyPartialFullscreen().

◆ m_bWMshouldSwitchWorkspace

bool vcl_sal::WMAdaptor::m_bWMshouldSwitchWorkspace
protected

Definition at line 140 of file wmadaptor.hxx.

◆ m_bWMshouldSwitchWorkspaceInit

bool vcl_sal::WMAdaptor::m_bWMshouldSwitchWorkspaceInit
protected

Definition at line 141 of file wmadaptor.hxx.

◆ m_nDesktops

int vcl_sal::WMAdaptor::m_nDesktops
protected

Definition at line 132 of file wmadaptor.hxx.

◆ m_nInitWinGravity

int vcl_sal::WMAdaptor::m_nInitWinGravity
protected

Definition at line 139 of file wmadaptor.hxx.

Referenced by getInitWinGravity().

◆ m_nWinGravity

int vcl_sal::WMAdaptor::m_nWinGravity
protected

Definition at line 138 of file wmadaptor.hxx.

Referenced by getPositionWinGravity().

◆ m_pDisplay

Display* vcl_sal::WMAdaptor::m_pDisplay
protected

Definition at line 129 of file wmadaptor.hxx.

◆ m_pSalDisplay

SalDisplay* vcl_sal::WMAdaptor::m_pSalDisplay
protected

Definition at line 128 of file wmadaptor.hxx.


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