fix vscode

This commit is contained in:
atagen 2023-09-29 22:04:32 +10:00
parent 0db4f9bef8
commit 79c9f90e53
13 changed files with 711 additions and 42 deletions

View file

@ -0,0 +1,67 @@
diff --git a/libqtile/backend/wayland/window.py b/libqtile/backend/wayland/window.py
index 8f2c12a..563cc83 100644
--- a/libqtile/backend/wayland/window.py
+++ b/libqtile/backend/wayland/window.py
@@ -114,6 +114,7 @@ class Window(typing.Generic[S], _Base, base.Window, HasListeners):
self.x = 0
self.y = 0
self._opacity: float = 1.0
+ self._rounding: int = 0
self._wm_class: str | None = None
self._idle_inhibitors_count: int = 0
self._urgent = False
@@ -389,16 +390,43 @@ class Window(typing.Generic[S], _Base, base.Window, HasListeners):
@opacity.setter
def opacity(self, opacity: float) -> None:
- if opacity < 1.0:
+ if self.container.node:
+ buf = SceneBuffer.from_node(self.container.node)
+ if buf:
+ buf.set_opacity(opacity)
+ else:
+ logger.warning(
+ f"Failed to turn node {self.container.node} into a buffer!"
+ )
+ else:
logger.warning(
- "Sorry, transparency is not yet supported by the wlroots API used by "
- "Qtile. Transparency can only be achieved if the client sets it."
+ "Sorry, opacity is not implemented for this window type."
)
# wlroots' scene graph doesn't support setting the opacity of trees/nodes by
# the compositor. See: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3393
# If/when that becomes supported, this warning can be removed.
self._opacity = opacity
+ @property
+ def rounding(self) -> int:
+ return self._rounding
+
+ @rounding.setter
+ def rounding(self, radii: int) -> None:
+ if self.container.node:
+ buf = SceneBuffer.from_node(self.container.node)
+ if buf:
+ buf.set_corner_radius(radii)
+ else:
+ logger.warning(
+ f"Failed to turn node {self.container.node} into a buffer!"
+ )
+ else:
+ logger.warning(
+ "Sorry, rounding is not implemented for this window type."
+ )
+
+
@property
def floating(self) -> bool:
return self._float_state != FloatStates.NOT_FLOATING
@@ -921,6 +949,7 @@ class Internal(_Base, base.Internal):
self._width: int = width
self._height: int = height
self._opacity: float = 1.0
+ self._rounding: int = 0
# Store this object on the scene node for finding the window under the pointer.
self.wlr_buffer, self.surface = self._new_buffer(init=True)