Re: Concerns Regarding the Choice of Rust for the Xfce Wayland Compositor

Mailing Lists <[email protected]> Wed, 17 Jun 2026 21:03:15 +0000
Newsgroups gmane.comp.desktop.xfce.devel.version4
Message-ID <bbi4cPrLJyR8G95qtM5r1nuipJf1THNXH4xpsce8bvsxG0TsUtkevvotgFyZPzbBWojPkGS7w3TqH6BBk2xZYMFbQBRnNeMBvUIR7j4AokI=@protonmail.com>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============1070898423866730713==
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0"; charset=utf-8

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0
Content-Type: multipart/mixed;boundary=---------------------6ad617274c278f7a295ea0f272d9415c

-----------------------6ad617274c278f7a295ea0f272d9415c
Content-Type: multipart/alternative;boundary=---------------------ef624f5fe90cdbe4001c862071b88265

-----------------------ef624f5fe90cdbe4001c862071b88265
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8

Theron,
I'm also interested in discussing that choice, though I want to note that =
I'm more or less indifferent to the choice of language.

Incremental compilation times=C2=A0in modern Rust are much lower than they=
 used to be, though first-time builds (i.e., those prior ti generating the=
 `target/` cache) are still somewhat higher than C.=C2=A0The main ways to =
reduce first-time build times include: reducing generics usage in function=
s and types, limiting macro usage,=C2=A0replacing=C2=A0procedural macros w=
ith code generation or declarative macros, and cutting dependency trees. A=
s you'll note, the vast majority of these are related to code=C2=A0generat=
ion and inclusion; that's slow in any language -- not just Rust. It's more=
 of a style/fundamentals problem, like in C++. See:=C2=A0https://nnetherco=
te.github.io/perf-book/compile-times.html

Your next concern is very significant, and I strongly advise maintainers t=
o abide by a strong security policy. Please vendor your dependencies, limi=
t library reliance, and vet everything carefully! Any Crates.io libraries =
should be locked via `Cargo.lock` s.t.=C2=A0reproducible builds would be r=
equired from the very start. Monitor RustSec advisories and patch any affe=
cted or=C2=A0vendored dependencies=C2=A0as soon as possible.=C2=A0You may =
also wish to use tools like `cargo-deny` to automatically scan dependencie=
s for RustSec advisories, licensing problems, etc.: https://rustsec.org/

I would also encourage Xfce maintainers to explore more "home-made"=C2=A0s=
olutions, though I don't necessarily believe it should be in C. From what =
I've seen,=C2=A0C-based compositors get to be a bit of a mess internally, =
and Rust can help there by enforcing=C2=A0its many=C2=A0static guarantees!=
 It's just a matter of writing and adopting strategies for=C2=A0risk manag=
ement, especially for ecosystem security.=C2=A0I=C2=A0also strongly advise=
 that y'all adopt=C2=A0human-focused security guidelines, meaning that LLM=
s shouldn't be trusted to generate secure source code. Please keep humans =
in the loop at all times=C2=A0-- `rustc` can detect many=C2=A0memory safet=
y mistakes, but LLMs bring many additional security problems and tend to b=
loat codebases.

I agree with your request for a security audit of Smithay and its dependen=
cies, hopefully resulting in either a full dependency lock=C2=A0or in-tree=
/vendored crates. Hope to see something on that soon! :)

Cheers,
Barrett Ray










-------- Original Message --------
On Wednesday, 06/17/26 at 10:17 Theron York <[email protected]> wr=
ote:

> I want to start by saying that I am genuinely excited to see Xfce workin=
g on a native Wayland compositor. This is an essential step for the future=
 of the desktop, and I appreciate the team's effort on this.
> =


> However, I have some serious concerns about the decision to write the ne=
w compositor in Rust. I understand the appeal of memory safety, but I thin=
k the practical costs are significant and conflict with Xfce's core princi=
ples.
> =


> The first concern is compilation time. Rust is well known for its slow c=
ompile times, even for incremental builds. This is a real productivity hit=
 compared to C, which compiles almost instantly. For a volunteer driven pr=
oject, long build times discourage new contributors and make debugging and=
 iteration much more tedious. This is especially problematic for users on =
