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/
snakedye has quit [Ping timeout: 244 seconds]
waleee-cl has quit [Ping timeout: 272 seconds]
yyp has joined #river
novakane has joined #river
snakedye has joined #river
yyp has quit [Remote host closed the connection]
yyp has joined #river
novakane has quit [Quit: WeeChat 3.2]
leon-p has joined #river
novakane has joined #river
yyp has quit [Remote host closed the connection]
snakedye has quit [Ping timeout: 272 seconds]
snakedye has joined #river
novakane has quit [Quit: WeeChat 3.2]
waleee has joined #river
leon-p has quit [Quit: leaving]
yyp has joined #river
snakedye has quit [Ping timeout: 244 seconds]
leon-p has joined #river
snakedye has joined #river
waleee has quit [Ping timeout: 265 seconds]
waleee has joined #river
<leon-p> seems like for some people river showing its default background colour briefly before init is run is a problem worth opening an issue on GH
waleee has quit [Ping timeout: 240 seconds]
<leon-p> the simplest solution I can think of is just changing rivers default background colour to black
<leon-p> ifreund: ^
<leon-p> while we are on this topic, how about we finally get rid of "#RRGGBB" and use "0xRRGGBB" or just "RRGGBB" instead?
novakane has joined #river
<novakane> the background issue really doesn't sound like a real issue but anyway, isn't the flash the color used in renderer.clear()?
<novakane> we could use a solid black like for fullscreen and set the background color later
<novakane> leon-p: why would you like to get rid of #rrggbb? not like I disagree but I just don't know if there is good reasons
waleee has joined #river
<leon-p> novakane: mostly because it apparently confuses people
<leon-p> novakane: RE: background; That is exactly what I mean. Just let the default background colour be 0x000000 and if the user wants a different colour, they can set it
<leon-p> and yeah, it is not an actual issue, just a visual inconsistency
<novakane> well I like #rrggbb because highlight on neovim or zsh only works with this format :P
<novakane> I never saw this flash though, the only times I saw the default background color was when I'll try damage tracking and nothing but the background rendered
<leon-p> novakane: depends a bit on how fast your device is
<leon-p> on my X200 it is pretty apparent
<leon-p> although I haven't wasted a thought on it until that issue popped up
<leon-p> And I think setting the default colour to black is a good solution. It will still pop-up on startup, just no body will notice :D
<novakane> leon-p: well yeah but it will messed up the setup of ifreund, he gonna be angry :P
sjtio has quit [Quit: Client limit exceeded: 10000]
tmpm697 has joined #river
<tmpm697> hi river users.
<tmpm697> hi ifreund
sjtio has joined #river
<tmpm697> ifreund: can you help to check this issue: https://github.com/ifreund/river/issues/325
yyp has quit [Ping timeout: 240 seconds]
yyp has joined #river
<tmpm697> leon-p: can you help me to generate a layout that achieve the purpose? I don't understand much code in there.
<leon-p> tmpm697: sure
<tmpm697> that's awesome, thanks, I'm staring at my screen all the time :)
<leon-p> you have two options: 1) look at the community layouts page in our wiki on github, one of them supports monocle mode I believe. Option 2) use contrib/layout.c to create your own layout
<leon-p> or option 3), wait for me to quickly put together a fullscreen layout. It is trivial to modify contrib/layout for that purpose
<tmpm697> how to use contrib/layout.c to generate?
<leon-p> tmpm697: the file has comments that should be helpful
<tmpm697> beside kile, any other community layout help to simply archieve the purpose?: https://github.com/ifreund/river/wiki/Community-Layouts
<tmpm697> so to use layout.c I have to clone the sourcecode of river?
<leon-p> tmpm697: wait five more minutes and I'll have created the layout you want
<tmpm697> thanks, I've just cloned river source to local
<leon-p> tmpm697: actually, you want to clone https://git.sr.ht/~leon_plickat/rilay
<leon-p> and then `git checkout monocle` in the directory
<leon-p> the name of that layout is "full", so `riverctl output-layout full` will enable it if it is running
<tmpm697> I cloned it and check out monicle, now how to use that full layout?
<leon-p> you build the program by executing `make` (only works if you have a C compiler and the dependencies installed), then you need to execute it on startup and set rivers default layout to "full"
<tmpm697> you mean set default-layout to full-layout?
<leon-p> yes :)
<leon-p> `riverctl default-layout full"
<leon-p> note that although the program of the layout is "full-layout", the layout actually is called just "full"
<tmpm697> riverctl default-layout full-layout ?
<leon-p> nope, only "full"
<tmpm697> ok, I see :)
<tmpm697> i had "riverctl spawn full" at begining of river/init and "riverctl default-layout full" at botton of init file,
<tmpm697> but when I start river, and start term, it default like rivertle -- start term at centre
<leon-p> tmpm697: you need `riverctl spawn full-layout`. Spawn takes the name of the executable file.
<leon-p> make sure you have put layout-full somewhere in your $PATH so river finds it
<tmpm697> yes, it work perfect now.
<tmpm697> but what about the upgrade for the furture, is it stable enough for long usage?
<leon-p> tmpm697: It may break if we change the layout protocol, but I doubt we'll do that anytime soon.
<leon-p> and if anything breaks, just come ask here again. I am here all week :)
<tmpm697> thanks, you're my guy :)
<tmpm697> can you help with this: https://github.com/ifreund/river/issues/325
<tmpm697> as I want to use swaylock but it always switch focus that'll cause flicker
<tmpm697> you can just test it out using full layout above for obviously.
<leon-p> tmpm697: I am not entirely sure what you are describing in the issue, but I think you are starting a lot of things at once. The problem is that the time from command execution to some window appearing is not constant. Example: If you start two alacritty commands in sequence, it is more or less random which window appears first.
<leon-p> as a workaround, you can `sleep 1` inbetween
<leon-p> note that knowing which window belongs to which command is not a solved issue sofar, so we can't do anything about it currently. Maybe in the future
<tmpm697> I did sleep 1 in test.sh above and below swaylock command but the same result, you'll see some "ls" output command from other terminal or firefox before it's locked
<tmpm697> let me upload a quick video
<tmpm697> please check: https://imgur.com/gallery/zrlYhpU
<tmpm697> cat test.sh --> sleep 1; swaylock --color 00000000 --no-unlock-indicator; sleep 1
<tmpm697> I have three window -- two alacritty and one firefox, I start test.sh from one alacritty window.
<leon-p> hmm... no idea
<tmpm697> can you reproduce it with full layout?
<leon-p> no, just tried. one firefox, two terminals. if I run swaylock, after unlocking the window I was last focusing is focused, as expected
<tmpm697> when I invoke test.sh from a terminal, I expect somehow a new transparent window spin up and show up terminal, not firefox.
<tmpm697> please use "swaylock --color 00000000 --no-unlock-indicator" to have transparent window
<leon-p> tmpm697: note that swaylock is not a normal window.
<leon-p> ah, yeah, that makes sense :) I can reproduce now
<tmpm697> yeah, thanks.
<tmpm697> normal one should look through transparent and show up terminal background.
<leon-p> the problem is that river renders first the focused window, then the entire list of windows. When swaylock is executed, the terminal is no longer focused, so river starts rendering at the top of the list, which is firefox for you.
<leon-p> you can try moving the terminal to the top of the list using `riverctl zoom` while it is focused (put it into the script maybe)
<snakedye> tmpm697: maybe you should change the attach mode to top.
<tmpm697> perfect with riverctl zoom
<tmpm697> but should rivers stop rendering the whole windows stack?
<tmpm697> snakedye: what's the default of attach mode?
<snakedye> I don't know. I just know top puts newly spawned windows at the top of the stack
<leon-p> ifreund: maybe there should be another list of views, the focusing order, used for rendering? Bascially all other compositors I have tried render in the focus order as well.
<tmpm697> leon-p: yes, it seems a bit weird with the way river work, is there a way for river to know that it sould focus on the spawned window and then the parent window?
<leon-p> tmpm697: depends. popups and toplevels with parents river knows about, but for swaylock river can not know from what terminal that was started. But that is the wrong way to approach rendering order anyway. Rendering in reverse focus order is what should be done IMO
<tmpm697> leon-p: I still have issue with how river render.
<tmpm697> if I put test.sh in a map: riverctl map normal Mod1+Control L spawn test.sh
<tmpm697> zoom will focus correct at the first time I press combined keys, but the seconds and the next, it will focus to wrong one.
<tmpm697> is there a workaround?
<leon-p> yeah, right, zoom will move the window two positoin two if it is already at the top.
<leon-p> Nope, no workaround I am afraid
<tmpm697> thanks, hope someone can take a look into it soon. :)
<leon-p> the proper fix would be to change rivers rendering order, that is a pretty involved change and needs to be discussed a bit more.
yyp has quit [Remote host closed the connection]
novakane has quit [Quit: WeeChat 3.2]
waleee has quit [Quit: WeeChat 3.1]
waleee has joined #river
<tmpm697> I've just tested on sway, focus work fine.
<leon-p> tmpm697: yes, because sway does it differently than river.
<leon-p> since all you want is large windows plus alt-tab, you could also use sway btw. Just configure it to not tile the windows but start in tab mode.
<tmpm697> leon-p: I asked on #sway but I can't achieve that, as "swaymsg -m -t subscribe "['window']" | xargs -I '{}' -n 1 swaymsg fullscreen enable" is hacky and cause flickers
<leon-p> tmpm697: I saw your discussion on #sway and I think they just don't understand what you want
<tmpm697> can you help me to achieve with sway?
<leon-p> tmpm697: add `workspace_layout tabbed` to the end of your sway config, IIRC
<leon-p> that way sway will start in tabbed mode, where windows are arranged in tabs, like tabs in a browser
<tmpm697> I added it, anything I need to configure?
<tmpm697> I adapted alttab and "exec_always swaymsg -m -t subscribe "['window']" | xargs -I '{}' -n 1 swaymsg fullscreen enable" and "for_window [tiling] fullscreen"
<leon-p> tmpm697: try it and fint out. The alt-tab keybind will need focus wrapping, but that should be enabled by default
<tmpm697> so I should comment out all settings before and try with only "workspace_layout tabbed" ?
<leon-p> tmpm697: you can leave the settings, sway has sane defaults. Just add your changes to the bottom.
<leon-p> except if you want to get rid of the bar
<leon-p> then you have to remove the `bar { ... }` block
<tmpm697> I had bar { mode invisible } to hide statusbar
<leon-p> that works as well
<tmpm697> so I had still use alttab python script to have alt-tab work?
<leon-p> no
<leon-p> just bind alt-tab to focus right (or left)
<tmpm697> how to bind that?
<leon-p> give me a second, I'll try to remember sways config syntax :S
<tmpm697> thanks, should I stil keep "for_window [tiling] fullscreen"? as I find if not, window title just blink before have full window
<leon-p> tmpm697: Here is what you need to put into your config: https://paste.rs/IAh
<leon-p> tmpm697: no, you don't actually want to fullscreen the windows.
<leon-p> of course you'll want to add your own keybinds for starting terminals and other windows :)
<tmpm697> it seems like mod+tab dosn't work, I can't cycle between windows.
<tmpm697> i had three lines at bottom of file.
<leon-p> What modifer key are you pressing? The config line I wrote hardcodes Mod1 which is Alt
<tmpm697> it's window logo for modekey
<tmpm697> and I press the logo and tab
<leon-p> well, then replace Mod1 with Mod4
<leon-p> Mod1 = Alt, Mod4 = Super / Logo
<tmpm697> I had "bindsym Mod4+Tab focus right" but still cant use logo + tab to switch windows.
<tmpm697> sway had reload properly after changes $mod+shift+c
<leon-p> no idea. I am not a sway expert.
<tmpm697> ah I see
<tmpm697> I had to kill sway, reload doesn't work
<leon-p> Go to sway and explain to them that what you want it not actually all-fullscreen, but rather to default to tabbed layout and use Mod-Tab to cycle through all windows.
<tmpm697> but how to remove tab bar?
<leon-p> AFAIK you can't.
<leon-p> anyway, I'll have to sign out now, my time is running out.
<snakedye> for_window [workspace="*"] layout tabbed
<tmpm697> oh noo, is there a workaround or how to fix it in code?
<leon-p> sway questions are best asked in #sway )
<tmpm697> leon-p: thank you. cya
<tmpm697> snakedye: I got error: regex compilation fail "*"
kennylevinsen has joined #river
<tmpm697> leon-p: when I start firefox from one of tabbed terminal, it look weird, as tab not spanded all width of screen.
<tmpm697> i can hack font to remove title bar, check https://github.com/swaywm/sway/issues/1286
<tmpm697> it's pretty insane as I can loop cycle through windows, totally happy
leon-p has quit [Ping timeout: 268 seconds]
<tmpm697> it's by coincidence I believe for devs to deveop tabbed window that with font hacky suit to my needs. they even assume that this mode should always have titlebar :)