ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/ifreund/river || channel logs: https://libera.irclog.whitequark.org/river/
noopdecoder has quit [Quit: noopdecoder]
waleee has quit [Ping timeout: 252 seconds]
crypt_ has quit [Remote host closed the connection]
ext0l has joined #river
Guest5340 has joined #river
Guest5340 has quit [Client Quit]
ino has joined #river
ino has quit [Quit: Client closed]
ino has joined #river
ino8 has joined #river
snakedye has quit [Ping timeout: 245 seconds]
ext0l has quit [Quit: WeeChat 3.3]
ino has quit [Ping timeout: 256 seconds]
ext0l has joined #river
ino8 has quit [Quit: Client closed]
bfiedler has quit [Read error: Connection reset by peer]
bfiedler has joined #river
ino has joined #river
<ino> hi guys! :) how do I get the app-id of an app? (I need the app id to set it to float in configuration file). thank you!
<ino> especially, I m interested in the firefox notifications & sharing indicators, they take half of the screen after popping up :)
leon-p has joined #river
leon-p has quit [Client Quit]
<ino> oh, also I forgot another thing :) is there any way for river to specify the size of windows that will be launched as floating by default? thanks!
ino has quit [Quit: Client closed]
ino has joined #river
pkap has joined #river
pkap73 has joined #river
<pkap73> There's the lswt utility to list apps with app-id and more information: https://sr.ht/~leon_plickat/lswt/
<pkap73> It's also in the AUR, in case you use Arch Linux.
pkap has quit [Ping timeout: 256 seconds]
<pkap73> But for the firefox sharing indicator you need to use title: `riverctl float-filter-add title "Firefox — Sharing Indicator"`
pkap73 is now known as pkap
<ino> pkap thank you so much!!!!!!!!!!!!!!
novakane has joined #river
<ino> :))))))
<pkap> Welcome ino :)
<ino> haha. it was boinking me since the very first day. now thanks to you I will get a solution :)
<pkap> Well thanks to guys who made this feature, this was added to river just recently :)
<pkap> But i found it annoying too
<ino> yes. leon plickat is a pioneer =D and thanks to everyone else for whom i can use river for free of cost :))) river is amazing.
<pkap> Yeah it really is a great project. I use it exclusively now
<ino> libera.chat has added a new feature, now I can see who else is typing!
<pkap> Wayland has come a long way now and everything works. This wasn't the case maybe a year ago or so.
<pkap> And it's great that we hava river as a alternative to sway on wayland.
<ino> hmmm. before there was only weston and people kept looking at the weston-terminal and thought "this is the future" and felt heartbroke. lol
<ino> at first, I too was blown away by sway. but manual tiling was a show-stopper.
<pkap> Yes it is. Sway is also geared more to beginners as river, IMO. Just like i3 in the Xorg world.
<pkap> I used tiling window managers on Xorg for a long time, but to be honest, I was confused at first by the concept of river having a separate program for the layouts.
<ino> haha. what wm did you use before river and sway? I used xmonad. but haskell was very hard. then tried dwm....and...oh gosh. patches after patches..... then I tried awesome and stayed there, it was bit easier than the other two :)
<ino> river has got all the goodness of dwm, and the ease of configuration of i3.
<ino> and, the extensibility of xmonad.
<pkap> I used qtile for maybe two years. Before that i3 for some time. I tried dwm in between but I got tired of the patching pretty fast.
<ino> by the way, do you watch distrotube? :) i find his clips very funny at times. they almost always make me giggle.
<pkap> The first WM I tried was awesomeWM, but at the time I was confused and overwhelmed and went back to Ubuntu Unity, then when Ubuntu ended Unity I started using i3.
<pkap> I know this youtube channel and watched some Videos but I am not following.
<pkap> I don't really follow anybody on youtube, I just go there for specific information. I don't even have a google account :D
<ino> my journey started with linux mint. whenever I see someone usiing mint desktop gives me nostalgia. about the distrotube, if you feel off some times watch his "chat with patrons" series. its basically a show where he talks to his patrons and those people talk about linux like they wrote the kernel yesterday. lolz. and dt can't stop them becuase if
<ino> he stops their lies they will not be giving money anymore. haha
<ino> sorry for discussing offtopic here! ;(
guest23 has joined #river
ino has quit [Quit: Client closed]
guest23 has quit [Quit: Client closed]
snakedye has joined #river
ino has joined #river
ino has quit [Client Quit]
Guest8 has joined #river
Guest8 has quit [Client Quit]
Guest6220 has joined #river
leon-p has joined #river
<Guest6220> Hi there. Curios what distro you using for minimal Wayland environment with river?
<pipeweed[m]> arch
guest23 has joined #river
travankor has joined #river
yyp has joined #river
snakedye has quit [Ping timeout: 245 seconds]
dimaom has joined #river
snakedye has joined #river
ino has joined #river
<ino> pacman and aur is game changer for people like me :) so I tend to use arch with wms.
<Guest6220> Most used distros here: Arch and Voidlinux, as I understand so far
<Guest6220> any paranoid infosec fans here? Who uses hardened kernels and guides:D
<ino> you are right! isaac uses void. there is a man here who even goes down to alpine :)
ext0l has quit [Ping timeout: 245 seconds]
<Guest6220> nice, planned to test it at some point
<Guest6220> Alpine
<Guest6220> Looks attractive - musl, simplicity
<ino> yup! you might as well try kiss linux. it's more exotic. or stali linux, which ships statically linked binaries, if i understand correctly.
<Guest6220> trying to setup KVM virtualization with void and river guest on Kicksecure host, but struggling with graphics and dual screen support still
<Guest6220> Sadly I can't go with exotic distros on metal, cause need software which is not OSS on my job
<Guest6220> kiss is too exotic ;D
<leon-p> last I looked at it, kiss did not support init ram disks, meaning full disk encryption would not be possible. That is a pretty massive no-go in my book.
<Guest6220> and I'd like to get xmonad-like way of handling workspaces
<Guest6220> one set of tags for all screens
<ino> hmm that's a problem. also, you can try s6 with artix. their support is very good, they ship s6 service files with most packages. you will love s6. its so modular and fast.
<ino> leon-p your lswt is a masterpiece!
<ino> thanks from my heart :))))
<Guest6220> can we focus specific windows from river?
<Guest6220> that would be nice use for lswt
<ino> oh you mean, focus on multiple tags at same time?
<Guest6220> no, I mean ability to switch to any tag from current viewport
<bfiedler> not yet, but this is planned (TM)
<Guest6220> awesome!
<ino> hi do any of you use clion from jetbrains :)
dimaom has quit [Remote host closed the connection]
Guest6220 has quit [Quit: Client closed]
snakedye has quit [Ping timeout: 245 seconds]
leon-p has quit [Ping timeout: 245 seconds]
leon-p has joined #river
ino has quit [Quit: Client closed]
guest23 has quit [Quit: Connection closed for inactivity]
waleee has joined #river
snakedye has joined #river
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
guest23 has joined #river
pkap has quit [Quit: Client closed]
leon-p has quit [Remote host closed the connection]
leon-p has joined #river
<leon-p> just has my first river crash in ages :D
<leon-p> no idea what caused it, middle clicked a tab in firefox to kill it, then output froze, the disk-activity light and fan went crazy for a few seconds and then back to TTY
<leon-p> coredumptctl says river received SIGABRT, weird
<ifreund> did you manage to get a backtrace from the coredump?
<ifreund> SIGABRT likely means an assertion failure
<leon-p> no useable trace, I build river in release fast mode, so no debug symbols
<leon-p> I'll poke around with gdb for a bit, maybe I'll find something
<leon-p> wait, actually I think I /do/ have debug symbols, I was looking at the stacktrace not the backtrace earlier
<ifreund> nice
<ifreund> and you're running a recent commit I assume?
<ifreund> s/running/were runnning/
<leon-p> no quite, I am on e59c2a73d72853cb54f55eecc446f337c94cda24
<ifreund> well, I haven't touched subsurfaces or xdg toplevel destruction since then so it probably doesn't matter
<ifreund> I thought I got things right in 863f8156f7660c47fbc612a1c24836aa7e8fd9c4 but maybe not
<ifreund> leon-p: I fixed something that may have been responsible, but I can't reproduce so yeah...
<leon-p> I have no idea how to reprosuce either. I just closed a tab in firefox, which I do multiple times a day without crashing...
<ifreund> yeah, almost certainly a race condition
<ifreund> the commit I pushed certainly fixes a bug, and it could be the same bug that caused your crash
<leon-p> hmm... I wonder. The popup showing the full title of a tab when hovering over it might be a subsurface. Perhaps if you click at the exact right time it creates that condition.
<ifreund> pretty sure that's an xdg popup tbh
<leon-p> make sense
<leon-p> but I think firefox uses a subsurface to display the sites content over the GTK surface, maybe that one messed up
<ifreund> yeah, firefox uses plenty of subsurfaces
<ifreund> so with regards to https://github.com/ifreund/river/issues/443 I see two options
<ifreund> 1. just resize the fullscreen view properly and fix the bug
<ifreund> 2. stop allowing people to send fullscreen views between outputs (and maybe tags)
<bfiedler> I strongly prefer 1.
<ifreund> ending up with multiple fullscreen views on the same tag can be confusing
<ifreund> but I argree that it's a useful feature
<novakane> yeah I guess 2 would make some people annoyed
<leon-p> If we think of fullscreen as just another state of views, then I think it makes sense to allow moving fullscreened views. However, I think if a fullscreened view is moved to a tag that already has a fullscreen view, it should leave fullscreen.
<novakane> I agree, this make the more sense to me too
<ifreund> I think I'll just resize the fullscreen views for now and fix the bug
<ifreund> I found another bug with regards to focus if you end up with multiple fullscreen views on the same output, so I'll either fix that by forbidding that situation or otherwise
<ifreund> I wish I had made the output a view is on double buffered state from the beginning
<ifreund> that's too invasive of a change to make right now though
guest23 has quit [Quit: Connection closed for inactivity]
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
<msiedlaczekelshi> hey I was wondering: is there some way to use tmux (or similar program) for session management but still use river for window management? as in, somehow have two or more windows linked in a single session? my use case is that I have multiple projects going on most of the time, and so far I've been using tmux sessions to jump between them. but it's a bit annoying when it comes to window management, it doesn't work well if I want to
<msiedlaczekelshi> display more windows from other tags, etc... anyone has suggestions for good workflows for that?
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
<bfiedler> msiedlaczekelshi: If you already have tmux then you attach to the same session in both terminals, no?
<msiedlaczekelshi> bfiedler: well, then it will mirror the same thing on both terminals
<msiedlaczekelshi> i'd have to have a session per windows
<dagle> Some editors also allow server mode, in which case you could also let the editor handle it instead.
<msiedlaczekelshi> not all windows are necessarily in-editor. usually the baseline is nvim+terminal for running commands + some other stuff depending on a session
<msiedlaczekelshi> the best thing I've come up so far, which doesn't support restoring sessions but does basically what I want, is to have another level of tags or just some additional tags, such that each project has its own tag
<bfiedler> You can use focus-previous-tags for a two-project setup
yyp has quit [*.net *.split]
travankor has quit [*.net *.split]
dbuckley has quit [*.net *.split]
yyp has joined #river
dbuckley has joined #river
travankor has joined #river
<leon-p> msiedlaczekelshi: you could also switch from tmux to GNU screen, which does support attaching multiple clients to the same server with all clients displaying different things AFAIK
<ifreund> or just switch to kakoune which has a nice client/server model and removes the need for an additional tmux/screen layer
<msiedlaczekelshi> thanks for suggestions. right now I'm testing a setup with additional qwert... tags dedicated to my work sessions, I'll see how this works out
hspak4 has joined #river
Nulo_ has joined #river
Nulo has quit [Ping timeout: 265 seconds]
zxtx has quit [Ping timeout: 265 seconds]
hspak has quit [Ping timeout: 265 seconds]
<msiedlaczekelshi> ifreund: say I do, can I also make a terminal window part of this setup? I usually have at least one tmux window that is just plain terminal
zxtx has joined #river
<ifreund> kakoune runs the editor as a server and you can open as many separate TUI clients in terminals as you like
<ifreund> to run terminal commands you can either open a separate terminal in river or temporarily suspend one of your kakoune clients withe ctrl-Z
<ifreund> that all make sense?
<novakane> you could open all instances of kakoune for a project in like tags 2 and 3 and a terminal in tag 3 for example
<msiedlaczekelshi> I feel like a tag per project is exactly what I'm looking for. if only I could also somehow make it tie in a session that could be killed and opened again...
<msiedlaczekelshi> but I'm not even totally sure this is needed, testing the tags thing now...
<msiedlaczekelshi> not sure yet, I need to read about the client/server model in kakoune, I'll look into it and see if it makes sense
<msiedlaczekelshi> thanks for the suggestion either way
<msiedlaczekelshi> hm, I feel like it's kind of an opposite of what I want, I might have been unclear in explaining
<novakane> well neovim has neovim-remote too, not as good as kakune though
<msiedlaczekelshi> what I want is to have multiple windows tied into a session -- which is basically what a tag is
<msiedlaczekelshi> only a tag doesn't let me detach/attach
<ifreund> what do you mean by detach/attach in this context? wouldn't that just be displaying the tag/not displaying the tag?
<leon-p> ifreund: perhaps they want a consistent session between logins? Like work on something, exit river, later start river again and have all windows re-appear all with their last-seen state.
<ifreund> yeah we don't have anything like that yet
<ifreund> if ever
<leon-p> it's not totally impossible. You could probably modify foot-server to keep all terminal connections open even when the view is closed and then later spawn new views for them.
<leon-p> that would also prevent you from losing all terms when the compositor crashes
<ifreund> there's been discussion on this on wayland-devel recently, and there was an XDC talk on it
<ifreund> it required some pretty invasive libwayland changes though
<ifreund> and of course support from clients
<leon-p> libwayland changes? I see nothing preventing a client currently from surviving a compositor crash.
<leon-p> oh, actually I do
<leon-p> compositor not responding was fatal, wasn't it?
<ifreund> leon-p: wayland object IDs won't match up unless you're very lucky
<leon-p> yeah, but that is only a problem if you expect a complete restore of the pre-crash state. If all you want is to have your views open again, it should not matter
<leon-p> hmm... skimming through the mail I think they might be over-complicating it a bit. Instead of re-using objects and connection, my idea was to just have a new connection and build a new Wayland state from scratch.
<leon-p> it's the non-Wayland state that should be kept, the Wayland state is cheap to re-build
<ifreund> I think the motivation is to minimize client changes
<ifreund> I think the wayland state and non-wayland state is highly coupled in most clients
<leon-p> hmm... TBH I think I'd consider that a design bug in the clients. I can see some things depending on surface sizes, but other than that nothing should really be tightly coupled with the wayland state.
<leon-p> anyway, this isn't actually solving the session problem, since it would not survive a reboot as terminal connectiong are involved. You will always have to live with terminal sessions being lost between bootups, that just UNIX.
<msiedlaczekelshi> leon-p: ifreund yeah, basically at this point detaching/attaching would be a way to bring it back when there's some or something idk... but I agree, showing/hiding tag would do the work of attaching/detaching in context of switching between poject
<leon-p> msiedlaczekelshi: toggling tags solves the problem of bringing up your sessions when the compositor is already running and all of them have been brought up.
<leon-p> The problem is bringing them up and potentially saving state at the end of a session.
<leon-p> but that is a client issue. THe compositor is not really involved with that.
<msiedlaczekelshi> leon-p: yep
<leon-p> I suggest for now ignoring the issue of saving state. Maybe just use a shell script to bring up the windows you commonly need for a project.
<msiedlaczekelshi> the disadvantage of using tags as opposed to say tmux sessions is also having so many tags can get hairy
<msiedlaczekelshi> anyway, I'll experiment with it
<leon-p> "hairy"? I don't follow…
<msiedlaczekelshi> it's just a lot to handle to me
<leon-p> ah, I see.
<msiedlaczekelshi> starts being difficult to find sessions or even assign keys
Guest36 has joined #river
Guest36 has quit [Client Quit]
<leon-p> so, how many projects do you have open simultaneously? And how many tags have you assigned keys to?
<msiedlaczekelshi> sometimes I develop on 6 or 7 different repos throughout one day
<msiedlaczekelshi> normally, I got 9 tags
<msiedlaczekelshi> seeing as I have usually some other tags, like browser, slack, or music, etc, it's pushing it
<leon-p> well since you don't mind writing some code, you could create a tag selector menu thing. Basically a program that allows you to save tag configs, give them names and later focus them based on the name.
<msiedlaczekelshi> but I'll give it a go, and see if I can get by without tmux
<msiedlaczekelshi> leon-p: that's quite an interesting idea, I might consider trying it out
<leon-p> yeah, what you are running into here is the good old UNIX problem: a bunch of neat tools that are designed to interoperate, but the overall experience is extremely poorly integrated. Not that other OSs do it any better, but it's still maddening.
snakedye has quit [Ping timeout: 268 seconds]
<msiedlaczekelshi> it could be that I'm just missing some obvious way to solve this problem, idk
snakedye has joined #river
<ifreund> my way is to not bother saving "sessions" I don't intend to return to in the next hour or so on a tag
<ifreund> I just tear them down and build them back as needed
<ifreund> which really doesn't take much time
<leon-p> I wouldn't save sessions either, I prefer starting clean every time. But I think it should be possible.
<novakane> yeah I feel like with tags instead of workspaces you already have a lot to handle some nice setup
<msiedlaczekelshi> possibly, maybe I just need to let go of tmux for a while to develop some good practice around it
<novakane> never feel the need for a multiplexer with a tiling WM personally
<novakane> always feel like it's too much hassle to manage keybind problem between WM/multiplexer/editor
<snakedye> Mostly the session restoring. I imagine you can mitigate this with a lot of scripting but it doesn't feel quite right
leon-p has quit [Remote host closed the connection]
snakedye has quit [Ping timeout: 252 seconds]
snakedye has joined #river
novakane has quit [Quit: WeeChat 3.3]
notzmv has quit [Ping timeout: 250 seconds]
notzmv has joined #river
notzmv has quit [Read error: Connection reset by peer]
notzmv has joined #river
<msiedlaczekelshi> ok, I hacked a solution xD will probably refine it, but basically, I have a tmux session per terminal window, and within each session I have a list of project-related windows; then I have a binding that runs a script that opens bemenu with all windows available in any active tmux sessions, select one, and it switches any active session that has this window to it
<msiedlaczekelshi> a little hacky but could work out