Mgraesslin (Talk | contribs) (→Read-write Properties) |
Mgraesslin (Talk | contribs) |
||
| (4 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. | ||
| − | + | * ''object'' '''KWin''': Provides access to enums defined in KWin::WorkspaceWrapper | |
| − | + | ||
| − | + | ||
| − | + | ||
=== Functions === | === Functions === | ||
| Line 21: | Line 18: | ||
* ''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 61: | ||
* ''int'' '''activeScreen''' | * ''int'' '''activeScreen''' | ||
* ''int'' '''numScreens''' | * ''int'' '''numScreens''' | ||
| + | * ''QString'' '''currentActivity''' | ||
| + | * ''QStringList'' '''activities''' | ||
=== Read-write Properties === | === Read-write Properties === | ||
| Line 45: | Line 71: | ||
* '''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 87: | ||
* '''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 157: | ||
* ''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 232: | ||
* ''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 264: | ||
* ''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 281: | ||
* ''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 297: | ||
* '''shadeHoverChanged()''' | * '''shadeHoverChanged()''' | ||
* '''shadeHoverIntervalChanged()''' | * '''shadeHoverIntervalChanged()''' | ||
| − | |||
| − | |||
| − | |||
* '''separateScreenFocusChanged()''' | * '''separateScreenFocusChanged()''' | ||
* '''activeMouseScreenChanged()''' | * '''activeMouseScreenChanged()''' | ||
| Line 244: | Line 330: | ||
* '''electricBorderMaximizeChanged()''' | * '''electricBorderMaximizeChanged()''' | ||
* '''electricBorderTilingChanged()''' | * '''electricBorderTilingChanged()''' | ||
| + | * '''electricBorderCornerRatioChanged()''' | ||
* '''borderlessMaximizedWindowsChanged()''' | * '''borderlessMaximizedWindowsChanged()''' | ||
* '''killPingTimeoutChanged()''' | * '''killPingTimeoutChanged()''' | ||
| Line 260: | Line 347: | ||
* '''maxFpsIntervalChanged()''' | * '''maxFpsIntervalChanged()''' | ||
* '''refreshRateChanged()''' | * '''refreshRateChanged()''' | ||
| + | * '''vBlankTimeChanged()''' | ||
* '''glDirectChanged()''' | * '''glDirectChanged()''' | ||
* '''glStrictBindingChanged()''' | * '''glStrictBindingChanged()''' | ||
| + | * '''glStrictBindingFollowsDriverChanged()''' | ||
| + | * '''glLegacyChanged()''' | ||
=== Functions === | === Functions === | ||
| Line 274: | Line 364: | ||
* ''qulonglong'' '''frameId''' | * ''qulonglong'' '''frameId''' | ||
* ''QRect'' '''geometry''' | * ''QRect'' '''geometry''' | ||
| + | * ''QRect'' '''visibleRect''' | ||
* ''int'' '''height''' | * ''int'' '''height''' | ||
* ''QPoint'' '''pos''' | * ''QPoint'' '''pos''' | ||
| Line 309: | Line 400: | ||
* ''bool'' '''deleted''': Whether this Toplevel represents an already deleted window and only kept for the compositor for animations. | * ''bool'' '''deleted''': Whether this Toplevel represents an already deleted window and only kept for the compositor for animations. | ||
* ''bool'' '''shaped''': Whether the window has an own shape | * ''bool'' '''shaped''': Whether the window has an own shape | ||
| − | |||
=== Read-write Properties === | === Read-write Properties === | ||
| Line 320: | Line 410: | ||
* '''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 337: | Line 429: | ||
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 360: | Line 464: | ||
* ''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 379: | Line 484: | ||
* ''bool'' '''demandsAttention''': Whether window state _NET_WM_STATE_DEMANDS_ATTENTION is set. This state indicates that some action in or with the window happened. For example, it may be set by the Window Manager if the window requested activation but the Window Manager refused it, or the application may set it if it finished some work. This state may be set by both the Client and the Window Manager. It should be unset by the Window Manager when it decides the window got the required attention (usually, that it got activated). | * ''bool'' '''demandsAttention''': Whether window state _NET_WM_STATE_DEMANDS_ATTENTION is set. This state indicates that some action in or with the window happened. For example, it may be set by the Window Manager if the window requested activation but the Window Manager refused it, or the application may set it if it finished some work. This state may be set by both the Client and the Window Manager. It should be unset by the Window Manager when it decides the window got the required attention (usually, that it got activated). | ||
* ''bool'' '''blocksCompositing''': A client can block compositing. That is while the Client is alive and the state is set, Compositing is suspended and is resumed when there are no Clients blocking compositing any more.This is actually set by a window property, unfortunately not used by the target application group. For convenience it's exported as a property to the scripts.Use with care! | * ''bool'' '''blocksCompositing''': A client can block compositing. That is while the Client is alive and the state is set, Compositing is suspended and is resumed when there are no Clients blocking compositing any more.This is actually set by a window property, unfortunately not used by the target application group. For convenience it's exported as a property to the scripts.Use with care! | ||
| − | |||
=== Signals === | === Signals === | ||
| Line 408: | Line 512: | ||
* '''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 414: | Line 518: | ||
* ''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