Mgraesslin (Talk | contribs) (Client Group) |
Mgraesslin (Talk | contribs) (→KWin::Client) |
||
Line 49: | Line 49: | ||
== KWin::Client == | == KWin::Client == | ||
− | + | The Client class encapsulates a window decoration frame. | |
− | The Client class encapsulates a window decoration frame. | + | |
− | + | ||
'''Inherits:''' KWin::Toplevel | '''Inherits:''' KWin::Toplevel | ||
=== Read-only Properties === | === Read-only Properties === | ||
− | * ''bool'' '''active''': Whether this Client is active or not. Use Workspace::activateClient() to activate a Client. Workspace::activateClient | + | * ''bool'' '''active''': Whether this Client is active or not. Use Workspace::activateClient() to activate a Client. Workspace::activateClient |
* ''QString'' '''caption''': The Caption of the Client. Read from WM_NAME property together with a suffix for hostname and shortcut. To read only the caption as provided by WM_NAME, use the getter with an additional false value. | * ''QString'' '''caption''': The Caption of the Client. Read from WM_NAME property together with a suffix for hostname and shortcut. To read only the caption as provided by WM_NAME, use the getter with an additional false value. | ||
− | * ''bool'' '''closeable''': Whether the window can be closed by the user. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | + | * ''bool'' '''closeable''': Whether the window can be closed by the user. The value is evaluated each time the getter is called. Because of that no changed signal is provided. |
− | * ''bool'' '''fullScreenable''': Whether the Client can be set to fullScreen. The property is evaluated each time it is invoked. Because of that there is no notify signal. | + | * ''bool'' '''fullScreenable''': Whether the Client can be set to fullScreen. The property is evaluated each time it is invoked. Because of that there is no notify signal. |
− | * ''bool'' '''maximizable''': Whether the Client can be maximized both horizontally and vertically. The property is evaluated each time it is invoked. Because of that there is no notify signal. | + | * ''bool'' '''maximizable''': Whether the Client can be maximized both horizontally and vertically. The property is evaluated each time it is invoked. Because of that there is no notify signal. |
* ''bool'' '''minimizable''': Whether the Client can be minimized. The property is evaluated each time it is invoked. Because of that there is no notify signal. | * ''bool'' '''minimizable''': Whether the Client can be minimized. The property is evaluated each time it is invoked. Because of that there is no notify signal. | ||
− | * ''bool'' '''modal''': Whether the Client represents a modal window. | + | * ''bool'' '''modal''': Whether the Client represents a modal window. |
* ''bool'' '''moveable''': Whether the Client is moveable. Even if it is not moveable, it might be possible to move it to another screen. The property is evaluated each time it is invoked. Because of that there is no notify signal. moveableAcrossScreens | * ''bool'' '''moveable''': Whether the Client is moveable. Even if it is not moveable, it might be possible to move it to another screen. The property is evaluated each time it is invoked. Because of that there is no notify signal. moveableAcrossScreens | ||
− | * ''bool'' '''moveableAcrossScreens''': Whether the Client can be moved to another screen. The property is evaluated each time it is invoked. Because of that there is no notify signal. | + | * ''bool'' '''moveableAcrossScreens''': Whether the Client can be moved to another screen. The property is evaluated each time it is invoked. Because of that there is no notify signal. moveable |
* ''bool'' '''providesContextHelp''': Whether the Client provides context help. Mostly needed by decorations to decide whether to show the help button or not.Returns whether the window provides context help or not. If it does, you should show a help menu item or a help button like '?' and call contextHelp() if this is invoked.contextHelp() | * ''bool'' '''providesContextHelp''': Whether the Client provides context help. Mostly needed by decorations to decide whether to show the help button or not.Returns whether the window provides context help or not. If it does, you should show a help menu item or a help button like '?' and call contextHelp() if this is invoked.contextHelp() | ||
− | * ''bool'' '''resizeable''': Whether the Client can be resized. The property is evaluated each time it is invoked. Because of that there is no notify signal. | + | * ''bool'' '''resizeable''': Whether the Client can be resized. The property is evaluated each time it is invoked. Because of that there is no notify signal. |
− | * ''bool'' '''shadeable''': Whether the Client can be shaded. The property is evaluated each time it is invoked. Because of that there is no notify signal. | + | * ''bool'' '''shadeable''': Whether the Client can be shaded. The property is evaluated each time it is invoked. Because of that there is no notify signal. |
− | * ''bool'' '''transient''': Whether the Client is a transient Window to another Window. | + | * ''bool'' '''transient''': Whether the Client is a transient Window to another Window. transientFor |
− | * '' | + | * ''KWin::Client'' '''transientFor''': The Client to which this Client is a transient if any. |
* ''QSize'' '''basicUnit''': By how much the window wishes to grow/shrink at least. Usually QSize(1,1). MAY BE DISOBEYED BY THE WM! It's only for information, do NOT rely on it at all. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | * ''QSize'' '''basicUnit''': By how much the window wishes to grow/shrink at least. Usually QSize(1,1). MAY BE DISOBEYED BY THE WM! It's only for information, do NOT rely on it at all. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | ||
− | * ''bool'' '''move''': Whether the Client is currently being moved by the user. Notify signal is emitted when the Client starts or ends move/resize mode. | + | * ''bool'' '''move''': Whether the Client is currently being moved by the user. Notify signal is emitted when the Client starts or ends move/resize mode. |
− | * ''bool'' '''resize''': Whether the Client is currently being resized by the user. Notify signal is emitted when the Client starts or ends move/resize mode. | + | * ''bool'' '''resize''': Whether the Client is currently being resized by the user. Notify signal is emitted when the Client starts or ends move/resize mode. |
− | * ''QRect'' '''iconGeometry''': The optional geometry representing the minimized Client in e.g a taskbar. See _NET_WM_ICON_GEOMETRY at http://standards.freedesktop.org/wm-spec/wm-spec-latest.html . The value is evaluated each time the getter is called. Because of that no changed signal is provided. | + | * ''QRect'' '''iconGeometry''': The optional geometry representing the minimized Client in e.g a taskbar. See _NET_WM_ICON_GEOMETRY at http://standards.freedesktop.org/wm-spec/wm-spec-latest.html . The value is evaluated each time the getter is called. Because of that no changed signal is provided. |
* ''bool'' '''specialWindow''': Returns whether the window is any of special windows types (desktop, dock, splash, ...), i.e. window types that usually don't have a window frame and the user does not use window management (moving, raising,...) on them. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | * ''bool'' '''specialWindow''': Returns whether the window is any of special windows types (desktop, dock, splash, ...), i.e. window types that usually don't have a window frame and the user does not use window management (moving, raising,...) on them. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | ||
− | * ''bool'' '''wantsInput''': Whether the Client can accept keyboard focus. The value is evaluated each time the getter is called. Because of that no changed signal is provided. | + | * ''bool'' '''wantsInput''': Whether the Client can accept keyboard focus. The value is evaluated each time the getter is called. Because of that no changed signal is provided. |
− | * ''QPixmap'' '''icon''' | + | * ''QPixmap'' '''icon''' |
+ | * ''KWin::ClientGroup'' '''clientGroup''': The "Window Tabs" Group this Client belongs to. | ||
=== Read-write Properties === | === Read-write Properties === | ||
− | * ''int'' '''desktop''': The desktop this Client is on. If the Client is on all desktops the property has value -1. | + | |
− | * ''bool'' '''fullScreen''': Whether this Client is fullScreen. A Client might either be fullScreen due to the _NET_WM property or through a legacy support hack. The fullScreen state can only be changed if the Client does not use the legacy hack. To be sure whether the state changed, connect to the notify signal. | + | * ''int'' '''desktop''': The desktop this Client is on. If the Client is on all desktops the property has value -1.Returns the virtual desktop within the workspace() the client window is located in, 0 if it isn't located on any special desktop (not mapped yet), or NET::OnAllDesktops. Do not use desktop() directly, use isOnDesktop() instead. |
− | * ''QRect'' '''geometry''': The geometry of this Client. Be aware that depending on resize mode the geometryChanged signal might be emitted at each resize step or only at the end of the resize operation. | + | * ''bool'' '''fullScreen''': Whether this Client is fullScreen. A Client might either be fullScreen due to the _NET_WM property or through a legacy support hack. The fullScreen state can only be changed if the Client does not use the legacy hack. To be sure whether the state changed, connect to the notify signal. |
− | * ''bool'' '''keepAbove''': Whether the Client is set to be kept above other windows. | + | * ''QRect'' '''geometry''': The geometry of this Client. Be aware that depending on resize mode the geometryChanged signal might be emitted at each resize step or only at the end of the resize operation. |
− | * ''bool'' '''keepBelow''': Whether the Client is set to be kept below other windows. | + | * ''bool'' '''keepAbove''': Whether the Client is set to be kept above other windows. |
− | * ''bool'' '''minimized''': Whether the Client is minimized. | + | * ''bool'' '''keepBelow''': Whether the Client is set to be kept below other windows. |
− | * ''bool'' '''shade''': Whether the Client is shaded. | + | * ''bool'' '''minimized''': Whether the Client is minimized. |
− | * ''bool'' '''skipSwitcher''': Whether the Client should be excluded from window switching effects. | + | * ''bool'' '''shade''': Whether the Client is shaded. |
+ | * ''bool'' '''skipSwitcher''': Whether the Client should be excluded from window switching effects. | ||
=== Signals === | === Signals === | ||
− | * '''clientManaging(KWin::Client *)''' | + | |
+ | * '''clientManaging(KWin::Client *)''' | ||
* '''s_unminimized()''' | * '''s_unminimized()''' | ||
* '''maximizeSet(QPair< bool, bool >)''' | * '''maximizeSet(QPair< bool, bool >)''' | ||
Line 108: | Line 109: | ||
* '''iconChanged()''' | * '''iconChanged()''' | ||
* '''skipSwitcherChanged()''' | * '''skipSwitcherChanged()''' | ||
+ | * '''clientGroupChanged()''': Emitted whenever the Client's ClientGroup changed. That is whenever the Client is moved to another group, but not when a Client gets added or removed to the Client's ClientGroup. | ||
== KWin::ClientGroup == | == KWin::ClientGroup == |
Toplevel is an abstract base class for all "Windows". You cannot use it directly, but everything available on Toplevel is available on Client, too.
The Client class encapsulates a window decoration frame. Inherits: KWin::Toplevel