ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor - https://github.com/ifreund/river - channel logs: https://freenode.irclog.whitequark.org/river/
jjanzic has quit [Ping timeout: 265 seconds]
<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> this is a good intro if you're curious: https://ziglearn.org/chapter-5/
<edrex> cool, i will take a look when I do my menu thingie
cmoi11 has joined #river
leon-p has joined #river
<edrex> Does interacting with a C library from Zig generally require creating bindings? I'm looking at https://github.com/dankamongmen/notcurses/tree/master/src/lib
<edrex> sorry OT, i should go find a #zig room
<ifreund> edrex: it's just #zig
<edrex> :)
<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]