ChanServ changed the topic of #river to: river - a dynamic tiling Wayland compositor || https://codeberg.org/river/river || channel logs: https://libera.irclog.whitequark.org/river/
smoon23_ has joined #river
smoon23 has quit [Ping timeout: 244 seconds]
smoon23_ is now known as smoon23
notzmv has joined #river
pixavi has joined #river
pixavi has quit [Ping timeout: 265 seconds]
_whitelogger has joined #river
sentry has joined #river
Snetry has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 265 seconds]
pixavi has joined #river
andyrtr has quit [Quit: ZNC 1.9.1 - https://znc.in]
andyrtr has joined #river
pixavi has quit [Ping timeout: 265 seconds]
pixavi has joined #river
pixavi has quit [Ping timeout: 265 seconds]
pixavi has joined #river
pixavi has quit [Ping timeout: 265 seconds]
pixavi has joined #river
angry_vincent has joined #river
pixavi has quit [Ping timeout: 265 seconds]
adamcstephens has quit [Remote host closed the connection]
adamcstephens has joined #river
notzmv has quit [Read error: Connection reset by peer]
pixavi has joined #river
aelius has quit [Ping timeout: 276 seconds]
pixavi has quit [Ping timeout: 276 seconds]
pixavi has joined #river
haliucinas has joined #river
notzmv has joined #river
gochujang has left #river [#river]
ccha has quit [Quit: WeeChat 4.6.2]
ccha has joined #river
gochujang has joined #river
<gochujang> As someone coming from sway, I was wondering how stable river is
<gochujang> I'm running void, is the package availability good enough?
<ifreund> gochujang: stable in terms of breaking changes or crashiness?
<gochujang> the latter mostly
<ifreund> river should be less than or equally as crashy as sway
<gochujang> Ok nice, should be fine then
<ifreund> using a language that makes it hard to mess up basic things like pointer nullability gives river a slight edge here
<ifreund> as for void package availability, you know better than I do
<gochujang> Nice. And I understand a refactor is in the works for outsourcing some more stuff to the layout generator?
<ifreund> probably closer to a rewrite than a refactor, all window management policy will move to an external process, which will be more accurately called a window manager than a layout generator
<ifreund> I'll keep river's 0.3.x branch going as river-classic for the forseeable future though to ease the transition
<smoon23> FWIW, I changed to river full time something like eight month ago and have yet to experience a "crash".
<gochujang> ifreund: I see. That sounds good! How's it going? Doable?
<gochujang> smoon23: nice. Yeah I'm also not planning to do anything crazy, so should be fine then
<ifreund> gochujang: most of the work on the compositor side is done, see https://codeberg.org/river/river/pulls/1100
<ifreund> (when codeberg is back from the manitence break)
<ifreund> I'm currently building infrastructure for writing my personal window manager in janet
<ifreund> leon-p: has one going in scheme/zig as well
<ifreund> there's a long tail of minor missing features and whatnot to resolve before this work becomes ready for end-users though
<gochujang> and will rivertile be ported to the new api as well?
<ifreund> We will see if river's current window management get reimplemented as a window manager, I currently don't have a lot of motivation to work on that myself, but you never know
<ifreund> the point of maintaining river-classic is to give people who like the status quo the option to stick with it
<gochujang> ah, I didn't know there was a river-classic
<ifreund> there isn't yet, but there will be :D
<ifreund> though it will be pretty much feature frozen aside from wlroots and zig build requirements updates
<ifreund> unless someone forks it and takes over maintenece of course
<FireFly> I'm really liking the idea of river as a way to provide your own window manager without having to worry about all the other compositor bits
<ifreund> that's the idea, also being able to write the WM in a high level, garbage collected language without worrying about destroying latency is nice
<gochujang> how involved would writing a window manager be in this case? Are there any existing repos to look at?
<FireFly> ifreund: right, yeah
<ifreund> though I don't know how complete it is currently
<ifreund> in general though it's a bit early to say exactly what level of abstraction makes sense for WM implementations
<gochujang> ok, so definitely not trivial, by my standards at least
<gochujang> yeah I see
<gochujang> completely understand though, first and foremost you need to enjoy what you're maintaining in open source
<gochujang> and it sounds interesting
<ifreund> I expect to see WMs similar to AwesomeWM where you can choose to use the defaults provided by the WM but also extend/tweak pretty much everythg
<gochujang> yeah that sounds cool
<gochujang> and river-classic would then be a wm that interfaces with the new river api right?
<FireFly> I think the suggestion was that river-classic would just be the continuation of the 3.x branch with the old structure(?)
<FireFly> but I guess someone could port/write a rivertile-y kinda WM using the new protocol
<gochujang> ah ok I see
<gochujang> Cool! Thanks for the info, sounds very interesting!
pixavi has quit [Ping timeout: 276 seconds]
<ifreund> yep, FireFly is correct
<ifreund> maintaining the 0.3.x branch with just bugfixes and dependency updates is pretty low-effort
<gochujang> ah yeah
pixavi has joined #river
pixavi has quit [Ping timeout: 248 seconds]
pixavi has joined #river
Ireozar has quit [Read error: Connection reset by peer]
pixavi has quit [Ping timeout: 248 seconds]
Ireozar has joined #river
talisman` has joined #river
pixavi has joined #river
talismanick has quit [Ping timeout: 272 seconds]
pixavi has quit [Remote host closed the connection]
pixavi has joined #river
pixavi has quit [Client Quit]
pixavi has joined #river
pixavi has quit [Ping timeout: 252 seconds]
<leon-p> gochujang: writing a WM is a lot more trivial than my code makes is seem, because I chose to myke it hard on myself by trying to make it module and very configurable. Also because Lisp code has a tendency to seem more complex than it really is to those who aren't used to it.
<leon-p> If you stick to plain C or zig, you can have a usable WM in about 1k lines of code
pixavi has joined #river
pixavi has quit [Ping timeout: 252 seconds]
<leon-p> ifreund: you've planted the seed of doing the Wayland bits in the scripting languages in my brain now. If I come up with a good dispatcher design and dig up an XML parser from somewhere, I think I can have live wayland support in scheme as well
<leon-p> not sure I'll go through with it, but a XML->AST parser and a macro to turn the AST into hooks and a dispatch-table would be my idea
<leon-p> you can even generate the AST for known protocols at comptime
pixavi has joined #river
<ifreund> leon-p: I'm pretty sure doing as much as possible of the glue code in janet will pay off, only tight loops like filling buffers for software rendering need to be in C/Zig
<ifreund> you could also just use janet when my thing is ready :P
pixavi has quit [Ping timeout: 252 seconds]
<ifreund> by the way, this is all my scanner macro will need to output per interface: https://codeberg.org/ifreund/janet-wayland/src/commit/d0613f8604729b90915dd084b957a632b172ebca/src/wayland.janet#L5
<ifreund> I did these 3 by hand so I could test the design of the C bits before writing the macro
<ifreund> dynamically typed languages should only need one dispatcher, regardless of interface
<ifreund> anyhow, you could also just use janet after I finish janet-wayland :P
twelve has joined #river
pixavi has joined #river
twelve has quit [Ping timeout: 265 seconds]
<ifreund> janet also allows doing the xml scanning part during "compile time" by the way, which is indeed my plan
<ifreund> (though "compile time" may be a misleading way of describing what janet does, it's not like zig comptime)
aelius has joined #river
twelve has joined #river
<aimixsaka> Hello, i'm using river 0.3.7 on archlinux, and i have a tablet (wacom ctl672), and when using krita with wayland support(-git version), my cursor(tablet pen) disappeared when entering krita area. While in other applications(firefox, ghostty...), the cursor(tablet pen) rendered as is. And i tried running krita on sway 1.10.1, cursor is rendered as is. Is this a bug or do i need some extra configuration ?
<ifreund> aimixsaka: does krita actually support the tablet-v2 protocol? River doesn't do any pointer emulation for tablet tools yet so the application needs native tablet support
<ifreund> (all gtk and qt apps should have this though)
twelve has quit [Remote host closed the connection]
<aimixsaka> @ifreund It's a qt app. Haven't check if it supports tablet-v2 protocol. Maybe that's the point? As it was just able to run under native wayland last month by this mr: https://invent.kde.org/graphics/krita/-/merge_requests/2363, which said "not officially supported yet".
<leon-p> aimixsaka: ifreund: I doodled around in krita on river last year for a while. the cursor will disappear, but you should still be able to draw
<aimixsaka> yeah, that's true. Though not that frequent, but it feels a bit weird to move between mouse and pen :D
<ifreund> oh, is qt just bad at setting tablet tool cursors?
<ifreund> (or maybe krita)
siaal_ has joined #river
siaal has quit [Ping timeout: 252 seconds]
siaal_ is now known as siaal
elagost has quit [Quit: WeeChat 4.4.4]
elagost has joined #river
twelve has joined #river
pixavi has quit [Ping timeout: 252 seconds]
pixavi has joined #river
vitis has joined #river
jubilee has joined #river
vitis has quit [Quit: WeeChat 4.6.2]
jubilee has quit [Client Quit]
pixavi has quit [Ping timeout: 268 seconds]
haliucinas has quit [Quit: .]
haliucinas has joined #river
haliucinas has quit [Quit: .]
twelve has quit [Remote host closed the connection]
haliucinas has joined #river
pixavi has joined #river
Den4ikRus has quit [Ping timeout: 276 seconds]
pixavi has quit [Ping timeout: 244 seconds]
angry_vincent has quit [Ping timeout: 252 seconds]
mekeor has joined #river
pixavi has joined #river
pixavi has quit [Ping timeout: 244 seconds]
Szadek72 has quit [Quit: off]
Szadek72 has joined #river
bwbuhse has quit [Remote host closed the connection]
bwbuhse has joined #river
pixavi has joined #river
pixavi has quit [Read error: Connection reset by peer]
pixavi has joined #river
pixavi has quit [Ping timeout: 252 seconds]
pixavi has joined #river
lordmzte5 has joined #river
lordmzte has quit [Read error: Connection reset by peer]
lordmzte5 is now known as lordmzte
pixavi has quit [Ping timeout: 244 seconds]
pixavi has joined #river
pixavi has quit [Read error: Connection reset by peer]
pixavi has joined #river
catman has quit [Ping timeout: 252 seconds]
pixavi1 has joined #river
pixavi has quit [Ping timeout: 252 seconds]
pixavi1 has quit [Ping timeout: 244 seconds]
<leon-p> I think last time I looked into it krita was still running via XWayland even
<leon-p> not sure what unholy incantations software on X needs to get tablet events
pixavi has joined #river
pixavi has quit [Ping timeout: 244 seconds]
mekeor has quit [Quit: towards emacs as interface to cybernetic council communism]