idk i dont even remember

This commit is contained in:
atagen 2023-12-02 12:00:59 +11:00
parent 6cff59b7ef
commit bbfc3acc32
13 changed files with 262 additions and 732 deletions

188
flakes/qtile/flake.lock generated
View file

@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
@ -23,46 +23,11 @@
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_4"
},
"locked": {
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
@ -73,11 +38,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1697456312,
"narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=",
"lastModified": 1701253981,
"narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ca012a02bf8327be9e488546faecae5e05d7d749",
"rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github"
},
"original": {
@ -90,11 +55,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
@ -108,11 +73,11 @@
"nixpkgs-lib_2": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
@ -123,70 +88,17 @@
"type": "github"
}
},
"nixpkgs-lib_3": {
"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-lib_4": {
"locked": {
"dir": "lib",
"lastModified": 1696019113,
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
"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": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"pywlroots-src": "pywlroots-src",
"scenefx": "scenefx"
"pywlroots-src": "pywlroots-src"
},
"locked": {
"lastModified": 1,
"narHash": "sha256-TohP8yXFcSpQzFL7evx7D1wVqvCEgmF5qtnSdaCqCso=",
"narHash": "sha256-8QIPcBStp/1aPT93B2ot9tNBx6IxgrhrUYpwxLv+2w8=",
"path": "pywlroots",
"type": "path"
},
@ -198,11 +110,11 @@
"pywlroots-src": {
"flake": false,
"locked": {
"lastModified": 1694810594,
"narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=",
"lastModified": 1696720020,
"narHash": "sha256-iQRGQmyVTIpMeDMhDj4uWC+MGlql6LIRO9mI2qHRakI=",
"owner": "flacjacket",
"repo": "pywlroots",
"rev": "fca5c8142930ed4a6c23a906e77813207d993480",
"rev": "1b39a33c23e0d0dc0d4fbd60d6e7bd1ca1e17b2d",
"type": "github"
},
"original": {
@ -214,11 +126,11 @@
"qtile-src": {
"flake": false,
"locked": {
"lastModified": 1697524288,
"narHash": "sha256-5KUPyCAyev++MWudkrEDMWTgVQTue5IdH9HMnATWuxI=",
"lastModified": 1701169515,
"narHash": "sha256-Rbc38gdgU9QliDJ5RBOYmYkcrtzQR5YoisJnCcQC3C8=",
"owner": "qtile",
"repo": "qtile",
"rev": "5a1af7fd65b5fb0d4afb97bb82007cf082044d73",
"rev": "9ccaf6f1c01a9ffbd7beacdd8f405884bd81e1c0",
"type": "github"
},
"original": {
@ -232,59 +144,7 @@
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"pywlroots": "pywlroots",
"qtile-src": "qtile-src",
"smartfloat": "smartfloat"
}
},
"scenefx": {
"inputs": {
"flake-parts": "flake-parts_3",
"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"
}
},
"smartfloat": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1,
"narHash": "sha256-hKPB0q1CYMXpH2kvCs8oCmNcRRoOj1JJDECGGY2A1AU=",
"path": "smartfloat",
"type": "path"
},
"original": {
"path": "smartfloat",
"type": "path"
"qtile-src": "qtile-src"
}
}
},

View file

@ -14,10 +14,10 @@
inputs.nixpkgs.follows = "nixpkgs";
};
smartfloat = {
url = "path:smartfloat";
inputs.nixpkgs.follows = "nixpkgs";
};
# smartfloat = {
# url = "path:smartfloat";
# inputs.nixpkgs.follows = "nixpkgs";
# };
# scenefx = {
# url = "path:scenefx";
@ -60,8 +60,6 @@
substituteInPlace libqtile/backend/wayland/cffi/build.py \
--replace /usr/include/pixman-1 ${lib.getDev pkgs.pixman}/include \
--replace /usr/include/libdrm ${lib.getDev pkgs.libdrm}/include/libdrm
cp ${inputs'.smartfloat.packages.default} libqtile/layout/smartfloat.py
echo from libqtile.layout.smartfloat import SmartFloat >> libqtile/layout/__init__.py
'';
nativeBuildInputs = [
pkg-config

View file

@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
@ -18,30 +18,13 @@
"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": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"lastModified": 1701253981,
"narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github"
},
"original": {
@ -54,11 +37,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
@ -69,48 +52,14 @@
"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": {
"lastModified": 1694810594,
"narHash": "sha256-TjOYziToYqXbhAK+h/h00/e7oPluDsGaBP3DJ68jPXM=",
"lastModified": 1696720020,
"narHash": "sha256-iQRGQmyVTIpMeDMhDj4uWC+MGlql6LIRO9mI2qHRakI=",
"owner": "flacjacket",
"repo": "pywlroots",
"rev": "fca5c8142930ed4a6c23a906e77813207d993480",
"rev": "1b39a33c23e0d0dc0d4fbd60d6e7bd1ca1e17b2d",
"type": "github"
},
"original": {
@ -123,41 +72,7 @@
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"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"
"pywlroots-src": "pywlroots-src"
}
}
},

View file

@ -4,8 +4,6 @@
flake-parts.url = "github:hercules-ci/flake-parts";
scenefx.url = "path:../scenefx";
pywlroots-src = {
url = "github:flacjacket/pywlroots";
flake = false;
@ -46,7 +44,6 @@
xorg.xcbutilwm
udev
wayland
inputs'.scenefx.packages.default
((wlroots_0_16.override {
xwayland = xwayland;
enableXWayland = true;
@ -68,11 +65,6 @@
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

@ -1,67 +0,0 @@
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)

View file

@ -1,80 +0,0 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"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": 1695830400,
"narHash": "sha256-gToZXQVr0G/1WriO83olnqrLSHF2Jb8BPcmCt497ro0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"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"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"scenefx-src": "scenefx-src"
}
},
"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"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,75 +0,0 @@
{
description = "scenefx";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
scenefx-src = {
url = "github:wlrfx/scenefx";
flake = false;
};
};
outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
# To import a flake module
# 1. Add foo to inputs
# 2. Add foo as a parameter to the outputs function
# 3. Add here: foo.flakeModule
];
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];
perSystem = {
config,
self',
inputs',
pkgs,
system,
...
}: {
# Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same
# system.
# Equivalent to inputs'.nixpkgs.legacyPackages.hello;
packages.default = with pkgs;
stdenv.mkDerivation rec {
pname = "scenefx";
version = "unstable-${inputs.scenefx-src.lastModifiedDate}";
src = inputs.scenefx-src;
nativeBuildInputs = [
meson
ninja
cmake
pkg-config
];
buildInputs = [
((wlroots_0_16.override {
xwayland = xwayland;
enableXWayland = true;
})
.overrideAttrs (wf: wp: {
postPatch =
wp.postPatch
+ ''
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
'';
}))
wayland
libdrm
libxkbcommon
udev
pixman
wayland-protocols
libGL
mesa
];
};
};
flake = {
# The usual flake attributes can be defined here, including system-
# agnostic ones like nixosModule and system-enumerating ones, although
# those are more easily expressed in perSystem.
};
};
}