older or low power hardware, which makes up a large part of the Xfce commu=
nity. The CI infrastructure would also need to be upgraded to handle the h=
eavier Rust build load.
> =


> The second concern is the supply chain risk from Cargo and crates.io. Us=
ing Rust means pulling in a large number of external dependencies, which i=
ntroduces a significant attack surface that does not exist in a pure C pro=
ject. A compromised crate could execute malicious code during the build pr=
ocess. There is also the risk of typosquatting or dependency confusion. Xf=
ce has always been trusted because its codebase is relatively small and au=
ditable. Adding a sprawling dependency tree makes it very difficult for th=
e team to vet everything that ends up in the final binary.
> =


> Beyond these technical issues, I think this choice goes against the trad=
itional Xfce philosophy of keeping things lightweight and independent. Ins=
tead of adopting a new language and ecosystem, I would urge the team to im=
plement the compositor in C using a custom in house approach, just as Xfce=
 has always done for its core components. This would give the team total c=
ontrol over the codebase, keep dependencies minimal, and ensure the compos=
itor remains lightweight, secure, and easy to audit. This approach is enti=
rely viable and would preserve the fast, secure, and lean nature that user=
s expect from Xfce.
> =


> I respect the decision to look at Rust for safety, likely via smithay, b=
ut I believe the trade offs are too large. I would kindly ask the team to =
publicly address these concerns and reconsider the language choice.
> =


> Thank you for your work on Xfce, and I look forward to hearing your thou=
ghts.
> =


> =


> =


> --
> =


> "I believe that a sane world is a world with only free software."
> =


> Theron York
> CloudNuke
> cloudnuke.org
> [email protected]
-----------------------ef624f5fe90cdbe4001c862071b88265
Content-Type: multipart/related;boundary=---------------------0daa4b8da8b17aefa760c71bed730205

-----------------------0daa4b8da8b17aefa760c71bed730205
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64

