initial commit

This commit is contained in:
Xanazf 2024-09-28 02:35:19 +03:00
commit 6844038616
294 changed files with 37788 additions and 0 deletions

View 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 {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"ToplevelManager\" mtype=\"\" mname=\"\" >}}.\n",
"flags": [
"uncreatable"
],
"properties": {
"appId": {
"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"
},
"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 {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"fullscreenOn\" >}} function.\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 {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"activate\" >}} function.\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"
},
"parent": {
"type": {
"type": "local",
"module": "Quickshell.Wayland",
"name": "Toplevel"
},
"details": "Parent toplevel if this toplevel is a modal/dialog, otherwise null.\n",
"flags": [
"readonly"
]
},
"title": {
"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": {}
}

View file

@ -0,0 +1,36 @@
{
"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 {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"Toplevel\" mtype=\"\" mname=\"\" >}}s via the\n[zwlr-foreign-toplevel-management-v1](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1)\nwayland protocol.\n",
"flags": [
"singleton"
],
"properties": {
"toplevels": {
"type": {
"type": "local",
"module": "Quickshell",
"name": "ObjectModel",
"of": {
"type": "local",
"module": "Quickshell.Wayland",
"name": "Toplevel"
}
},
"details": null,
"flags": [
"readonly"
]
}
},
"functions": [],
"signals": {},
"variants": {}
}

View 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 {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLockSurface\" mtype=\"\" mname=\"\" >}}\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{{< callout type=\"warning\" >}}\n If the WlSessionLock is destroyed or quickshell exits without setting `locked`\nto false, conformant compositors will leave the screen locked and painted with a solid\ncolor.\n\nThis is what makes the session lock secure. The lock dying will not expose your session,\nbut it will render it inoperable.\n{{< /callout >}}\n\n[ext_session_lock_v1]: https://wayland.app/protocols/ext-session-lock-v1\n",
"properties": {
"locked": {
"type": {
"type": "qt",
"module": "qml",
"name": "bool"
},
"details": "Controls the lock state.\n\n{{< callout type=\"warning\" >}}\n Only one WlSessionLock may be locked at a time. Attempting to enable a lock while\nanother lock is enabled will do nothing.\n\n{{< /callout >}}"
},
"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"
]
},
"surface": {
"type": {
"type": "qt",
"module": "qml.QtQml",
"name": "Component"
},
"details": "The surface that will be created for each screen. Must create a {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLockSurface\" mtype=\"\" mname=\"\" >}}.\n",
"flags": [
"default"
]
}
},
"functions": [],
"signals": {},
"variants": {}
}

View 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 {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLock\" mtype=\"\" mname=\"\" >}} when it is locked.\n",
"properties": {
"screen": {
"type": {
"type": "local",
"module": "Quickshell",
"name": "ShellScreen"
},
"details": "The screen that the surface is displayed on.\n",
"flags": [
"readonly"
]
},
"data": {
"type": {
"type": "qt",
"module": "qml",
"name": "list",
"of": {
"type": "qt",
"module": "qml.QtQml",
"name": "QtObject"
}
},
"details": null,
"flags": [
"default",
"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{{< callout type=\"warning\" >}}\n This seems to behave weirdly when using transparent colors on some systems.\nUsing a colored content item over a transparent window is the recommended way to work around this:\n```qml\nProxyWindow {\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,\nand most compositors will ignore an attempt to do so.\n\n{{< /callout >}}"
},
"height": {
"type": {
"type": "qt",
"module": "qml",
"name": "int"
},
"details": null,
"flags": [
"readonly"
]
},
"width": {
"type": {
"type": "qt",
"module": "qml",
"name": "int"
},
"details": null,
"flags": [
"readonly"
]
},
"contentItem": {
"type": {
"type": "qt",
"module": "qml.QtQuick",
"name": "Item"
},
"details": null,
"flags": [
"readonly"
]
}
},
"functions": [],
"signals": {},
"variants": {}
}

View file

@ -0,0 +1,18 @@
{
"name": "WlrKeyboardFocus",
"module": "Quickshell.Wayland",
"type": "enum",
"description": "WlrLayershell keyboard focus mode",
"details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"keyboardFocus\" >}}.\n",
"variants": {
"OnDemand": {
"details": "Access to the keyboard as determined by the operating system.\n\n{{< callout type=\"warning\" >}}\n On some systems, `OnDemand` may cause the shell window to\nretain focus over another window unexpectedly.\nYou should try `None` if you experience issues.\n\n{{< /callout >}}"
},
"None": {
"details": "No keyboard input will be accepted.\n"
},
"Exclusive": {
"details": "Exclusive access to the keyboard, locking out all other windows.\n\n{{< callout type=\"warning\" >}}\n You **CANNOT** use this to make a secure lock screen.\n\nIf you want to make a lock screen, use {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLock\" mtype=\"\" mname=\"\" >}}.\n\n{{< /callout >}}"
}
}
}

View file

@ -0,0 +1,21 @@
{
"name": "WlrLayer",
"module": "Quickshell.Wayland",
"type": "enum",
"description": "WlrLayershell layer.",
"details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"layer\" >}}.\n",
"variants": {
"Bottom": {
"details": "Above background, usually below windows\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"
},
"Background": {
"details": "Below bottom\n"
}
}
}

View 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 {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"PanelWindow\" mtype=\"\" mname=\"\" >}} 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"
},
"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"
},
"layer": {
"type": {
"type": "local",
"module": "Quickshell.Wayland",
"name": "WlrLayer"
},
"details": "The shell layer the window sits in. Defaults to `WlrLayer.Top`.\n"
}
},
"functions": [],
"signals": {},
"variants": {}
}

View file

@ -0,0 +1,5 @@
{
"name": "Quickshell.Wayland",
"description": "Wayland specific Quickshell types",
"details": ""
}