ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/riverwm/river || channel logs: https://libera.irclog.whitequark.org/river/
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #river
<talismanick> ifreund: I'm confused what's holding up LLVM (15, was it?) from being updated
<talismanick> I believe the last comment on the PR said they needed to test it, and then... nothing
<talismanick> nvm, 14
<talismanick> It's such a shame Void doesn't have more maintainers
* talismanick makes note of actually following up on reading through the contributing guidelines
mon_aaraj has quit [Ping timeout: 268 seconds]
<talismanick> ifreund: I can test the touchscreen PR soon - I just need to finish reconfiguring and backing up my system
mon_aaraj has joined #river
talismanick has quit [Ping timeout: 246 seconds]
cabal704 has joined #river
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
snakedye has quit [Read error: Connection reset by peer]
talismanick has joined #river
notzmv has quit [Ping timeout: 272 seconds]
snakedye has joined #river
waleee has quit [Ping timeout: 272 seconds]
notzmv has joined #river
<mizzunet> ifreund can river reload the init?
aryak has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
<nor[m]1> You could make a keybinding with something like "spawn init" and execute the init again.
<nor[m]1> Or just run it again when you are editing it in the terminal anyways.
aryak has joined #river
niksingh710 has joined #river
niksingh710 has quit [Client Quit]
niksingh710 has joined #river
<niksingh710> is there any possible way to use Super L to move focus to Right and Super H to move focus Left?
<niksingh710> i got the hang of stack layout but having movability of left and right would be a great option is there any way to acheive this?
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
Guest89 has joined #river
Guest89 has quit [Client Quit]
niksingh710 has quit [Quit: Client closed]
<novakane> niksingh710: not currently, because views are in a list so you just go to prev or next
<novakane> there was an open PR for this though iirc
niksingh710 has joined #river
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
niksingh710 has quit [Quit: Client closed]
notzmv has quit [Ping timeout: 248 seconds]
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #river
aryak has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
aryak has joined #river
mon_aaraj has quit [Ping timeout: 240 seconds]
snakedye has quit [Ping timeout: 268 seconds]
snakedye has joined #river
<tiosgz> niksingh710: yea, the room is bridged to matrix (#river:libera.chat). but please keep using only the IRC feature set, as matrix-specific features don't translate nicely.
<nor[m]1> tiosgz: niksingh710 is an IRC user though, or do I understand this wrong?
<tiosgz> they asked a few times if there's a matrix room
<tiosgz> i just hope that they read the logs :)
notzmv has joined #river
<nor[m]1> Oh right, was a while ago, didn't notice.
mon_aaraj has joined #river
adam[m] has joined #river
snakedye has quit [Ping timeout: 268 seconds]
snakedye has joined #river
adam[m] is now known as adamcstephens
adamcstephens has quit [Quit: Reconnecting]
adamcstephens has joined #river
adamcstephens has quit [Client Quit]
adamcstephens has joined #river
adamcstephens has left #river [#river]
adamcstephens has joined #river
tsraoien has joined #river
waleee has joined #river
waleee has quit [Ping timeout: 260 seconds]
tsraoien has quit [Ping timeout: 246 seconds]
tsraoien has joined #river
tsraoien has quit [Ping timeout: 268 seconds]
<nor[m]1> So far I only used river in floating mode. I now added in the tiling. I still can't get used to it. I generally love tiling (used sway a lot), but it's the automatic kind of tiling that confuses me. This is my first not-manual tiling window manager. Does someone have tips on "how to think about it" to not constantly wonder about windows jumping to the opposite half of the screen?
<ifreund> nor[m]1: For me the thing that made it click was to stop caring very much what order windows are in the stack and just keep the ones I'm actively using at/near the top
<ifreund> windows kinda naturally sort themselves by priority with heavy usage of the zoom command
<bw> i think my main issue with automatic window management with vanilla rivertile is... i don't have enough screen space
<bw> it always feels like my (non-main) windows are too small
<bw> but man, river takes a lot of mental load off me compared to sway
<bw> i just don't have to think about sizing and arranging windows anymore
<ifreund> if I have more than 2 windows visible I pretty much only interact with the main window, the others are still large enough for me to tell what they are though so if I want to interact with them I just navigate down the stack and 'zoom' them to the main
<bw> one feature request i have, though, for the distant future, is to let the tiling program place windows off-screen, or something along those lines
<bw> i don't know if i'm allowed to obscure windows, but i'd need that too
<bw> basically, i'd like to start stacking (rather than tiling) beyond 3 windows at a time
<ifreund> bw: have you tried stacktile?
<bw> not yet. there are a few i need to try when i get time
<nor[m]1> Actually when in floating mode, I love the output edges being the window boundary. Makes much more sense to me.
<bw> nor[m]1: it does make sense in floating mode, most of the time. though i wish it was an option to turn on/off
<bw> ifreund: do you know how far off in the future the "major changes" to how layouts are managed is going to be?
<bw> i remember y'all want to move more logic out of river
<ifreund> bw: currently I'm spending most of my time pushing wlroots forward because I want wlroots 0.16.0 to be released sooner rather than later and have lots of nice things included
<bw> makes sense
<ifreund> After that's out, I'll be focused on getting river refactored to use wlr_scene, wlroots 0.16.0 has already got significant improvements over 0.15.0 there
<bw> besides less/simpler code, what is the scene graph going to enable for river?
<ifreund> then I'll start experimenting with river architecture changes to push as much policy as possible to a window manager client
<ifreund> bw: It's just a far superior abstraction for implementing a wayland compositor, some things in river are currently WONTFIX because we don't have a scene graph
<ifreund> it also brings full damage tracking essentially for free
<bw> wow
<bw> so what's blocking 0.16?
<ifreund> though there are some things not listed there I'd like to get in, for example adaptive sync support in wlr-output-management
<bw> hmm yeah, there's hardly anything left
<ifreund> one thing blocking 0.16 is a wayland release for high resolution scroll wheel support, which I think has either already happend today or is about to happen
<bw> wayland release meaning the library?
<ifreund> library and core protocol
<ifreund> looks like the release isn't out yet though
<bw> hmm... does this mean my scroll wheel will be less jumpy, or is that unrelated?
<ifreund> that very well could be related
<ifreund> though it depends on what environment you're comparing it to where it's less jumpy
snakedye has quit [Read error: Connection reset by peer]
<bw> macOS :P
cabal704 has quit [Quit: WeeChat 3.5]
cabal704 has joined #river
snakedye has joined #river
<ifreund> yeah, probably related if you're using the same hardware scroll wheel. Details here: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/72
cabal704 has quit [Client Quit]
<bw> one detent moves farther than one press of up/down arrow
<bw> (much farther)
cabal704 has joined #river
<leon-p> oh, that's a different thing. That's scroll factor
<bw> i always assumed i was doing something wrong... yeah, could be
<bw> leon-p: what setting do i need to change for that?
<leon-p> no idea, it's handled client-side
<bw> to be fair, i probably need to buy a better mouse at some point
<bw> leon-p: ewwww, what
cabal704 has quit [Client Quit]
cabal704 has joined #river
<leon-p> it has to be, we /really/ don't want too much scroll handling in the server, if you recall what the synaptics driver did wrt to driver-level "smooth" / "kinetic" scrolling, you'll immediately see that client-side is the saner option
snakedye has quit [Ping timeout: 260 seconds]
snakedye has joined #river
<bw> sure, but still, some sort of centralized configuration might be nice
<bw> i guess that's always the issue linux has
<bw> no centralized anything
<leon-p> I mean, yeah. But that ship has sailed.
<leon-p> centralized colour configuration would be nice, for example, so that you could have a live theme switcher without any hacks
<leon-p> but we can't have nice things
<ifreund> leon-p: would a default 1.0 floating point scroll magnitude multiplier in the server really be that bad?
<ifreund> pretty sure sway has such a thing
<ifreund> I don't have a use for it because my hardware/drivers seem to provide sane values
cabal704 has quit [Client Quit]
<ifreund> maybe the only reason sway has it is to work around insane hardware/drivers
<bw> what mouse do you use?
cabal704 has joined #river
<ifreund> I have a logitech "MX Master" I stole from my brother
<bw> yeah, that's the one i need to get
<bw> with the toggle between smooth and bumpy
<ifreund> yeah, tis pretty nice
<bw> i've got the G500 (MMO) mouse, because it's what i had lying around
<leon-p> ifreund: it would be massively complex, considering how scrolling works (especially wrt virtual "clicks" and all devices in general the generate click events as well as offset events)
<bw> the one with 12 extra buttons on the side
<leon-p> I have a kensington "expert mouse" track ball. no more mouse pain in the wrist and hand
<bw> weirdly i've never had wrist/hand pain
<bw> not sure how i'm positioning my hand to make that the case
<leon-p> well, I easiely spend 12++ hours a day either using a mouse or pen or other tool, so it probably comes from that
<bw> i also need a mouse pad or something. my desk is too bumpy
<bw> leon-p: same
<ifreund> leon-p: hmm, I don't really know how scrolling works. I was imagining there's some value we send to clients that we could just multiply by a constant but I guess things aren't that simple
<bw> leon-p: i have really big hands, so when i hold small things, my hands hurt
<ifreund> I had some hand weirdness from typing a while back which went away after switching to a much more ergonomic keyboard. Haven't had problems with Mouse RSI yet but I also don't use the mouse a ton
Joy214 has joined #river
<ifreund> Keeping my fingers strong through bouldering and bass guitar likely helps as well :)
<leon-p> :D
Joy214 has quit [Client Quit]
<bw> oh yeah... my fingers are really strong, even though i stopped doing climbing years ago
<bw> "... life is the shape of your favourite stonefruit"
<ifreund> yeah, that tendon strength isn't gonna fade quickly
<bw> i... don't know what my favorite stonefruit is, nor its shape
snakedye has quit [Ping timeout: 260 seconds]
snakedye has joined #river
<nor[m]1> Tiling gives me a good use for number row keybindings now... With Shift setting ratio, without shift setting main count :D
tsraoien has joined #river
<bw> ok, i just ordered a new mouse. thanks for the push
<bw> nor[m]1: i wish keyboards had more modifiers...
<ifreund> qmk firmware is pretty neat
<bw> how do i avoid conflicts between: 1) window manager, 2) terminal, 3) shell, 4) editor
<bw> ifreund: yeah, i've got a custom QMK firmware
<nor[m]1> bw: Thats why I hacked an additional modifier to caps xD
<bw> i should do something like that. the main "interesting" change i have is that double-taping the function keys does VT switching
<ifreund> hmm, I guess QMK only really supports the classic 4 modifiers. Coulda sworn it would let you do more
<bw> my biggest problem is that my fingers are pretty dumb
<bw> ifreund: what are the other modifiers, how do you send them?
<bw> i was under the impression USB was a more limiting factor
<ifreund> bw: I don't know much about USB, but libxkbcommon supports at least 8 mods, maybe up to 32
<ifreund> wlroots and river support 8 somewhat standardize modifiers
<bw> i've got a hyper7 i haven't put keycaps on. if anything has room for 8+ modifiers, it's the hyper7
<nor[m]1> I know of Shift, Control, Super, Alt and AltGr. What other modifiers exist?
cabal704 has quit [Quit: WeeChat 3.5]
cabal704 has joined #river
<bw> dunno if these are "real" or just combinations of others, but there's also hyper and meta
<bw> but i think meta at least means the same thing as alt?
<bw> and i thought hyper was just a combination of multiple of the normal modifiers
<bw> maybe the distinction is left vs right?
cabal704 has quit [Client Quit]
<ifreund> not really sure what mod 2, 3, or 5 are
<ifreund> alt is also known as mod 1 and super/logo/meta is also known as mod 4
<ifreund> how to actually send these keypresses is defined in the xkbcommon layout being used
<bw> ifreund: does that mean the layout could decide to forbid those modifiers?
<ifreund> bw: I suspect these modifiers don't exist on many layouts for modern keyboard hardware
<ifreund> I'm by no means an expert at reading xkb layout definitions though so I can't say for sure
<bw> i mean the OS vs the keyboard itself
<bw> obviously, with QMK i can send whatever the OS will understand
<ifreund> xkbcommon recieves linux input event codes from the kernel which map directly to the key codes QMK outputs
<ifreund> it's then responsible for maintaing a state machine to translate those raw key codes into "keysyms" or actual characters typed
<ifreund> which includes stuff like translating shift+x as X
cabal704 has joined #river
cabal704 has quit [Client Quit]
cabal704 has joined #river
<nor[m]1> ifreund: I think mod5 is AltGr
<ifreund> I'd believe it
<tiosgz> i believe this is where so many mods come from https://en.wikipedia.org/wiki/Space-cadet_keyboard (or at least someone once told me so)
<tiosgz> also, iirc, numlock is mod2 or somehow related to it
<bw> i definitely need to revisit either my qmk config, or my (linux?) keyboard layout selection
<ifreund> I don't even know what I'd do with more than 4 modifiers tbh. There are what, 16 different combinations you can make with those?
<ifreund> I think I use less than half of that
<nor[m]1> ifreund: Well... First, combinations are not always possible. For example, my keyboard won't register Caps+Shift+X. Combinations with 3 Modifiers fail even more often.
<bw> but also, it's hard to press some combinations
<ifreund> bw: let me introduce you to home row mods: https://precondition.github.io/home-row-mods
<nor[m]1> Second, I NEED these xD. a-z are my 26 tags, combined with 4 Modifier Combinations for all tag commands.
<ifreund> nor[m]1: I don't use Caps as a modifier, but I haven't run into any issues with the basic 4 ctrl, alt, shift, logo/gui/meta/mod4/whatever
<bw> ifreund: i don't type in the way i'm supposed to, with my fingers on the home row
waste37 has joined #river
<ifreund> I think that's somewhat orthagonal to home row mods, it would still make it easier to press all the available combinations
<bw> my fingers are way too stoopid for home row mods..
waste3746 has joined #river
<bw> i can barely avoid double-typing n sometimes
waste3746 has quit [Client Quit]
<ifreund> fair enough :D
<leon-p> FWIW rivers example config uses at least five different modifier levels and most of those are combinations. Some are slightly awkward, but overall it works fine.
<nor[m]1> Home row mods is really interesting to me. I might enter that rabbit hole with some time at hand. I don't have a special keyboard though, so it would need to be done the software way...
<leon-p> and yes, numlock is also a modifier
<leon-p> at least technically, it won't really work like the typical ones with most xkb layouts
<bw> nor[m]1: the software way is no fun, if even possible
<bw> definitely get a special keyboard ;)
<nor[m]1> I use a laptop. I don't really want to carry arround an additional keyboard of almost the same size with it xD
mon_aaraj has quit [Ping timeout: 268 seconds]
<bw> bummer
<leon-p> you can re-flash the keyboard firmware on some older thinkpads
<nor[m]1> T450 in my case.
<nor[m]1> I might end up just going down the modal keybindings path though..
<nor[m]1> Hitting "menu, a, b, c" in sequence, creating a state machine with the river init.
mon_aaraj has joined #river
tsraoien has quit [Quit: WeeChat 3.5]
tsraoien has joined #river
<bw> ifreund: one thing on my bucket list is to write some keyboard firmware in zig
<bw> if you ever have that itch...
<ifreund> bw: I certainly wouldn't mind having my keyboard run on Zig, but the existing software works well enough that it's not a priority for me
<ifreund> got too many itchier itches to scratch xD
<bw> yep
<leon-p> bw: https://kevinlynagh.com/rust-zig/ <--- it's about keyboard firmware in zig
<bw> NOICE
mon_aaraj has quit [Ping timeout: 264 seconds]
tsraoien has quit [Quit: WeeChat 3.5]
tsraoien has joined #river
mon_aaraj has joined #river
<Shinyzenith[m]> ifreund:hi do you mind if I send a patch incorporating the gles2 renderer into the wlroots bindings ? Would help me a lot to develop my compositor.
tsraoien has quit [Client Quit]
tsraoien has joined #river
<ifreund> Shinyzenith[m]: you don't need my permission to open a PR on github, anyone is welcome to do so
<Shinyzenith[m]> Cool, thanks.
hochata has left #river [#river]
<waste37> hi, is there a way to get via terminal command some info about current focused/existing output/view/tags? If not what do you think about commands like list_outputs or list_focused_tags being added to riverctl?
<leon-p> waste37: there is a lot of information exposed via protocol extensions
<leon-p> for listing views: https://sr.ht/~leon_plickat/lswt/
Modest has joined #river
<Modest> hello, guys. So, how River works on strange layouts Dvorak us and Typewriter ru? Keymaps in config file working fine in another language?
<waste37> thank you i will give a look
<Modest> River have alternative vs Sway --to-code?
<Modest> i say about https://github.com/swaywm/sway/pull/3058 this crap...
<nor[m]1> Modest: You can start river with XKB environment variables set.
<Modest> I need compile new world in Gentoo, if River have
<Modest> keyboard layout independent keybindings - wayland, if none - Xorg
<ifreund> Modest: on the master branch map as a -layout option you may be interested in
<Modest> cool
<Modest> thanks
<Modest> maybe need create 0.4 ver? )))
<ifreund> Modest: after wlroots 0.16 is released I will tag river 0.2.0
mon_aaraj has quit [Ping timeout: 246 seconds]
<Modest> wow, nice. And thanks for hard work. Best WM for Wayland!..
<Shinyzenith[m]> ifreund: I've submitted a patch but I just want to preface it with the fact that I don't know much zig so please lmk if I messed up anything!
mon_aaraj has joined #river
tsraoien has quit [Quit: WeeChat 3.5]
tsraoien has joined #river
<Modest> ifreund: If i set keys for terminal win(logo)+'b' for example on Dvorak (in qwerty 'n') and if I change layout on rus ЙЦУКЕН, keys combination works? or on ЙЦУКЕН my keys shortcuts move to QWERTY? I forgot, maybe month ago I see pull request for fix this problem... Am I right?
<Modest> And who know about release date new wlroots?
<Modest> 😜👀
<ifreund> Modest: you can create layout-independent mappings using `map -layout N` on master branch, there's documentation in the man page. I'm pretty sure it makes the thing you want possible
<ifreund> wlroots 0.16.0 will be released when it's ready
<ifreund> probably like a month or so
<Modest> thanks again. This night for compile time and testing... Native Wayland environment!
Modest has quit [Quit: Client closed]
<nor[m]1> I am not sure if I understand the namespace part of the layout configuration correctly. Is this for switching between different layout generators?
<bw> nor[m]1: the namespace is something the layout generator chooses when it connects to the wayland socket (basically)
<bw> AFAIK, it’s usually the chosen to be the same as the program itself, but that’s not required
<bw> The program is saying “hey, I provide this layout”
snakedye has quit [Ping timeout: 246 seconds]
snakedye has joined #river
<bw> So if you run two different layout generators, you can select which one you want using that name.
abigrock has joined #river
<bw> Does that answer your question, nor[m]1?
<nor[m]1> I think so, yeah. Thanks bw
<ifreund> nor[m]1: yeah, switching between layout generators was the original intent though it seems that most people just run a single layout generator with multiple modes these days
<nor[m]1> Wait, I'm nor[m]1 on IRC now? Thats like more suffix than name xD
<abigrock> Does anyone know if there's a way to prevent certain windows from floating that aren't added to the float filter? This happens automatically with Spotify for example.
<bw> Yep, very matrix
<nor[m]1> ifreund: So I could have two rivertile instances with different properties and toggle?
<bw> abigrock: hmmm
<bw> nor[m]1: you’d have to patch one of them to send a different namespace name, I think
<bw> Unless it has a flag to override that?
<novakane> yeah you can't have multi instance of the same layout generator
<bw> You can, but only if it was written with that in mind
<novakane> abigrock: is that only with spotify, It did this to me, I think it's just because it's trash lol
<bw> I bet a patch would be accepted adding a flag for that
<bw> Spotify the app is definitely trash. The service is great, though.
<abigrock> novakane Yeah, so far just Spotify.
<ifreund> abigrock: our heuristics to determine that a window is a "popup" style window that should float don't seem to work for spotify yeah
<novakane> bw yeah but I don't think any layout generator do that, I don't really see why you need this though
<novakane> I mean I don't really see any use case for this
<ifreund> eventually we'll have a way to override that, for now I personally just deal with the minor annoyance and use my keybind to tile it
<bw> One with gaps and one without, maybe?
<ifreund> it's not something that I open/close very often...
<bw> I’d love some kind of callback when a window opens, to specify things like tiling/floating and tags
<novakane> bw it makes more sense to have runtime command in the layout generator than using two with different config imo
<abigrock> Yeah, reading the IRC chat history, looks like there's been a few questions about it. It seems a patch as mentioned by Anderson-D might fix it: http://ix.io/3IKb/diff
<bw> fair enough
<bw> When is electron going to support wayland…
<nor[m]1> novakane: Switching namespace and tag in the same keybinding, so the tag with 6 views keeps its main count of 3 and the tag with 3 views keeps its main count of 1 would be my usecase.
<bw> I’m just annoyed with all the log spam xwayland barfs in the river logs
abigrock has quit [Quit: Client closed]
<novakane> nor[m]1: so it's more a per tags layout generator that you want no?
<nor[m]1> Thinking...
<bw> Has anyone made really good lua bindings for zig yet?
<nor[m]1> Yeah multiple Layout states for the same tag is not really what I need.
<bw> Yeah, saw that
<bw> Not sure what I think yet
snakedye has quit [Ping timeout: 248 seconds]
<nor[m]1> But hey, I generally need to get used to general dynamic tiling anyways, I might get used to the "layout changes affect all tags" approach as well. My brain is currently still very sway-wired (layout varies between workspaces) after all.
<ifreund> If I wanted to interface between zig and lua I might instead use LuaJIT's ffi
snakedye has joined #river
tsraoien has quit [Ping timeout: 268 seconds]
waste37 has quit [Quit: Lost terminal]
waste37 has joined #river
waste37 has quit [Client Quit]
tsraoien has joined #river
<leon-p> nor[m]1: it's possible for a layout generator to implement different layouts per tag. It's /slightly/ hacky (see #383), but I did it in my own: https://git.sr.ht/~leon_plickat/stacktile
waste37 has joined #river
waleee has joined #river
snakedye has quit [Ping timeout: 255 seconds]
snakedye has joined #river
talismanick has quit [Ping timeout: 268 seconds]
<leon-p> since it came up earlier, the new wayland release is apparently out now
talismanick has joined #river
waste37 has quit [Ping timeout: 264 seconds]
mon_aaraj has quit [Remote host closed the connection]
mon_aaraj has joined #river
mon_aaraj has quit [Remote host closed the connection]
mon_aaraj has joined #river
talismanick has quit [Remote host closed the connection]
talismanick has joined #river
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
fifty-six has joined #river
<fifty-six> I might be missing something obvious in the docs but how do you set screen scaling/position? I can do it through wdisplays by hand but is there a way through riverctl or something?
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
<NickH> fifty-six: Can't do with riverctl but there are non-gui automatic ways with tools like kanshi. See https://github.com/riverwm/river/wiki/Recommended-Software
<fifty-six> ah okay, thanks!
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river