Skip to content

Zig 0.16#59955

Draft
tranzystorekk wants to merge 7 commits into
void-linux:masterfrom
tranzystorekk:zig16
Draft

Zig 0.16#59955
tranzystorekk wants to merge 7 commits into
void-linux:masterfrom
tranzystorekk:zig16

Conversation

@tranzystorekk
Copy link
Copy Markdown
Contributor

Testing the changes

  • I tested the changes in this PR: YES|briefly|NO

@jonpikum
Copy link
Copy Markdown

jonpikum commented Apr 25, 2026

Please correct anything I might not have understood about this topic, but per the discussion in #60034...
It looks like river 0.4 is a pretty major break, removing both riverctl and rivertile (the actual WM part).
I think this means that any user of river will go from having a working DE with 0.3 to.. well.. not, with 0.4.
No key-binds, no way to open a new terminal window, maybe worse? IDK.

The blog post discussing the changes to river links to another page with a list of WMs that work with the new protocol.
It looks like river provides an example tinyrwm and states that the C example is canonical - however, there are no tagged releases.
Maybe this PR should could include at least one of these so that users have an option to get started with, rather than needing to compile one of these themselves? (potentially from a non-working environment)

Edit: links, verbiage, clarify tinyrwm state

@tranzystorekk
Copy link
Copy Markdown
Contributor Author

The nature of a rolling distro means this will be a breaking change with an INSTALL.msg announcement displayed during update, but you raise some valid points:

  • we should wait for river-classic to release a zig 0.16 update to be able to provide it as a package
  • packaging at least one modern river wm seems like a prudent idea

@classabbyamp
Copy link
Copy Markdown
Member

re: river:

I've packaged and tested river with rrwm, but I don't think I'll be using it at this time. My recommendation is:

  • river WMs should depend on river>=4.4.0
  • river WMs should provides="river-wm-0_1"
  • an install message should mention installing a WM, with a link to the river wiki's list of WMs, and maybe saying you can find packaged WMs with xbps-query -Rp provides -s river-wm

@al20ov
Copy link
Copy Markdown
Contributor

al20ov commented May 2, 2026

Ghostty doesn't build either (neither the old 1.1.3 nor 1.3.1) but they're working on updating everything to zig 0.16 right now: ghostty-org/ghostty#12388

@Nizarjh

This comment was marked as off-topic.

@dkwo
Copy link
Copy Markdown
Contributor

dkwo commented May 9, 2026

On native aarch64, I worked around the waylock build failure by adding -Dllvm=true to configure_args: maybe it also helpful here with the same (cross) failure.

@classabbyamp
Copy link
Copy Markdown
Member

it has one

@Anachron
Copy link
Copy Markdown
Contributor

Yep, it was me doing stupid things. Sorry.

This was referenced May 18, 2026
@hosaka
Copy link
Copy Markdown
Contributor

hosaka commented May 26, 2026

@tranzystorekk river-classic has since received support for 0.16 - https://codeberg.org/river/river-classic/releases
edit: should have checked the diff, sorry

@kurth4cker
Copy link
Copy Markdown
Contributor

kurth4cker commented May 29, 2026

hello, what is blocking this update currently? I see every zig package have to be updated in order to keep repo stable. Is there any package or problem left?

Can I help for transitioning to zig 0.16. And how can I test if everything ok in the whole repo with new zig version?

@tranzystorekk
Copy link
Copy Markdown
Contributor Author

currently, there are at least two open matters:

  • there's a zig 0.17 release prognosed in the near future and i'm weighing up whether to wait and see if it's reasonably backwards compatible
  • we're missing a sensible default for a river 0.4 wm so that river doesn't become a useless package on entry (tbh the river ecosystem feels too immature to commit to maintaining any of the options)

@kurth4cker
Copy link
Copy Markdown
Contributor

ok. I see now. Waiting for 0.17 makes sense.

About river, I think finding a default is just become a matter of taste. I have been using beansprout for a couple of months. It covers most of the river-classic features.

  • hide mouse pointer when typing
  • mouse acceleration settings (I'm not sure)
  • riverctl functinality to change config at live

these are missing ones in my case. I didn't look differences in default config but I think It is a good option for users. But it also requires zig 0.16 like river itself. Not a problem though.

Is your plan really provide featurefull default or let user recover from "miss launching river". By spawning a terminal or closing river? I think if exist, something like kiosk might be enough as a default.

@tranzystorekk
Copy link
Copy Markdown
Contributor Author

i believe any sensibly working wm would serve as a foot in the door to inspire other people to package more river software, but i'd prefer something not written in zig to make it more independent from the already awful zig situation on void

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants