<ammen99>
ifreund, asking since I am teying to figure out whether to release wayfire for wlroots 0.12 or to wait for 0.13 if you'll be ready soon
<ammen99>
(and btw thanks for the answer ;))
waleee-cl has quit [Quit: Connection closed for inactivity]
_whitelogger has joined #river
travankor has joined #river
<edrex>
ifreund: thanks. I haven't done a ton of C programming so I didn't remember the last two _PATHs needed exactly..
<edrex>
i'
<edrex>
m making a concerted effort to get comfortable with working with lower-level tools lately. Just tired of tiny programs having massive binaries, slow startup times, super long dep lists etc.
<edrex>
I'm feeling very curious about Zig. I'm thinking of trying it out for a console menu tree tool I am about to start work on.
<edrex>
Basically a tool for creating a tree of nested binding modes, sort of a keyboard driven start menu thingie.
<edrex>
(console will be first backend, then maybe cairo)
<edrex>
hey also, I started using Kakoune as my daily editor a week or so ago. I think it's going to stick!
<edrex>
I tried it before but i think you mentioned it in channel and I ended up picking it back up
<ifreund>
ammen99: oh is wlroots 0.13 blocked only on me? I thought emersion had some regressions to track down first or something
<ifreund>
I'm very busy with real life this week but could probably finish up what's left to do next week
<ifreund>
edrex: very cool, Zig is a great language IMO though there will still be occasional breaking changes before 1.0 of course
<ifreund>
comptime is a great solution to most of the problems I have with C, and more pointer types + optional types solve the rest
<ifreund>
for your start menu thing, you could also just start the console version in a temporary, floating terminal instead of doing real graphics, I used fzf as my launcher like that for a while
<ifreund>
and cool to hear that I've inspired more Kakoune usage!
<ifreund>
what editor are you coming from?
<ammen99>
ifreund: yeah I think we might want to wait until all regressions are fixed on nouveau+intel
<edrex>
yeah, that's what I'm thinking to do. using foot now, and it comes up heckin' fast :)
<ammen99>
I think I'll just stick to 0.12 this time and release 0.7.1 once 0.13 is out :)
<ifreund>
cool :)
<ifreund>
edrex: foot is super fast in client/server mode yeah :)
<edrex>
i watched the Zig 1.0 talk and comptime seems really nice. Didn't learn about the Zig pointer types yet tho.
<edrex>
oh, i'm not even running it that way (assuming it doesn't automatically daemonize or something)
<ifreund>
basically instead of having one type for all pointers like in C, Zig has different types for pointer-to-one, pointer-to-many, sentinel-terminated-pointer, and slices (pointer + lenght)
<ifreund>
yeah even without client-server mode foot has super fast startup
<edrex>
yeah, i have a bunch of fzf (as well as dmenu/wofi) scripts that I want to unify under one toplevel menu.
<edrex>
oh right, he did cover that in the talk. super cool. Slices are familiar from Go
<edrex>
i'm also curious how the async story is, since I do a lot of things with concurrent IO in (theoretical, currently non-existent) $DAYJOB
<edrex>
I have a highly plugged up vim. I was using spacemacs for a couple of years. I really like the way the leader key / user key menus work in spacemacs, and that is the UI inspiration for the menu thingie.
<ifreund>
the language level async support in zig is very low-level and manual (and still pretty experimental currently). Basically it just allows you to suspend and resume functions, storing the function's stack frame wherever you like
<ifreund>
any event loop/executor is implemented in user-land of the language, there's one in the std and several others developed by the community
<ifreund>
edrex: to answer your question though, zig can autogenerate bindings for you with `zig translate-c` on the header or `@cImport()`/`@cInclude()`
<ifreund>
I only made manual bindings for libwayland/wlroots because there could be a signficant step up in type safety over the autogenerated versions
<ifreund>
until a couple months ago river just used @cImport() for everything
<edrex>
oh ok, thanks for explaining it to me. I was seeing wlroots-zig made me wonder.
cmoi11 has quit [Remote host closed the connection]
MrSnookums has joined #river
<MrSnookums>
Hello Im getting the following error when building river "./river/main.zig:71:50: error: no member named 'outStream' in struct 'std.fs.file.File"
<ifreund>
MrSnookums: what zig version?
<ifreund>
(river requires 0.7.1)
<MrSnookums>
0.8.0-dev.1026+d5b0a963d
<ifreund>
that probably won't work
<MrSnookums>
thank you, I will try to downgrade it
travankor has quit [Remote host closed the connection]
MrSnookums has quit [Quit: Connection closed]
travankor has joined #river
waleee-cl has joined #river
travankor has quit [Remote host closed the connection]
danyspin97 has quit [Ping timeout: 272 seconds]
danyspin97 has joined #river
dch has quit [Read error: Connection reset by peer]
dch has joined #river
travankor has joined #river
travankor has quit [Remote host closed the connection]