4 Commits

Author SHA1 Message Date
bl beb64f4df9 add fuzzy clouds shader 2026-06-15 22:56:47 +02:00
bl 2a99d35797 remember to cleanup when building 2026-06-09 15:22:23 +02:00
bl 6571672df8 chore: Release gpupaper version 0.1.2
Release / build (x86_64, ubuntu-latest, x86_64-unknown-linux-gnu) (push) Successful in 6m9s
Release / build (aarch64, aarch64, aarch64-unknown-linux-gnu) (push) Successful in 7m0s
Release / update-aur (push) Successful in 11s
2026-06-09 15:14:27 +02:00
bl 20363b498c Deduplicate output attach on init and log attached output name 2026-06-09 15:14:02 +02:00
6 changed files with 43 additions and 10 deletions
+1
View File
@@ -122,6 +122,7 @@ jobs:
echo " User aur" >> ~/.ssh/config
ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts 2>/dev/null
rm -rf /tmp/aur-gpupaper
git clone ssh://aur@aur.archlinux.org/gpupaper.git /tmp/aur-gpupaper
cp aur/PKGBUILD /tmp/aur-gpupaper/
cd /tmp/aur-gpupaper
Generated
+1 -1
View File
@@ -473,7 +473,7 @@ dependencies = [
[[package]]
name = "gpupaper"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"bytemuck",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "gpupaper"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
[[bin]]
+1 -1
View File
@@ -1,6 +1,6 @@
# Maintainer: Bendik Aagaard Lynghaug <bendik.lynghaug@gmail.com>
pkgname=gpupaper
pkgver=0.1.1
pkgver=0.1.2
pkgrel=1
pkgdesc="Wayland layer-surface wallpaper runner powered by GLSL/WGSL fragment shaders (wgpu)"
arch=('x86_64' 'aarch64')
+29
View File
@@ -0,0 +1,29 @@
// i don't remember what i based this off of or if it was just fiddling,
// found it in my shader list and thought the clouds were pretty good,
// for what it is
uniform float time;
uniform vec2 resolution;
float noise(vec3 p) {
float v = 0.0, a;
for (a = .85; a > .15; a *=.75) {
v += a * abs(dot( sin( .1*time + .1*p.z + .1*p/a) , vec3(a*3.)) );
p += p;
}
return v;
}
void mainImage(out vec4 o, vec2 u) {
float i = 0.0, s = 0.0;
o = vec4(0.0);
vec3 p = vec3(0.0);
vec2 r = resolution;
u = ( u+u - r.xy ) / r.y;
for( ; i++ < 1e2; ) {
p += vec3(u * s, s);
s = .1 + .2* abs( 12.-abs(p.y) - noise(p) );
o += 1./s;
}
o = tanh(vec4(5,2,1,0)*o /3e3/ length(u));
}
+10 -7
View File
@@ -168,14 +168,11 @@ pub fn run(
let is_all = target_output == "all" || target_output == "*";
if is_all {
let wl_outputs: Vec<_> = state.output_state.outputs().collect();
if wl_outputs.is_empty() {
// No outputs reported yet; let the compositor assign.
// OutputHandler::new_output already attached one layer per existing
// output during the roundtrip above. Only fall back to a compositor-
// assigned surface if none arrived.
if state.outputs.is_empty() {
state.attach_output(&qh, None);
} else {
for wl_out in &wl_outputs {
state.attach_output(&qh, Some(wl_out));
}
}
} else {
let wl_out = find_output(&state.output_state, &target_output);
@@ -343,6 +340,12 @@ impl OutputHandler for AppState {
output: wl_output::WlOutput,
) {
if self.target_output == "all" || self.target_output == "*" {
let name = self
.output_state
.info(&output)
.and_then(|i| i.name)
.unwrap_or_else(|| "<unnamed>".into());
log::info!("attaching output: {}", name);
self.attach_output(qh, Some(&output));
}
}