VGhlcm9uLDxkaXY+PGJyPjwvZGl2PjxkaXY+SSdtIGFsc28gaW50ZXJlc3RlZCBpbiBkaXNjdXNz
aW5nIHRoYXQgY2hvaWNlLCB0aG91Z2ggSSB3YW50IHRvIG5vdGUgdGhhdCBJJ20gbW9yZSBvciBs
ZXNzIGluZGlmZmVyZW50IHRvIHRoZSBjaG9pY2Ugb2YgbGFuZ3VhZ2UuPC9kaXY+PGRpdj48YnI+
PC9kaXY+PGRpdj5JbmNyZW1lbnRhbCBjb21waWxhdGlvbiB0aW1lcyZuYnNwO2luIG1vZGVybiBS
dXN0IGFyZSBtdWNoIGxvd2VyIHRoYW4gdGhleSB1c2VkIHRvIGJlLCB0aG91Z2ggZmlyc3QtdGlt
ZSBidWlsZHMgKGkuZS4sIHRob3NlIHByaW9yIHRpIGdlbmVyYXRpbmcgdGhlIGB0YXJnZXQvYCBj
YWNoZSkgYXJlIHN0aWxsIHNvbWV3aGF0IGhpZ2hlciB0aGFuIEMuJm5ic3A7VGhlIG1haW4gd2F5
cyB0byByZWR1Y2UgZmlyc3QtdGltZSBidWlsZCB0aW1lcyBpbmNsdWRlOiByZWR1Y2luZyBnZW5l
cmljcyB1c2FnZSBpbiBmdW5jdGlvbnMgYW5kIHR5cGVzLCBsaW1pdGluZyBtYWNybyB1c2FnZSwm
bmJzcDtyZXBsYWNpbmcmbmJzcDtwcm9jZWR1cmFsIG1hY3JvcyB3aXRoIGNvZGUgZ2VuZXJhdGlv
biBvciBkZWNsYXJhdGl2ZSBtYWNyb3MsIGFuZCBjdXR0aW5nIGRlcGVuZGVuY3kgdHJlZXMuIEFz
IHlvdSdsbCBub3RlLCB0aGUgdmFzdCBtYWpvcml0eSBvZiB0aGVzZSBhcmUgcmVsYXRlZCB0byBj
b2RlJm5ic3A7Z2VuZXJhdGlvbiBhbmQgaW5jbHVzaW9uOyB0aGF0J3Mgc2xvdyBpbiBhbnkgbGFu
Z3VhZ2UgLS0gbm90IGp1c3QgUnVzdC4gSXQncyBtb3JlIG9mIGEgc3R5bGUvZnVuZGFtZW50YWxz
IHByb2JsZW0sIGxpa2UgaW4gQysrLiBTZWU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly9ubmV0aGVy
Y290ZS5naXRodWIuaW8vcGVyZi1ib29rL2NvbXBpbGUtdGltZXMuaHRtbCIgc3R5bGU9IndvcmQt
YnJlYWs6IGJyZWFrLXdvcmQ7IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vZm9s
bG93IG5vb3BlbmVyIj5odHRwczovL25uZXRoZXJjb3RlLmdpdGh1Yi5pby9wZXJmLWJvb2svY29t
cGlsZS10aW1lcy5odG1sPC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+WW91ciBuZXh0IGNv
bmNlcm4gaXMgdmVyeSBzaWduaWZpY2FudCwgYW5kIEkgc3Ryb25nbHkgYWR2aXNlIG1haW50YWlu
ZXJzIHRvIGFiaWRlIGJ5IGEgc3Ryb25nIHNlY3VyaXR5IHBvbGljeS4gUGxlYXNlIHZlbmRvciB5
b3VyIGRlcGVuZGVuY2llcywgbGltaXQgbGlicmFyeSByZWxpYW5jZSwgYW5kIHZldCBldmVyeXRo
aW5nIGNhcmVmdWxseSEgQW55IENyYXRlcy5pbyBsaWJyYXJpZXMgc2hvdWxkIGJlIGxvY2tlZCB2
aWEgYENhcmdvLmxvY2tgIHMudC4mbmJzcDtyZXByb2R1Y2libGUgYnVpbGRzIHdvdWxkIGJlIHJl
cXVpcmVkIGZyb20gdGhlIHZlcnkgc3RhcnQuIE1vbml0b3IgUnVzdFNlYyBhZHZpc29yaWVzIGFu
ZCBwYXRjaCBhbnkgYWZmZWN0ZWQgb3ImbmJzcDt2ZW5kb3JlZCBkZXBlbmRlbmNpZXMmbmJzcDth
cyBzb29uIGFzIHBvc3NpYmxlLiZuYnNwO1lvdSBtYXkgYWxzbyB3aXNoIHRvIHVzZSB0b29scyBs
aWtlIGBjYXJnby1kZW55YCB0byBhdXRvbWF0aWNhbGx5IHNjYW4gZGVwZW5kZW5jaWVzIGZvciBS
dXN0U2VjIGFkdmlzb3JpZXMsIGxpY2Vuc2luZyBwcm9ibGVtcywgZXRjLjogPGEgaHJlZj0iaHR0
cHM6Ly9ydXN0c2VjLm9yZy8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xs
b3cgbm9vcGVuZXIiPmh0dHBzOi8vcnVzdHNlYy5vcmcvPC9hPjwvZGl2PjxkaXY+PGJyPjwvZGl2
PjxkaXY+SSB3b3VsZCBhbHNvIGVuY291cmFnZSBYZmNlIG1haW50YWluZXJzIHRvIGV4cGxvcmUg
bW9yZSAiaG9tZS1tYWRlIiZuYnNwO3NvbHV0aW9ucywgdGhvdWdoIEkgZG9uJ3QgbmVjZXNzYXJp
bHkgYmVsaWV2ZSBpdCBzaG91bGQgYmUgaW4gQy4gRnJvbSB3aGF0IEkndmUgc2VlbiwmbmJzcDtD
LWJhc2VkIGNvbXBvc2l0b3JzIGdldCB0byBiZSBhIGJpdCBvZiBhIG1lc3MgaW50ZXJuYWxseSwg
YW5kIFJ1c3QgY2FuIGhlbHAgdGhlcmUgYnkgZW5mb3JjaW5nJm5ic3A7aXRzIG1hbnkmbmJzcDtz
dGF0aWMgZ3VhcmFudGVlcyEgSXQncyBqdXN0IGEgbWF0dGVyIG9mIHdyaXRpbmcgYW5kIGFkb3B0
aW5nIHN0cmF0ZWdpZXMgZm9yJm5ic3A7cmlzayBtYW5hZ2VtZW50LCBlc3BlY2lhbGx5IGZvciBl
Y29zeXN0ZW0gc2VjdXJpdHkuJm5ic3A7SSZuYnNwO2Fsc28gc3Ryb25nbHkgYWR2aXNlIHRoYXQg
eSdhbGwgYWRvcHQmbmJzcDtodW1hbi1mb2N1c2VkIHNlY3VyaXR5IGd1aWRlbGluZXMsIG1lYW5p
bmcgdGhhdCBMTE1zIHNob3VsZG4ndCBiZSB0cnVzdGVkIHRvIGdlbmVyYXRlIHNlY3VyZSBzb3Vy
Y2UgY29kZS4gUGxlYXNlIGtlZXAgaHVtYW5zIGluIHRoZSBsb29wIGF0IGFsbCB0aW1lcyZuYnNw
Oy0tIGBydXN0Y2AgY2FuIGRldGVjdCBtYW55Jm5ic3A7bWVtb3J5IHNhZmV0eSBtaXN0YWtlcywg
YnV0IExMTXMgYnJpbmcgbWFueSBhZGRpdGlvbmFsIHNlY3VyaXR5IHByb2JsZW1zIGFuZCB0ZW5k
IHRvIGJsb2F0IGNvZGViYXNlcy48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgYWdyZWUgd2l0
aCB5b3VyIHJlcXVlc3QgZm9yIGEgc2VjdXJpdHkgYXVkaXQgb2YgU21pdGhheSBhbmQgaXRzIGRl
cGVuZGVuY2llcywgaG9wZWZ1bGx5IHJlc3VsdGluZyBpbiBlaXRoZXIgYSBmdWxsIGRlcGVuZGVu
Y3kgbG9jayZuYnNwO29yIGluLXRyZWUvdmVuZG9yZWQgY3JhdGVzLiBIb3BlIHRvIHNlZSBzb21l
dGhpbmcgb24gdGhhdCBzb29uISA6KTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Q2hlZXJzLDwv
ZGl2PjxkaXY+QmFycmV0dCBSYXk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48YnI+PGJy
PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPjwvZGl2Pjxicj48
YnI+PC9kaXY+PGJyPjxkaXYgY2xhc3M9InByb3Rvbm1haWxfcXVvdGUiPjxicj48YnI+LS0tLS0t
LS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tLTxicj5PbiBXZWRuZXNkYXksIDA2LzE3LzI2IGF0
IDEwOjE3IFRoZXJvbiBZb3JrICZsdDs8YSBocmVmPSJtYWlsdG86dGhlcm9uLnlvcmtAY2xvdWRu
dWtlLm9yZyIgcmVsPSJub3JlZmVycmVyIG5vZm9sbG93IG5vb3BlbmVyIj50aGVyb24ueW9ya0Bj
bG91ZG51a2Uub3JnPC9hPiZndDsgd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJwcm90b25t
YWlsX3F1b3RlIj4KICAgIDxwIGRpcj0iYXV0byI+SSB3YW50IHRvIHN0YXJ0IGJ5IHNheWluZyB0
aGF0IEkgYW0gZ2VudWluZWx5IGV4Y2l0ZWQKICAgICAgdG8gc2VlIFhmY2Ugd29ya2luZyBvbiBh
IG5hdGl2ZSBXYXlsYW5kIGNvbXBvc2l0b3IuIFRoaXMgaXMgYW4KICAgICAgZXNzZW50aWFsIHN0
ZXAgZm9yIHRoZSBmdXR1cmUgb2YgdGhlIGRlc2t0b3AsIGFuZCBJIGFwcHJlY2lhdGUgdGhlCiAg
ICAgIHRlYW0ncyBlZmZvcnQgb24gdGhpcy48L3A+CiAgICA8cCBkaXI9ImF1dG8iPkhvd2V2ZXIs
IEkgaGF2ZSBzb21lIHNlcmlvdXMgY29uY2VybnMgYWJvdXQgdGhlCiAgICAgIGRlY2lzaW9uIHRv
IHdyaXRlIHRoZSBuZXcgY29tcG9zaXRvciBpbiBSdXN0LiBJIHVuZGVyc3RhbmQgdGhlCiAgICAg
IGFwcGVhbCBvZiBtZW1vcnkgc2FmZXR5LCBidXQgSSB0aGluayB0aGUgcHJhY3RpY2FsIGNvc3Rz
IGFyZQogICAgICBzaWduaWZpY2FudCBhbmQgY29uZmxpY3Qgd2l0aCBYZmNlJ3MgY29yZSBwcmlu
Y2lwbGVzLjwvcD4KICAgIDxwIGRpcj0iYXV0byI+VGhlIGZpcnN0IGNvbmNlcm4gaXMgY29tcGls
YXRpb24gdGltZS4gUnVzdCBpcyB3ZWxsCiAgICAgIGtub3duIGZvciBpdHMgc2xvdyBjb21waWxl
IHRpbWVzLCBldmVuIGZvciBpbmNyZW1lbnRhbCBidWlsZHMuCiAgICAgIFRoaXMgaXMgYSByZWFs
IHByb2R1Y3Rpdml0eSBoaXQgY29tcGFyZWQgdG8gQywgd2hpY2ggY29tcGlsZXMKICAgICAgYWxt
b3N0IGluc3RhbnRseS4gRm9yIGEgdm9sdW50ZWVyIGRyaXZlbiBwcm9qZWN0LCBsb25nIGJ1aWxk
IHRpbWVzCiAgICAgIGRpc2NvdXJhZ2UgbmV3IGNvbnRyaWJ1dG9ycyBhbmQgbWFrZSBkZWJ1Z2dp
bmcgYW5kIGl0ZXJhdGlvbiBtdWNoCiAgICAgIG1vcmUgdGVkaW91cy4gVGhpcyBpcyBlc3BlY2lh
bGx5IHByb2JsZW1hdGljIGZvciB1c2VycyBvbiBvbGRlciBvcgogICAgICBsb3cgcG93ZXIgaGFy
ZHdhcmUsIHdoaWNoIG1ha2VzIHVwIGEgbGFyZ2UgcGFydCBvZiB0aGUgWGZjZQogICAgICBjb21t
dW5pdHkuIFRoZSBDSSBpbmZyYXN0cnVjdHVyZSB3b3VsZCBhbHNvIG5lZWQgdG8gYmUgdXBncmFk
ZWQgdG8KICAgICAgaGFuZGxlIHRoZSBoZWF2aWVyIFJ1c3QgYnVpbGQgbG9hZC48L3A+CiAgICA8
cCBkaXI9ImF1dG8iPlRoZSBzZWNvbmQgY29uY2VybiBpcyB0aGUgc3VwcGx5IGNoYWluIHJpc2sg
ZnJvbSBDYXJnbwogICAgICBhbmQgY3JhdGVzLmlvLiBVc2luZyBSdXN0IG1lYW5zIHB1bGxpbmcg
aW4gYSBsYXJnZSBudW1iZXIgb2YKICAgICAgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzLCB3aGljaCBp
bnRyb2R1Y2VzIGEgc2lnbmlmaWNhbnQgYXR0YWNrCiAgICAgIHN1cmZhY2UgdGhhdCBkb2VzIG5v
dCBleGlzdCBpbiBhIHB1cmUgQyBwcm9qZWN0LiBBIGNvbXByb21pc2VkCiAgICAgIGNyYXRlIGNv
dWxkIGV4ZWN1dGUgbWFsaWNpb3VzIGNvZGUgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBUaGVy
ZQogICAgICBpcyBhbHNvIHRoZSByaXNrIG9mIHR5cG9zcXVhdHRpbmcgb3IgZGVwZW5kZW5jeSBj
b25mdXNpb24uIFhmY2UKICAgICAgaGFzIGFsd2F5cyBiZWVuIHRydXN0ZWQgYmVjYXVzZSBpdHMg
Y29kZWJhc2UgaXMgcmVsYXRpdmVseSBzbWFsbAogICAgICBhbmQgYXVkaXRhYmxlLiBBZGRpbmcg
YSBzcHJhd2xpbmcgZGVwZW5kZW5jeSB0cmVlIG1ha2VzIGl0IHZlcnkKICAgICAgZGlmZmljdWx0
IGZvciB0aGUgdGVhbSB0byB2ZXQgZXZlcnl0aGluZyB0aGF0IGVuZHMgdXAgaW4gdGhlIGZpbmFs
CiAgICAgIGJpbmFyeS48L3A+CiAgICA8cCBkaXI9ImF1dG8iPkJleW9uZCB0aGVzZSB0ZWNobmlj
YWwgaXNzdWVzLCBJIHRoaW5rIHRoaXMgY2hvaWNlCiAgICAgIGdvZXMgYWdhaW5zdCB0aGUgdHJh
ZGl0aW9uYWwgWGZjZSBwaGlsb3NvcGh5IG9mIGtlZXBpbmcgdGhpbmdzCiAgICAgIGxpZ2h0d2Vp
Z2h0IGFuZCBpbmRlcGVuZGVudC4gSW5zdGVhZCBvZiBhZG9wdGluZyBhIG5ldyBsYW5ndWFnZQog
ICAgICBhbmQgZWNvc3lzdGVtLCBJIHdvdWxkIHVyZ2UgdGhlIHRlYW0gdG8gaW1wbGVtZW50IHRo
ZSBjb21wb3NpdG9yCiAgICAgIGluIEMgdXNpbmcgYSBjdXN0b20gaW4gaG91c2UgYXBwcm9hY2gs
IGp1c3QgYXMgWGZjZSBoYXMgYWx3YXlzCiAgICAgIGRvbmUgZm9yIGl0cyBjb3JlIGNvbXBvbmVu
dHMuIFRoaXMgd291bGQgZ2l2ZSB0aGUgdGVhbSB0b3RhbAogICAgICBjb250cm9sIG92ZXIgdGhl
IGNvZGViYXNlLCBrZWVwIGRlcGVuZGVuY2llcyBtaW5pbWFsLCBhbmQgZW5zdXJlCiAgICAgIHRo
ZSBjb21wb3NpdG9yIHJlbWFpbnMgbGlnaHR3ZWlnaHQsIHNlY3VyZSwgYW5kIGVhc3kgdG8gYXVk
aXQuCiAgICAgIFRoaXMgYXBwcm9hY2ggaXMgZW50aXJlbHkgdmlhYmxlIGFuZCB3b3VsZCBwcmVz
ZXJ2ZSB0aGUgZmFzdCwKICAgICAgc2VjdXJlLCBhbmQgbGVhbiBuYXR1cmUgdGhhdCB1c2VycyBl
eHBlY3QgZnJvbSBYZmNlLjwvcD4KICAgIDxwIGRpcj0iYXV0byI+SSByZXNwZWN0IHRoZSBkZWNp
c2lvbiB0byBsb29rIGF0IFJ1c3QgZm9yIHNhZmV0eSwKICAgICAgbGlrZWx5IHZpYSBzbWl0aGF5
LCBidXQgSSBiZWxpZXZlIHRoZSB0cmFkZSBvZmZzIGFyZSB0b28gbGFyZ2UuIEkKICAgICAgd291
bGQga2luZGx5IGFzayB0aGUgdGVhbSB0byBwdWJsaWNseSBhZGRyZXNzIHRoZXNlIGNvbmNlcm5z
IGFuZAogICAgICByZWNvbnNpZGVyIHRoZSBsYW5ndWFnZSBjaG9pY2UuPC9wPgogICAgPHAgZGly
PSJhdXRvIj5UaGFuayB5b3UgZm9yIHlvdXIgd29yayBvbiBYZmNlLCBhbmQgSSBsb29rIGZvcndh
cmQgdG8KICAgICAgaGVhcmluZyB5b3VyIHRob3VnaHRzLjwvcD4KICAgIDxwPjxicj4KICAgIDwv
cD4KICAgIDxkaXYgY2xhc3M9Im1vei1zaWduYXR1cmUiPi0tIDxicj4KICAgICAgPGhyPgogICAg
ICA8cD48ZW0+IkkgYmVsaWV2ZSB0aGF0IGEgc2FuZSB3b3JsZCBpcyBhIHdvcmxkIHdpdGggb25s
eSBmcmVlCiAgICAgICAgICBzb2Z0d2FyZS4iPC9lbT48L3A+CiAgICAgIDxwPgogICAgICAgIDxz
dHJvbmc+VGhlcm9uIFlvcms8L3N0cm9uZz48YnI+CiAgICAgICAgQ2xvdWROdWtlPGJyPgogICAg
ICAgIDxhIGhyZWY9Imh0dHBzOi8vY2xvdWRudWtlLm9yZyIgcmVsPSJub3JlZmVycmVyIG5vZm9s
bG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+Y2xvdWRudWtlLm9yZzwvYT48YnI+CiAgICAg
ICAgPGEgaHJlZj0ibWFpbHRvOnRoZXJvbi55b3JrQGNsb3VkbnVrZS5vcmciIGNsYXNzPSJtb3ot
dHh0LWxpbmstZnJlZXRleHQiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciI+dGhl
cm9uLnlvcmtAY2xvdWRudWtlLm9yZzwvYT4KICAgICAgPC9wPgogICAgPC9kaXY+CiAgCgo8L2Js
b2NrcXVvdGU+PC9kaXY+
-----------------------0daa4b8da8b17aefa760c71bed730205--

