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/
<vimproved> just a quick question: if I were to start working on tearing-control-v1 support for river, would it be accepted upstream?
<vimproved> since i helped out a bit with the sway impl i'd like to try my hand at doing it for river
mtm has quit [Ping timeout: 255 seconds]
mtm has joined #river
andyrtr has quit [Ping timeout: 245 seconds]
andyrtr has joined #river
waleee has quit [Ping timeout: 244 seconds]
eShaev9z_ has joined #river
eShaev9z has quit [Ping timeout: 245 seconds]
<vimproved> alright well i've started some basic parts of it, the structure is mostly taken from sway as a reference: https://codeberg.org/vimproved/river/commit/affaaf239636aa05594ff4dea8b0cc35dfab2e74
Palanix_ has joined #river
Palanix has quit [Ping timeout: 260 seconds]
Palanix_ is now known as Palanix
leopoldek has quit [Ping timeout: 245 seconds]
<leon-p> the tearing protocol thing is really weird. it serves no purpose other than allowing games to get away with not writing good render loops
<larstiq_> what's the difference between what they do and what you consider a good render loop?
neurocyte has joined #river
<ifreund> larstiq_: the goal of a render loop is to get new frames on the screen with the lowest latency possible
<ifreund> in a ideal render loop, the application submits new frames right before the compositor's frame deadline at a rate equal to the refresh rate of the display
<ifreund> this is also how wayland is designed to work by default with its frame callbacks
<ifreund> many games instead ignore the compositors frame callbacks and submit new frames as fast as the hardware allows without any synchronization to the frame deadline or refresh rate of the display
<ifreund> obviously, it requires either very high rates of frame submission or lots of luck to achieve good latency with such a game
<ifreund> tearing allows frames that are not submitted in-sync with the compositor's frame deadline to be displayed more quickly at the cost of, well, screen tearing as a visual artifact
<larstiq_> huh, I'd have thought games would try to target the refresh rate
<ifreund> usually games call targeting the refresh rate "vsync" and are often very bad at it
<ifreund> vimproved: to answer your question, tearing control support is in scope for river. I haven't looked at what that entails at all yet though
<Franciman> ifreund: you are extremely competent, thank you for helping us with your ability for free
<ifreund> that's very kind :)
Guest36 has joined #river
Guest36 has quit [Client Quit]
lillian has joined #river
Guest1233 has joined #river
Guest1233 has quit [Client Quit]
lillian has quit [Ping timeout: 260 seconds]
lillian has joined #river
vyivel has quit [Remote host closed the connection]
vyivel has joined #river
lillian has quit [Ping timeout: 260 seconds]
lillian has joined #river
Palanix has quit [Ping timeout: 245 seconds]
angry_vincent has joined #river
andyrtr_ has joined #river
andyrtr has quit [Ping timeout: 245 seconds]
andyrtr_ is now known as andyrtr
mtm has quit [Ping timeout: 260 seconds]
taimooor has joined #river
mtm has joined #river
Palanix has joined #river
taimooor has quit [Quit: Leaving]
taimooor has joined #river
<taimooor> clear
taimooor has quit [Client Quit]
leopoldek has joined #river
Guest33 has joined #river
<Guest33> noob question here:
<Guest33> how can I map e.g. Mod3 to A?
<vimproved> ifreund: thanks :)
<vimproved> leon-p: my case for tearing control is mostly rhythm games, since it's often desirable to sacrifice perfect frames for improved visual latency
<vimproved> even if it's very minimal
<ifreund> Guest33: modifiers aren't configurable by river, they are defined by your xkbcommon keyboard layout
<Guest33> how the f*** can I configure skbcommon keyboard layouts?
alexherbo2 has joined #river
<Guest33> is there no way I can do something like
<Guest33> `riverctl map normal A+K spawn kitty` (I know this doesn't work, get error: invalid keysym 'A+D', the question is, how can i make it correctly
Guest33 has quit [Quit: Client closed]
Vartroc has joined #river
lillian has quit [Ping timeout: 260 seconds]
tiosgz has joined #river
<tiosgz> Guest33: i think what you're looking for is called home-row modifiers. i've never done that, but i think it's usually handled by the keyboard firmware
<tiosgz> (there's no way river can do this on its own, as trying to press that combination would result in typing 'a' first and only then running kitty)
tiosgz has quit [Quit: nyaa~]
<Vartroc> ( I am Guest33, I closed my hyprland session in trying out river and closed firefox in the process...)
<Vartroc> ah yes, of course, I am already planning on building a custom split keyboard, so in the meantime, I think I'm just going to use Alt. Thanks for the quick response
<ifreund> yeah, homerow mods are best handled in keyboard firmware or lower in the software stack IMO
<ifreund> there's a lot of subtlety to making them comfortable to use and a lot of individual preference
<leon-p> i am not entirely convinced these kind of things are actually impossible to do via xkbcommon configuration, however there is a lot of arcane knowledge and lots of work involved
<ifreund> leon-p: homerow mods often rely on timeouts of ~100-200ms which I dont think xkb layouts can do
<ifreund> My personal setup doesn't rely on timeouts though so it might be possiblr
_whitelogger has quit [Ping timeout: 246 seconds]
_whitelogger has joined #river
waleee has joined #river
rick42_ has joined #river
rick42 has quit [Quit: ZNC 1.8.2 - https://znc.in]
mtm has quit [Quit: Textual IRC Client: www.textualapp.com]
ninewise has quit [Ping timeout: 260 seconds]
ninewise has joined #river
alexherbo2 has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 252 seconds]
<Vartroc> is there a way to list all created tags?
<Vartroc> I was looking at the manpage of riverctl and didn't find anything so I ask here weather anyone can think of a "hacky" way
<ifreund> Vartroc: I dont think I understand, there always exactly 32 tags
<ifreund> usually people only use around 10 of them though
<rrix> yeah you could iterate over the list of windows and pull their tags, but there is no "created tags", just a 32 bit bitmask applied to windows
Vartroc has quit [Quit: Client closed]
Vartroc has joined #river
<Vartroc> oh, so I was totally wrong. I was under the impression that I could name tags and then my plan was to be able to create tags using rofi like some for "gaming" etc, but that makes no sense, sorry I just started configuring river today, so I am as new as it gets...
Vartroc has quit [Quit: Client closed]
Vartroc has joined #river
catman has quit [Ping timeout: 252 seconds]
Vartroc has quit [Quit: Client closed]
waleee has joined #river
ccha has quit [Quit: WeeChat 4.3.5]
ccha has joined #river
angry_vincent has quit [Ping timeout: 276 seconds]
Vartroc has joined #river
belanthor has joined #river
belanthor has quit [Client Quit]
<Vartroc> I want to bind "amixer set Master 5%+" to Super + F12 and I have found this snipped in my xkbcommon-keysyms.h:
<Vartroc> ```#define XKB_KEY_F1                            0xffbe
<Vartroc> #define XKB_KEY_F2                            0xffbf
<Vartroc> #define XKB_KEY_F3                            0xffc0
<Vartroc> #define XKB_KEY_F4                            0xffc1
<Vartroc> #define XKB_KEY_F5                            0xffc2
<Vartroc> #define XKB_KEY_F6                            0xffc3
<Vartroc> #define XKB_KEY_F7                            0xffc4
<Vartroc> #define XKB_KEY_F8                            0xffc5
<Vartroc> #define XKB_KEY_F9                            0xffc6
<Vartroc> #define XKB_KEY_F10                           0xffc7
<Vartroc> #define XKB_KEY_F11                           0xffc8
<Vartroc> #define XKB_KEY_L1                            0xffc8  /* deprecated alias for F11 */
<Vartroc> #define XKB_KEY_F12                           0xffc9```
<Vartroc> I have tried:
<Vartroc> `riverctl map normal Super XKB_KEY_F12 "amixer set Master 5%+"`
<Vartroc> ' riverctl map normal Super 0xffc9 "amixer set Master 5%+"`
<Vartroc> but both don't work. How do I find out my correct key name?
<vyivel> do not paste onirc
<Vartroc> onirc?
<vyivel> on irc
<vyivel> use a pastebin instead
<Vartroc> ok
<vyivel> regarding your question, F12 should just work
<vyivel> you can use something like wev to check what keysym is actually generated
<Vartroc> wev?
<vyivel> probably already packaged in your distro of choice
<vyivel> yes, it's just a libxkbcommon header.
<leon-p> Vartroc: your keybind command is missing a "spawn"
<leon-p> instead of wev, you can also use `xkbcli interactive-wayland` which you likely have installed already
<Vartroc> So after some troubleshooting (thanks for the wev tip!) I got my "louder key" working, but my "quieter key" gives some troubles:
<Vartroc> `riverctl map normal Super F11 spawn "amixer set Master 20%-"` here the line. Wtf could go wrong with that?
<Vartroc> my F11 key works, I have also tried `riverctl spawn "amixer set Master 20%-"` and it reduced the volume, and I have even copied the spawn "amixer set Master 20%-" into my config... i have no idea what could go wrong there?????
<Vartroc> with copied, i mean copying the thing that works into my config and being bamboozled why it doesn't
<Vartroc> bruh, I have the solution... I am so used to hyprlands hot reload config (just save and it applies instantly) that I forgot to reload this config, so that's that... Sorry for bothering you
Vartroc has quit [Quit: Client closed]
waleee has quit [Ping timeout: 245 seconds]