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

@ -18,13 +18,30 @@
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1695644571,
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
"lastModified": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"type": "github"
},
"original": {
@ -52,6 +69,40 @@
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pywlroots-src": {
"flake": false,
"locked": {
@ -72,7 +123,41 @@
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"pywlroots-src": "pywlroots-src"
"pywlroots-src": "pywlroots-src",
"scenefx": "scenefx"
}
},
"scenefx": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_2",
"scenefx-src": "scenefx-src"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-MjNre2IVsdGHgumTqojSngsCKSZQPcri01ZikXbyTqQ=",
"path": "../scenefx",
"type": "path"
},
"original": {
"path": "../scenefx",
"type": "path"
}
},
"scenefx-src": {
"flake": false,
"locked": {
"lastModified": 1691347738,
"narHash": "sha256-c/zRWz6njC3RsHzIcWpd5m7CXGprrIhKENpaQVH7Owk=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "b929a2bbadf467864796ad4ec90882ce86cfebff",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
}
},

View file

@ -4,6 +4,8 @@
flake-parts.url = "github:hercules-ci/flake-parts";
scenefx.url = "path:../scenefx";
pywlroots-src = {
url = "github:flacjacket/pywlroots";
flake = false;
@ -44,6 +46,7 @@
xorg.xcbutilwm
udev
wayland
inputs'.scenefx.packages.default
((wlroots_0_16.override {
xwayland = xwayland;
enableXWayland = true;
@ -65,6 +68,11 @@
postBuild = ''
${python3.pythonForBuild.interpreter} wlroots/ffi_build.py
'';
# patches = [./scenefx.patch];
# postPatch = ''
# substituteInPlace wlroots/ffi_build.py \
# --replace 'libraries=["wlroots"],' 'libraries=["wlroots","scenefx"],'
# '';
pythonImportsCheck = ["wlroots"];
passthru.test = {inherit qtile;};

View file

@ -0,0 +1,34 @@
diff --git a/wlroots/ffi_build.py b/wlroots/ffi_build.py
index ec01f8b..cac6dd8 100755
--- a/wlroots/ffi_build.py
+++ b/wlroots/ffi_build.py
@@ -1891,6 +1891,12 @@ void wlr_scene_buffer_set_dest_size(struct wlr_scene_buffer *scene_buffer,
void wlr_scene_buffer_set_transform(struct wlr_scene_buffer *scene_buffer,
enum wl_output_transform transform);
+void wlr_scene_buffer_set_opacity(struct wlr_scene_buffer *scene_buffer,
+ float opacity);
+
+void wlr_scene_buffer_set_corner_radius(struct wlr_scene_buffer *scene_buffer,
+ int radii);
+
void wlr_scene_buffer_send_frame_done(struct wlr_scene_buffer *scene_buffer,
struct timespec *now);
diff --git a/wlroots/wlr_types/scene.py b/wlroots/wlr_types/scene.py
index 3a99d2f..2f3d5ba 100755
--- a/wlroots/wlr_types/scene.py
+++ b/wlroots/wlr_types/scene.py
@@ -170,6 +170,12 @@ class SceneBuffer(Ptr):
region_ptr = region._ptr if region else ffi.NULL
lib.wlr_scene_buffer_set_buffer_with_damage(self._ptr, buffer_ptr, region_ptr)
+ def set_opacity(self, opacity: float) -> None:
+ lib.wlr_scene_buffer_set_opacity(self._ptr, opacity)
+
+ def set_corner_radius(self, radii: int) -> None:
+ lib.wlr_scene_buffer_set_corner_radius(self._ptr, radii)
+
T = TypeVar("T")
BufferCallback = Callable[[SceneBuffer, int, int, T], None]