-----------------------ef624f5fe90cdbe4001c862071b88265--

-----------------------6ad617274c278f7a295ea0f272d9415c
Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0xA3BCBAE4.asc"; name="publickey - [email protected] - 0xA3BCBAE4.asc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="publickey - [email protected] - 0xA3BCBAE4.asc"; name="publickey - [email protected] - 0xA3BCBAE4.asc"

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWXI0NnZoWUpLd1lCQkFI
YVJ3OEJBUWRBV1BsbzJ6QlNmSGFUQzVFTVZlS0pORjNRMFlXbzFVeno2S2hCCjVtRlo5dXpOTDJ0
dlpXMWhhV3hBY0hKdmRHOXViV0ZwYkM1amIyMGdQR3R2WlcxaGFXeEFjSEp2ZEc5dWJXRnAKYkM1
amIyMCt3bzhFRUJZS0FDQUZBbUsrT3I0R0N3a0hDQU1DQkJVSUNnSUVGZ0lCQUFJWkFRSWJBd0ll
QVFBaApDUkEzbDQwMXhkY0w0aFloQktPOHV1UkFDTkNxQTJNR1JUZVhqVFhGMXd2aXNma0JBTUYy
UmZZdkNLYUNNNlZkCmtjV08weXdVVDZQWnhCU25adlJmb0lUWVhhLzFBUDlUbFlla3hmWktSV3lE
bk4vVWZ5bWY4aUtsb0t3V1BRS2QKRGUwRWtRZm9BODQ0QkdLK09yNFNDaXNHQVFRQmwxVUJCUUVC
QjBDMjN6KzFjWU1LcW5VN29KWWJGNE5mSVRFeQpQYlA0dWtoODVETjIwSVhFWlFNQkNBZkNlQVFZ
RmdnQUNRVUNZcjQ2dmdJYkRBQWhDUkEzbDQwMXhkY0w0aFloCkJLTzh1dVJBQ05DcUEyTUdSVGVY
alRYRjF3dmk5WkFBLzJUc0g4Y0NydFV4MHdWeGFLYkNQd1JDd3hTUHRRZWIKMTQzLzJ4Z2lNTGhK
QVFEREpKeHRyQ3Y0WEpONXBqQ3hKL29aUENRQ2VkVjc2TWRhRjVna2VBanNEdz09Cj1SaU9tCi0t
LS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0=
-----------------------6ad617274c278f7a295ea0f272d9415c--

--------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wrsEARYKAG0FgmozC4MJEDeXjTXF1wviRRQAAAAAABwAIHNhbHRAbm90YXRp
b25zLm9wZW5wZ3Bqcy5vcmcyAhwPCCMeUb4byHwPK2zu+6tZS6QkFTIwzt2g
/omt2BYhBKO8uuRACNCqA2MGRTeXjTXF1wviAAAvvQEAi0t78lNPgzAFLDto
sMA6OttwQevmWEVBhKzpY0VbdAIBAJkKhoklbRPtNysENnX0RUDCtP9KS5Uv
Fc+rrCAllZUK
=W5F4
-----END PGP SIGNATURE-----


--------a3511600dd0c72af2350a7759195eeb35bebe7cb299df538f4324e34f7f229c0--


--===============1070898423866730713==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xfce4-dev mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-dev

--===============1070898423866730713==--