<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?
<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
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
<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