initial commit
This commit is contained in:
commit
6844038616
294 changed files with 37788 additions and 0 deletions
165
modules/Quickshell.Wayland/Toplevel.json
Normal file
165
modules/Quickshell.Wayland/Toplevel.json
Normal file
|
@ -0,0 +1,165 @@
|
|||
{
|
||||
"name": "Toplevel",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "class",
|
||||
"super": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQml",
|
||||
"name": "QtObject"
|
||||
},
|
||||
"description": "Window from another application.",
|
||||
"details": "A window/toplevel from another application, retrievable from\nthe TYPE99MQS_Quickshell_Wayland99NToplevelManager99TYPE.\n",
|
||||
"flags": [
|
||||
"uncreatable"
|
||||
],
|
||||
"properties": {
|
||||
"fullscreen": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "If the window is currently fullscreen.\n\nFullscreen can be requested by setting this property, though it may\nbe ignored by the compositor.\nFullscreen can be requested on a specific screen with the TYPE99VfullscreenOn99Tfunc99TYPE function.\n"
|
||||
},
|
||||
"parent": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell.Wayland",
|
||||
"name": "Toplevel"
|
||||
},
|
||||
"details": "Parent toplevel if this toplevel is a modal/dialog, otherwise null.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"maximized": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "If the window is currently maximized.\n\nMaximization can be requested by setting this property, though it may\nbe ignored by the compositor.\n"
|
||||
},
|
||||
"activated": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "If the window is currently activated or focused.\n\nActivation can be requested with the TYPE99Vactivate99Tfunc99TYPE function.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"title": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "string"
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"minimized": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "If the window is currently minimized.\n\nMinimization can be requested by setting this property, though it may\nbe ignored by the compositor.\n"
|
||||
},
|
||||
"appId": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "string"
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"functions": [
|
||||
{
|
||||
"ret": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "void"
|
||||
},
|
||||
"name": "activate",
|
||||
"id": "activate",
|
||||
"details": "Request that this toplevel is activated.\nThe request may be ignored by the compositor.\n",
|
||||
"params": []
|
||||
},
|
||||
{
|
||||
"ret": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "void"
|
||||
},
|
||||
"name": "fullscreenOn",
|
||||
"id": "fullscreenOn",
|
||||
"details": "Request that this toplevel is fullscreened on a specific screen.\nThe request may be ignored by the compositor.\n",
|
||||
"params": [
|
||||
{
|
||||
"name": "screen",
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "ShellScreen"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ret": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "void"
|
||||
},
|
||||
"name": "setRectangle",
|
||||
"id": "setRectangle",
|
||||
"details": "Provide a hint to the compositor where the visual representation\nof this toplevel is relative to a quickshell window.\nThis hint can be used visually in operations like minimization.\n",
|
||||
"params": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQml",
|
||||
"name": "QtObject"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rect",
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "rect"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ret": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "void"
|
||||
},
|
||||
"name": "unsetRectangle",
|
||||
"id": "unsetRectangle",
|
||||
"details": null,
|
||||
"params": []
|
||||
}
|
||||
],
|
||||
"signals": {
|
||||
"closed": {
|
||||
"name": "closed",
|
||||
"details": null,
|
||||
"params": []
|
||||
}
|
||||
},
|
||||
"variants": {}
|
||||
}
|
47
modules/Quickshell.Wayland/ToplevelManager.json
Normal file
47
modules/Quickshell.Wayland/ToplevelManager.json
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"name": "ToplevelManager",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "class",
|
||||
"super": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQml",
|
||||
"name": "QtObject"
|
||||
},
|
||||
"description": "Exposes a list of Toplevels.",
|
||||
"details": "Exposes a list of windows from other applications as TYPE99MQS_Quickshell_Wayland99NToplevel99TYPEs via the\n[zwlr-foreign-toplevel-management-v1](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1)\nwayland protocol.\n",
|
||||
"flags": [
|
||||
"singleton"
|
||||
],
|
||||
"properties": {
|
||||
"activeToplevel": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell.Wayland",
|
||||
"name": "Toplevel"
|
||||
},
|
||||
"details": "Active toplevel or null.\n\n> [!NOTE] If multiple are active, this will be the most recently activated one.\n> Usually compositors will not report more than one toplevel as active at a time.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"toplevels": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "ObjectModel",
|
||||
"of": {
|
||||
"type": "local",
|
||||
"module": "Quickshell.Wayland",
|
||||
"name": "Toplevel"
|
||||
}
|
||||
},
|
||||
"details": "All toplevel windows exposed by the compositor.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"functions": [],
|
||||
"signals": {},
|
||||
"variants": {}
|
||||
}
|
47
modules/Quickshell.Wayland/WlSessionLock.json
Normal file
47
modules/Quickshell.Wayland/WlSessionLock.json
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"name": "WlSessionLock",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "class",
|
||||
"super": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "Reloadable"
|
||||
},
|
||||
"description": "Wayland session locker.",
|
||||
"details": "Wayland session lock implemented using the [ext_session_lock_v1] protocol.\n\nWlSessionLock will create an instance of its `surface` component for every screen when\n`locked` is set to true. The `surface` component must create a TYPE99MQS_Quickshell_Wayland99NWlSessionLockSurface99TYPE\nwhich will be displayed on each screen.\n\nThe below example will create a session lock that disappears when the button is clicked.\n```qml\nWlSessionLock {\n id: lock\n\n WlSessionLockSurface {\n Button {\n text: \"unlock me\"\n onClicked: lock.locked = false\n }\n }\n}\n\n// ...\nlock.locked = true\n```\n\n> [!WARNING] If the WlSessionLock is destroyed or quickshell exits without setting `locked`\n> to false, conformant compositors will leave the screen locked and painted with a solid\n> color.\n>\n> This is what makes the session lock secure. The lock dying will not expose your session,\n> but it will render it inoperable.\n\n[ext_session_lock_v1]: https://wayland.app/protocols/ext-session-lock-v1\n",
|
||||
"properties": {
|
||||
"surface": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQml",
|
||||
"name": "Component"
|
||||
},
|
||||
"details": "The surface that will be created for each screen. Must create a TYPE99MQS_Quickshell_Wayland99NWlSessionLockSurface99TYPE.\n",
|
||||
"flags": [
|
||||
"default"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "Controls the lock state.\n\n> [!WARNING] Only one WlSessionLock may be locked at a time. Attempting to enable a lock while\n> another lock is enabled will do nothing.\n"
|
||||
},
|
||||
"secure": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "The compositor lock state.\n\nThis is set to true once the compositor has confirmed all screens are covered with locks.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"functions": [],
|
||||
"signals": {},
|
||||
"variants": {}
|
||||
}
|
97
modules/Quickshell.Wayland/WlSessionLockSurface.json
Normal file
97
modules/Quickshell.Wayland/WlSessionLockSurface.json
Normal file
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"name": "WlSessionLockSurface",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "class",
|
||||
"super": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "Reloadable"
|
||||
},
|
||||
"description": "Surface to display with a `WlSessionLock`.",
|
||||
"details": "Surface displayed by a TYPE99MQS_Quickshell_Wayland99NWlSessionLock99TYPE when it is locked.\n",
|
||||
"properties": {
|
||||
"contentItem": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQuick",
|
||||
"name": "Item"
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"height": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "int"
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"screen": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "ShellScreen"
|
||||
},
|
||||
"details": "The screen that the surface is displayed on.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"visible": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "bool"
|
||||
},
|
||||
"details": "If the surface has been made visible.\n\nNote: SessionLockSurfaces will never become invisible, they will only be destroyed.\n",
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"color": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "color"
|
||||
},
|
||||
"details": "The background color of the window. Defaults to white.\n\n> [!WARNING] This seems to behave weirdly when using transparent colors on some systems.\n> Using a colored content item over a transparent window is the recommended way to work around this:\n> ```qml\n> ProxyWindow {\n> Rectangle {\n> anchors.fill: parent\n> color: \"#20ffffff\"\n>\n> // your content here\n> }\n> }\n> ```\n> ... but you probably shouldn't make a transparent lock,\n> and most compositors will ignore an attempt to do so.\n"
|
||||
},
|
||||
"data": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "list",
|
||||
"of": {
|
||||
"type": "qt",
|
||||
"module": "qml.QtQml",
|
||||
"name": "QtObject"
|
||||
}
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"default",
|
||||
"readonly"
|
||||
]
|
||||
},
|
||||
"width": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "int"
|
||||
},
|
||||
"details": null,
|
||||
"flags": [
|
||||
"readonly"
|
||||
]
|
||||
}
|
||||
},
|
||||
"functions": [],
|
||||
"signals": {},
|
||||
"variants": {}
|
||||
}
|
18
modules/Quickshell.Wayland/WlrKeyboardFocus.json
Normal file
18
modules/Quickshell.Wayland/WlrKeyboardFocus.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "WlrKeyboardFocus",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "enum",
|
||||
"description": "WlrLayershell keyboard focus mode",
|
||||
"details": "See TYPE99MQS_Quickshell_Wayland99NWlrLayershell99VkeyboardFocus99Tprop99TYPE.\n",
|
||||
"variants": {
|
||||
"OnDemand": {
|
||||
"details": "Access to the keyboard as determined by the operating system.\n\n> [!WARNING] On some systems, `OnDemand` may cause the shell window to\n> retain focus over another window unexpectedly.\n> You should try `None` if you experience issues.\n"
|
||||
},
|
||||
"None": {
|
||||
"details": "No keyboard input will be accepted.\n"
|
||||
},
|
||||
"Exclusive": {
|
||||
"details": "Exclusive access to the keyboard, locking out all other windows.\n\n> [!WARNING] You **CANNOT** use this to make a secure lock screen.\n>\n> If you want to make a lock screen, use TYPE99MQS_Quickshell_Wayland99NWlSessionLock99TYPE.\n"
|
||||
}
|
||||
}
|
||||
}
|
21
modules/Quickshell.Wayland/WlrLayer.json
Normal file
21
modules/Quickshell.Wayland/WlrLayer.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "WlrLayer",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "enum",
|
||||
"description": "WlrLayershell layer.",
|
||||
"details": "See TYPE99MQS_Quickshell_Wayland99NWlrLayershell99Vlayer99Tprop99TYPE.\n",
|
||||
"variants": {
|
||||
"Background": {
|
||||
"details": "Below bottom\n"
|
||||
},
|
||||
"Top": {
|
||||
"details": "Commonly used for panels, app launchers, and docks.\nUsually renders over normal windows and below fullscreen windows.\n"
|
||||
},
|
||||
"Overlay": {
|
||||
"details": "Usually renders over fullscreen windows\n"
|
||||
},
|
||||
"Bottom": {
|
||||
"details": "Above background, usually below windows\n"
|
||||
}
|
||||
}
|
||||
}
|
41
modules/Quickshell.Wayland/WlrLayershell.json
Normal file
41
modules/Quickshell.Wayland/WlrLayershell.json
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"name": "WlrLayershell",
|
||||
"module": "Quickshell.Wayland",
|
||||
"type": "class",
|
||||
"super": {
|
||||
"type": "local",
|
||||
"module": "Quickshell",
|
||||
"name": "PanelWindow"
|
||||
},
|
||||
"description": "Wlroots layershell window",
|
||||
"details": "Decorationless window that can be attached to the screen edges using the [zwlr_layer_shell_v1] protocol.\n\n#### Attached object\n`WlrLayershell` works as an attached object of TYPE99MQS_Quickshell99NPanelWindow99TYPE which you should use instead if you can,\nas it is platform independent.\n\n```qml\nPanelWindow {\n // When PanelWindow is backed with WlrLayershell this will work\n WlrLayershell.layer: WlrLayer.Bottom\n}\n```\n\nTo maintain platform compatibility you can dynamically set layershell specific properties.\n```qml\nPanelWindow {\n Component.onCompleted: {\n if (this.WlrLayershell != null) {\n this.WlrLayershell.layer = WlrLayer.Bottom;\n }\n }\n}\n```\n\n[zwlr_layer_shell_v1]: https://wayland.app/protocols/wlr-layer-shell-unstable-v1\n",
|
||||
"properties": {
|
||||
"keyboardFocus": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell.Wayland",
|
||||
"name": "WlrKeyboardFocus"
|
||||
},
|
||||
"details": "The degree of keyboard focus taken. Defaults to `KeyboardFocus.None`.\n"
|
||||
},
|
||||
"layer": {
|
||||
"type": {
|
||||
"type": "local",
|
||||
"module": "Quickshell.Wayland",
|
||||
"name": "WlrLayer"
|
||||
},
|
||||
"details": "The shell layer the window sits in. Defaults to `WlrLayer.Top`.\n"
|
||||
},
|
||||
"namespace": {
|
||||
"type": {
|
||||
"type": "qt",
|
||||
"module": "qml",
|
||||
"name": "string"
|
||||
},
|
||||
"details": "Similar to the class property of windows. Can be used to identify the window to external tools.\n\nCannot be set after windowConnected.\n"
|
||||
}
|
||||
},
|
||||
"functions": [],
|
||||
"signals": {},
|
||||
"variants": {}
|
||||
}
|
5
modules/Quickshell.Wayland/index.json
Normal file
5
modules/Quickshell.Wayland/index.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"name": "Quickshell.Wayland",
|
||||
"description": "Wayland specific Quickshell types",
|
||||
"details": ""
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue