Mgraesslin (Talk | contribs) (→Functions) |
Mgraesslin (Talk | contribs) |
||
| (5 intermediate revisions by one user not shown) | |||
| Line 5: | Line 5: | ||
* ''KWin::Options'' '''options''': Global property to all configuration values of KWin core. | * ''KWin::Options'' '''options''': Global property to all configuration values of KWin core. | ||
* ''KWin::Workspace'' '''workspace''': Global property to the core wrapper of KWin. | * ''KWin::Workspace'' '''workspace''': Global property to the core wrapper of KWin. | ||
| − | |||
| − | |||
| − | |||
| − | |||
=== Functions === | === Functions === | ||
| Line 21: | Line 17: | ||
* ''bool'' '''assertNull(QVariant value, QString message = QString())''': Aborts the execution of the script if value is not null. If message is provided an error is thrown with the given message, if not provided an error with default message is thrown. | * ''bool'' '''assertNull(QVariant value, QString message = QString())''': Aborts the execution of the script if value is not null. If message is provided an error is thrown with the given message, if not provided an error with default message is thrown. | ||
* ''bool'' '''assertNotNull(QVariant value, QString message = QString())''': Aborts the execution of the script if value is null. If message is provided an error is thrown with the given message, if not provided an error with default message is thrown. | * ''bool'' '''assertNotNull(QVariant value, QString message = QString())''': Aborts the execution of the script if value is null. If message is provided an error is thrown with the given message, if not provided an error with default message is thrown. | ||
| + | * '''callDBus(QString service, QString path, QString interface, QString method, QVariant arg..., QScriptValue callback = QScriptValue())''': Call a D-Bus method at (service, path, interface and method). A variable number of arguments can be added to the method call. The D-Bus call is always performed in an async way invoking the callback provided as the last (optional) argument. The reply values of the D-Bus method call are passed to the callback. | ||
| + | * '''registerUserActionsMenu(QScriptValue callback)''': Registers the passed in callback to be invoked whenever the User actions menu (Alt+F3 or right click on window decoration) is about to be shown. The callback is invoked with a reference to the Client for which the menu is shown. The callback can return either a single menu entry to be added to the menu or an own sub menu with multiple entries. The object for a menu entry should be {title: "My Menu entry", checkable: true, checked: false, triggered: function (action) { // callback with triggered QAction}}, for a menu it should be {title: "My menu", items: [{...}, {...}, ...] /*list with entries as described*/} | ||
| + | |||
== KWin::WorkspaceWrapper == | == KWin::WorkspaceWrapper == | ||
| + | === Enums === | ||
| + | |||
| + | ==== ClientAreaOption ==== | ||
| + | |||
| + | * '''PlacementArea''': window movement snapping area? ignore struts | ||
| + | * '''MovementArea''': | ||
| + | * '''MaximizeArea''': | ||
| + | * '''MaximizeFullArea''': | ||
| + | * '''FullScreenArea''': | ||
| + | * '''WorkArea''': | ||
| + | * '''FullArea''': | ||
| + | * '''ScreenArea''': | ||
| + | ==== ElectricBorder ==== | ||
| + | |||
| + | * '''ElectricTop''': | ||
| + | * '''ElectricTopRight''': | ||
| + | * '''ElectricRight''': | ||
| + | * '''ElectricBottomRight''': | ||
| + | * '''ElectricBottom''': | ||
| + | * '''ElectricBottomLeft''': | ||
| + | * '''ElectricLeft''': | ||
| + | * '''ElectricTopLeft''': | ||
| + | * '''ELECTRIC_COUNT''': | ||
| + | * '''ElectricNone''': | ||
=== Read-only Properties === | === Read-only Properties === | ||
| Line 37: | Line 60: | ||
* ''int'' '''activeScreen''' | * ''int'' '''activeScreen''' | ||
* ''int'' '''numScreens''' | * ''int'' '''numScreens''' | ||
| + | * ''QString'' '''currentActivity''' | ||
| + | * ''QStringList'' '''activities''' | ||
=== Read-write Properties === | === Read-write Properties === | ||
| Line 45: | Line 70: | ||
* '''desktopPresenceChanged(KWin::Client *client, int desktop)''' | * '''desktopPresenceChanged(KWin::Client *client, int desktop)''' | ||
| − | * '''currentDesktopChanged(int desktop)''' | + | * '''currentDesktopChanged(int desktop, KWin::Client *client)''' |
* '''clientAdded(KWin::Client *client)''' | * '''clientAdded(KWin::Client *client)''' | ||
* '''clientRemoved(KWin::Client *client)''' | * '''clientRemoved(KWin::Client *client)''' | ||
| Line 61: | Line 86: | ||
* '''numberScreensChanged(int count)''': Signal emitted when the number of screens changes. count The new number of screens | * '''numberScreensChanged(int count)''': Signal emitted when the number of screens changes. count The new number of screens | ||
* '''screenResized(int screen)''': This signal is emitted when the size of screen changes. Don't forget to fetch an updated client area. | * '''screenResized(int screen)''': This signal is emitted when the size of screen changes. Don't forget to fetch an updated client area. | ||
| + | * '''currentActivityChanged(const QString &id)''': Signal emitted whenever the current activity changed. id id of the new activity | ||
| + | * '''activitiesChanged(const QString &id)''': Signal emitted whenever the list of activities changed. id id of the new activity | ||
| + | * '''activityAdded(const QString &id)''': This signal is emitted when a new activity is added id id of the new activity | ||
| + | * '''activityRemoved(const QString &id)''': This signal is emitted when the activity is removed id id of the removed activity | ||
=== Functions === | === Functions === | ||
| Line 127: | Line 156: | ||
* ''KWin::Client *'' '''getClient(qulonglong windowId)''': Finds the Client with the given windowId. windowId The window Id of the Client The found Client or null | * ''KWin::Client *'' '''getClient(qulonglong windowId)''': Finds the Client with the given windowId. windowId The window Id of the Client The found Client or null | ||
| + | |||
== KWin::Options == | == KWin::Options == | ||
'''Inherits:''' KDecorationOptions | '''Inherits:''' KDecorationOptions | ||
| + | === Enums === | ||
| + | |||
| + | ==== FocusPolicy ==== | ||
| + | |||
| + | * '''ClickToFocus''': | ||
| + | * '''FocusFollowsMouse''': | ||
| + | * '''FocusUnderMouse''': | ||
| + | * '''FocusStrictlyUnderMouse''': | ||
| + | ==== MouseCommand ==== | ||
| + | |||
| + | * '''MouseRaise''': | ||
| + | * '''MouseLower''': | ||
| + | * '''MouseOperationsMenu''': | ||
| + | * '''MouseToggleRaiseAndLower''': | ||
| + | * '''MouseActivateAndRaise''': | ||
| + | * '''MouseActivateAndLower''': | ||
| + | * '''MouseActivate''': | ||
| + | * '''MouseActivateRaiseAndPassClick''': | ||
| + | * '''MouseActivateAndPassClick''': | ||
| + | * '''MouseMove''': | ||
| + | * '''MouseUnrestrictedMove''': | ||
| + | * '''MouseActivateRaiseAndMove''': | ||
| + | * '''MouseActivateRaiseAndUnrestrictedMove''': | ||
| + | * '''MouseResize''': | ||
| + | * '''MouseUnrestrictedResize''': | ||
| + | * '''MouseShade''': | ||
| + | * '''MouseSetShade''': | ||
| + | * '''MouseUnsetShade''': | ||
| + | * '''MouseMaximize''': | ||
| + | * '''MouseRestore''': | ||
| + | * '''MouseMinimize''': | ||
| + | * '''MouseNextDesktop''': | ||
| + | * '''MousePreviousDesktop''': | ||
| + | * '''MouseAbove''': | ||
| + | * '''MouseBelow''': | ||
| + | * '''MouseOpacityMore''': | ||
| + | * '''MouseOpacityLess''': | ||
| + | * '''MouseClose''': | ||
| + | * '''MousePreviousTab''': | ||
| + | * '''MouseNextTab''': | ||
| + | * '''MouseDragTab''': | ||
| + | * '''MouseNothing''': | ||
| + | ==== MouseWheelCommand ==== | ||
| + | |||
| + | * '''MouseWheelRaiseLower''': | ||
| + | * '''MouseWheelShadeUnshade''': | ||
| + | * '''MouseWheelMaximizeRestore''': | ||
| + | * '''MouseWheelAboveBelow''': | ||
| + | * '''MouseWheelPreviousNextDesktop''': | ||
| + | * '''MouseWheelChangeOpacity''': | ||
| + | * '''MouseWheelChangeCurrentTab''': | ||
| + | * '''MouseWheelNothing''': | ||
| + | ==== @16 ==== | ||
| + | |||
| + | * '''ElectricDisabled''': | ||
| + | * '''ElectricMoveOnly''': | ||
| + | * '''ElectricAlways''': | ||
=== Read-only Properties === | === Read-only Properties === | ||
| Line 144: | Line 231: | ||
* ''bool'' '''shadeHover''': Whether shade hover is enabled or not | * ''bool'' '''shadeHover''': Whether shade hover is enabled or not | ||
* ''int'' '''shadeHoverInterval''': shade hover interval | * ''int'' '''shadeHoverInterval''': shade hover interval | ||
| − | |||
| − | |||
| − | |||
* ''bool'' '''separateScreenFocus''': whether to see Xinerama screens separately for focus (in Alt+Tab, when activating next client) | * ''bool'' '''separateScreenFocus''': whether to see Xinerama screens separately for focus (in Alt+Tab, when activating next client) | ||
* ''bool'' '''activeMouseScreen''': whether active Xinerama screen is the one with mouse (or with the active window) | * ''bool'' '''activeMouseScreen''': whether active Xinerama screen is the one with mouse (or with the active window) | ||
| Line 179: | Line 263: | ||
* ''bool'' '''electricBorderMaximize''': Whether a window gets maximized when it reaches top screen edge while being moved. | * ''bool'' '''electricBorderMaximize''': Whether a window gets maximized when it reaches top screen edge while being moved. | ||
* ''bool'' '''electricBorderTiling''': Whether a window is tiled to half screen when reaching left or right screen edge while been moved | * ''bool'' '''electricBorderTiling''': Whether a window is tiled to half screen when reaching left or right screen edge while been moved | ||
| + | * ''float'' '''electricBorderCornerRatio''': Whether a window is tiled to half screen when reaching left or right screen edge while been moved | ||
* ''bool'' '''borderlessMaximizedWindows''' | * ''bool'' '''borderlessMaximizedWindows''' | ||
* ''int'' '''killPingTimeout''': timeout before non-responding application will be killed after attempt to close | * ''int'' '''killPingTimeout''': timeout before non-responding application will be killed after attempt to close | ||
| Line 195: | Line 280: | ||
* ''uint'' '''maxFpsInterval''' | * ''uint'' '''maxFpsInterval''' | ||
* ''uint'' '''refreshRate''' | * ''uint'' '''refreshRate''' | ||
| + | * ''uint'' '''vBlankTime''' | ||
* ''bool'' '''glDirect''' | * ''bool'' '''glDirect''' | ||
* ''bool'' '''glStrictBinding''' | * ''bool'' '''glStrictBinding''' | ||
| + | * ''bool'' '''glStrictBindingFollowsDriver''': Whether strict binding follows the driver or has been overwritten by a user defined config value. If true is set by the OpenGL Scene during initialization. If false glStrictBinding is set from a config value and not updated during scene initialization. | ||
| + | * ''bool'' '''glLegacy''': Whether legacy OpenGL should be used or OpenGL (ES) 2 | ||
=== Signals === | === Signals === | ||
| Line 208: | Line 296: | ||
* '''shadeHoverChanged()''' | * '''shadeHoverChanged()''' | ||
* '''shadeHoverIntervalChanged()''' | * '''shadeHoverIntervalChanged()''' | ||
| − | |||
| − | |||
| − | |||
* '''separateScreenFocusChanged()''' | * '''separateScreenFocusChanged()''' | ||
* '''activeMouseScreenChanged()''' | * '''activeMouseScreenChanged()''' | ||
| Line 244: | Line 329: | ||
* '''electricBorderMaximizeChanged()''' | * '''electricBorderMaximizeChanged()''' | ||
* '''electricBorderTilingChanged()''' | * '''electricBorderTilingChanged()''' | ||
| + | * '''electricBorderCornerRatioChanged()''' | ||
* '''borderlessMaximizedWindowsChanged()''' | * '''borderlessMaximizedWindowsChanged()''' | ||
* '''killPingTimeoutChanged()''' | * '''killPingTimeoutChanged()''' | ||
| Line 260: | Line 346: | ||
* '''maxFpsIntervalChanged()''' | * '''maxFpsIntervalChanged()''' | ||
* '''refreshRateChanged()''' | * '''refreshRateChanged()''' | ||
| + | * '''vBlankTimeChanged()''' | ||
* '''glDirectChanged()''' | * '''glDirectChanged()''' | ||
* '''glStrictBindingChanged()''' | * '''glStrictBindingChanged()''' | ||
| + | * '''glStrictBindingFollowsDriverChanged()''' | ||
| + | * '''glLegacyChanged()''' | ||
=== Functions === | === Functions === | ||
| Line 274: | Line 363: | ||
* ''qulonglong'' '''frameId''' | * ''qulonglong'' '''frameId''' | ||
* ''QRect'' '''geometry''' | * ''QRect'' '''geometry''' | ||
| + | * ''QRect'' '''visibleRect''' | ||
* ''int'' '''height''' | * ''int'' '''height''' | ||
* ''QPoint'' '''pos''' | * ''QPoint'' '''pos''' | ||
| Line 283: | Line 373: | ||
* ''int'' '''y''' | * ''int'' '''y''' | ||
* ''int'' '''desktop''' | * ''int'' '''desktop''' | ||
| + | * ''bool'' '''onAllDesktops''': Whether the window is on all desktops. That is desktop is -1. | ||
* ''QRect'' '''rect''' | * ''QRect'' '''rect''' | ||
* ''QPoint'' '''clientPos''' | * ''QPoint'' '''clientPos''' | ||
| Line 318: | Line 409: | ||
* '''geometryChanged()''' | * '''geometryChanged()''' | ||
* '''geometryShapeChanged(KWin::Toplevel *toplevel, const QRect &old)''' | * '''geometryShapeChanged(KWin::Toplevel *toplevel, const QRect &old)''' | ||
| + | * '''paddingChanged(KWin::Toplevel *toplevel, const QRect &old)''' | ||
* '''windowClosed(KWin::Toplevel *toplevel, KWin::Deleted *deleted)''' | * '''windowClosed(KWin::Toplevel *toplevel, KWin::Deleted *deleted)''' | ||
* '''windowShown(KWin::Toplevel *toplevel)''' | * '''windowShown(KWin::Toplevel *toplevel)''' | ||
* '''shapedChanged()''': Signal emitted when the window's shape state changed. That is if it did not have a shape and received one or if the shape was withdrawn. Think of Chromium enabling/disabling KWin's decoration. | * '''shapedChanged()''': Signal emitted when the window's shape state changed. That is if it did not have a shape and received one or if the shape was withdrawn. Think of Chromium enabling/disabling KWin's decoration. | ||
| + | * '''needsRepaint()''': Emitted whenever the state changes in a way, that the Compositor should schedule a repaint of the scene. | ||
=== Functions === | === Functions === | ||
| Line 335: | Line 428: | ||
The Client class encapsulates a window decoration frame. | The Client class encapsulates a window decoration frame. | ||
'''Inherits:''' KWin::Toplevel | '''Inherits:''' KWin::Toplevel | ||
| + | === Enums === | ||
| + | |||
| + | ==== Sizemode ==== | ||
| + | |||
| + | * '''SizemodeAny''': | ||
| + | * '''SizemodeFixedW''': | ||
| + | * '''SizemodeFixedH''': | ||
| + | * '''SizemodeMax''': | ||
| + | ==== CoordinateMode ==== | ||
| + | |||
| + | * '''DecorationRelative''': | ||
| + | * '''WindowRelative''': | ||
=== Read-only Properties === | === Read-only Properties === | ||
| Line 358: | Line 463: | ||
* ''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::TabGroup'' '''tabGroup''': The "Window Tabs" Group this Client belongs to. | ||
* ''bool'' '''isCurrentTab''': Whether this Client is the currently visible Client in its Client Group (Window Tabs). For change connect to the visibleChanged signal on the Client's Group. | * ''bool'' '''isCurrentTab''': Whether this Client is the currently visible Client in its Client Group (Window Tabs). For change connect to the visibleChanged signal on the Client's Group. | ||
* ''QSize'' '''minSize''': Minimum size as specified in WM_NORMAL_HINTS | * ''QSize'' '''minSize''': Minimum size as specified in WM_NORMAL_HINTS | ||
| Line 364: | Line 470: | ||
* ''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. | * ''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. | ||
| + | * ''bool'' '''onAllDesktops''': Whether the Client is on all desktops. That is desktop is -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. | * ''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. | ||
* ''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. | * ''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. | ||
| Line 404: | Line 511: | ||
* '''tabGroupChanged()''': Emitted whenever the Client's TabGroup 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. | * '''tabGroupChanged()''': Emitted whenever the Client's TabGroup 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. | ||
* '''demandsAttentionChanged()''': Emitted whenever the demands attention state changes. | * '''demandsAttentionChanged()''': Emitted whenever the demands attention state changes. | ||
| − | * '''blockingCompositingChanged()''': Emitted whenever the Client's block compositing state changes. | + | * '''blockingCompositingChanged(KWin::Client *client)''': Emitted whenever the Client's block compositing state changes. |
=== Functions === | === Functions === | ||
| Line 410: | Line 517: | ||
* ''bool'' '''tabBefore(Client *other, bool activate)''' | * ''bool'' '''tabBefore(Client *other, bool activate)''' | ||
* ''bool'' '''tabBehind(Client *other, bool activate)''' | * ''bool'' '''tabBehind(Client *other, bool activate)''' | ||
| + | * '''syncTabGroupFor(QString property, bool fromThisClient=false)''': Syncs the dynamic property fromThisClient or the to all members of the tabGroup() (if there is one) eg. if you call: client->setProperty("kwin_tiling_floats", true); client->syncTabGroupFor("kwin_tiling_floats", true) all clients in this tabGroup will have ::property("kwin_tiling_floats").toBool() == true WARNING: non dynamic properties are ignored - you're not supposed to alter/update such explicitly | ||
* ''bool'' '''untab(const QRect &toGeometry=QRect())''' | * ''bool'' '''untab(const QRect &toGeometry=QRect())''' | ||
Contents |
Methods and properties added to the global JavaScript object.
Inherits: KDecorationOptions
Inherits: KDecorationDefines
The Client class encapsulates a window decoration frame. Inherits: KWin::Toplevel