<ifreund>
hrm, I think I need to sort globs by generality to make things like "configure all touchpads to do this thing, except this one touchpad which should not do this thing"
<ifreund>
should be doable
uncomfy has joined #river
alexherbo2 has joined #river
Szadek has joined #river
Szadek has quit [Ping timeout: 248 seconds]
Szadek has joined #river
Szadek has quit [Quit: WeeChat 3.8]
alexherbo2 has quit [Remote host closed the connection]
Szadek has joined #river
<novakane>
oh I didn't saw that you used 0BSD license for globber.zig, that's nice to use these license in common/
<ifreund>
yeah, I figure I might want to use them in some other project myself someday :D
<ifreund>
I think I'm going to break things a bit more and go with this new filter^W rules interface: https://0x0.st/Hi9o.png
<ifreund>
and river will start respecting the CSD/SSD wishes of clients by default
<ifreund>
this will also finally allow overriding the sometimes incorrect float heuristics
<tleydxdy[m]>
maybe river should delegate it to a external program so the logic can be arbitrarily complex?
<ifreund>
It will eventually, but not yet
<ifreund>
eventually this will all get pushed out to the window manager process, but I think it's still worth supporting this now as it's a huge improvement
<ifreund>
and I can use the same exact interface in rivertile
<tleydxdy[m]>
_delegate it to the layout gen_
<ifreund>
?
<upsala>
Is there a rough (could be very rough) estimate on when drawing tablets will be supported?
<upsala>
Nice, that and having some more view rules is the only thing I'm really missing from river
<upsala>
Other than that, to me, it's behaving like I used awesomewm on X
<ifreund>
there are several different components to good drawing tablet support, the most basic is just sending the wayland events to clients that support the protocol
<ifreund>
we also need to support mapping input devices to specific outputs and maybe arbitrary rectangles
<upsala>
How do other wlroots based WMs do it?
<ifreund>
and then there's also pointer emulation that we should support when a client doesn't support tablet-specific events
<ifreund>
upsala: wlroots provides some good helpers but it's a toolkit not a framework so it's up to river to make policy decisions and tie everything together
<upsala>
I see, thanks for the explanation
<ifreund>
no problem :)
uncomfy has quit [Quit: uncomfy]
jao has joined #river
Nosrep has quit [Ping timeout: 255 seconds]
Nosrep has joined #river
waleee has joined #river
jacobly has joined #river
aryak_ has quit [Remote host closed the connection]
aryak_ has joined #river
talismanick has quit [Remote host closed the connection]
talismanick has joined #river
<plumeus>
huh, getting really weird behaviour with gammastep
<plumeus>
like, it takes a long time before the effect is applied and certain windows don't change colour properly
<plumeus>
switching tags fixes it
<plumeus>
One thing to note is that I just upgraded my system and haven't restarted River
<ifreund>
plumeus: yeah, this is a wlroots bug with the scene graph direct scanout
<ifreund>
setting WLR_SCENE_DISABLE_DIRECT_SCANOUT=1 should fix it, if it doesn't let me know
<plumeus>
Good job Mako, I got the same notification twice
<plumeus>
ah, okay, it's the wlroots bug that's fixed on master, as you said
<plumeus>
I'll test it right now
<ifreund>
it's actually not fixed yet, I had that wrong
<ifreund>
the other part is actually using that in the scene graph implementation
<plumeus>
so, the behaviour is still weird after setting that env var
<plumeus>
but the TTY itself was acting really weird
<plumeus>
it was ignoring my inputs 80% of the time
<ifreund>
strange
<plumeus>
when switching to a different tty fixes the issue
<plumeus>
so, I might want to restart
<plumeus>
yep, behaviour hasn't really changed
<plumeus>
I put export WLR_SCENE_DISABLE_DIRECT_SCANOUT=1 in my start_river.sh script
<plumeus>
oh, okay, Gammastep works even when a program is fullscreened
<plumeus>
so that bug is fixed, and this is just something else
<plumeus>
The interesting part of this bug seems to be that portions of the screen that hasn't been updated will not have redshift applied/unapplied
<plumeus>
so if I set Gammastep, most of the screen will stay as-is and if I drag my cursor vertically through the screen, redshift will be applied to the portions the cursor went through
<ifreund>
plumeus: ah, that sounds like a damage tracking issue :/
<ifreund>
I don't think the scene graph has an environment variable to disable damage tracking unfortunately
<plumeus>
ha
<plumeus>
I don't get why this didn't happen until I updated my system
<ifreund>
that I don't know either, I should see if I can reproduce
kolunmi has joined #river
<plumeus>
`riverctl map normal Super N spawn 'pkill -x ".gammastep-wrap" || gammastep -PO 2000'` is my keybind to turn Gammastep on/off
<plumeus>
shouldn't be a problematic way to do so, I'd think. The wrapper is some NixOS specific stuff, could investigate if that's doing something strange
upsala has quit [Remote host closed the connection]
<ifreund>
plumeus: hmm, I can reproduce the failure with fullscreen direct scanout but can't reproduce any partial application
<ifreund>
either it works for the entire output or not at all
<plumeus>
hmm
<ifreund>
kolunmi: very cool, feel free to add it to the "recommended software" wiki page if you like :)
<plumeus>
oh wait, it started working as soon as I plugged a charger... what
<plumeus>
is this some power saving profile bug? I hope not
<plumeus>
yeah, took out my charger and can reproduce
<plumeus>
my laptop has 5% battery right now, btw
<ifreund>
kolunmi: minor, but you could use wl_output.name instead of depending on xdg-output if you like
<ifreund>
should simplify things a bit
<plumeus>
idk how I can provide my battery saving settings
<ifreund>
hmm, I'm not sure how I would be able to reproduce that even if you did
<ifreund>
seems very likely to be hardware-specific
<plumeus>
yes, it's great
<kolunmi>
ifreund: thank you! I was not aware of wl_output.name. Will definitely switch over
<ifreund>
no problem :)
<ifreund>
plumeus: Ok, as I understand things it's got to be something lower in the graphics stack than wlroots, probably in the kernel DRM code or drivers
<ifreund>
the DRM api wlroots uses only has the ability to set the gamma stuff for the entire output
<plumeus>
btw, is it normal that using gammastep and then going to a different TTY will have the effect applied still?
<plumeus>
and killing the gammastep process from a different TTY won't stop the effect
<ifreund>
Hmm, I can reproduce that
<plumeus>
seems like weird behaviour
<ifreund>
switching to e.g. a different wayland/x11 session gets rid of the gamma effect
<ifreund>
perhaps wlroots should be doing something to clear it on VT switch and isn't
<ifreund>
or perhaps the tty program we're using should do something to reset gamma state when it is switched to
<ifreund>
I think the latter is more likely from what little I know about the mess that is VT switching
<jacobly>
first order need to change keyboard layout...
<ifreund>
riverctl keyboard-layout 'us(colemak)'
<plumeus>
Still waiting for InputMethodV2... I guess I can attempt to make a PR and fail and cry
<jacobly>
uh oh, I also need per-input keyboard layouts because I'm annoying
<ifreund>
uh oh, river doesn't have those yet
<ifreund>
you could use a keybind to switch between them but that's annoying
<plumeus>
I recall somebody (on a different chat) wanting a feature in which their laptop keyboard gets disabled when an external keyboard is plugged in
<ifreund>
alternatively I suspect kmonad can do per-keyboard layout switching in the short term
<eShaev9z_>
@kolunmi thanks for sandbar, I've been using waybar but I'm making the switch.
<plumeus>
there's also zelbar, which I've yet to try
<kolunmi>
You're welcome, let me know if you encounter any issues
<kolunmi>
I was also using waybar but it's far too complex for what I need
<eShaev9z_>
Yeah, I agree. sandbar has been solid out of the box for me so far, I'll let you know if anything breaks.
<jacobly>
well I'm getting `error.ConnectFailed` when I run riverctl
<ifreund>
jacobly: are you running it from inside river? if not you'd need to set WAYLAND_DISPLAY
<ifreund>
(probably WAYLAND_DISPLAY=wayland-1 if you've only started a single river instance)
<jacobly>
thanks, now I'm having trouble getting `river -c` to work
<jacobly>
oh wait
<ifreund>
is your init script executable?
<jacobly>
yes, but not shebanged
<ifreund>
ah, that'd do it
<jacobly>
almost, still not the right keyboard layout
<jacobly>
oh when I renamed it I managed to not make it executable or update the references
<ifreund>
using a shell script as config is both a blessing and a curse :/
<jacobly>
umm what
<jacobly>
ok I need to add `riverctl exit` to the end to make it behave that way
<ifreund>
hmm?
sparogy has quit [*.net *.split]
travankor has quit [*.net *.split]
[Ristovski] has quit [*.net *.split]
milesrout has quit [*.net *.split]
kindablue has quit [*.net *.split]
novakane has quit [*.net *.split]
kennylevinsen has quit [*.net *.split]
andrea has quit [*.net *.split]
psnszsn has quit [*.net *.split]
anjan has quit [*.net *.split]
p00f has quit [*.net *.split]
maringuu has quit [*.net *.split]
raiaq has quit [*.net *.split]
coder_kalyan has quit [*.net *.split]
voroskoi has quit [*.net *.split]
leon-p has quit [*.net *.split]
lizog has quit [*.net *.split]
romangg has quit [*.net *.split]
DZoidberg_ has quit [*.net *.split]
dnkl has quit [*.net *.split]
[Ristovski] has joined #river
maringuu has joined #river
lizog has joined #river
p00f has joined #river
leon-p has joined #river
voroskoi has joined #river
kindablue has joined #river
dnkl has joined #river
raiaq has joined #river
andrea has joined #river
psnszsn has joined #river
coder_kalyan has joined #river
anjan has joined #river
milesrout_ has joined #river
sparogy has joined #river
DZoidberg has joined #river
novakane has joined #river
kennylevinsen has joined #river
angry_vincent has quit [Remote host closed the connection]
romangg has joined #river
kolunmi has quit [Quit: Client closed]
kolunmi has joined #river
<jacobly>
after some hairy relative paths I've successfully gotten from boot to river session
<ifreund>
nice :)
<jacobly>
`~/.config/river/inputs: line 2: riverctl: command not found` awkward
<jacobly>
how did programs launched from init get an updated path but not init
<ifreund>
that really doesn't make much sense. how are you starting river?
<jacobly>
from a program that claims to do that by default
<plumeus>
Oh great, now MPV's audio isn't working. Why am I always blessed with problems to solve?
<jacobly>
I mean I kind of get it
Szadek has quit [Ping timeout: 255 seconds]
Szadek has joined #river
<jacobly>
alright I can now launch a usable terminal
<jacobly>
guess it should be on a keyboard shortcut next
Szadek has quit [Ping timeout: 260 seconds]
Szadek has joined #river
<jacobly>
I guess I have to use qwerty names
<ifreund>
jacobly: it's possible to use non-qwerty names with the -layout option of map
<ifreund>
e.g. you could do keyboard-layout "us,us(colemak)" and use `map -layout 1 ...` to always use colemak for translating input events for the purpose of mappings
<ifreund>
additionally passing `-options "grp:ctrl_space_toggle"` to keyboard-layout would allow toggling between colemak/no-colemak layouts without affecting the location of the mappings
<ifreund>
this configuration is all very messy, a better interface should be possible but I haven't found time for that yet
<ifreund>
I personally configure my layout stuff in my keyboard's firmware
<jacobly>
I would but this layout isn't very condusive to that
<jacobly>
too many wrongly-shifted keys
<jacobly>
or rather I do, but can only use it for emergencies
kolunmi has quit [Quit: Client closed]
<jacobly>
I don't suppose there's a way to hide the cursor permanently
<jacobly>
well specifically until the session exits
<ifreund>
hmm, I don't think so
<ifreund>
perhaps one could hack it by hiding the cursor with a very low timeout and then disabling the input devices that can move it
<ifreund>
I don't think anyone's requested that feature before :D
<jacobly>
seems to have worked :D
<jacobly>
having the cursor visible in a session without mouse interactivity bothers me
<jacobly>
I wonder if there's a way to warp to center only on init
<ifreund>
there isn't currently afaik
<jacobly>
I was hoping for per-mode color
<jacobly>
also I think I've reached the end of familiar config
Szadek has quit [Ping timeout: 265 seconds]
<ifreund>
hmm, you could hack per-mode color by using a script to change mode that also sets the border color
<jacobly>
true
<ifreund>
what window manager are you coming from?
<jacobly>
i3 and briefly sway
<ifreund>
well welcome to the dynamic side then :)
<jacobly>
is there a multi-command syntax or should I use two
Szadek has joined #river
<jacobly>
or is spawning multiple riverctl better
<ifreund>
nope, no multi-command syntax, spawning multiple riverctl is the only way for now
<ifreund>
it would be slightly more efficient to add one but it's really not a meaningful problem
<jacobly>
sometimes when switching vt the keyboard (or maybe everything) stops responding
<ifreund>
does it fix itself if you switch vt again?
<ifreund>
as I understand it VT switching is an absurdly complex and racy process...
<jacobly>
I
<jacobly>
I don't think it ever works
<ifreund>
it could also be that river is somehow crashing and leaving the VT in a dirty state (including the last rendered frame)
<ifreund>
debug log output when that happens would tell, redirect river's stderr to a file or something
<jacobly>
or rather, I don't think it ever works with one specific application
<ifreund>
ah, probably a client bug then, some clients don't handle a keyboard being removed and re-added properly (which is what they see during a VT switch)
<ifreund>
out of curiosity, what application?
<jacobly>
wlgreet
<ifreund>
kennylevinsen: From a brief glance I dont see code in wlgreet to handle that
<ifreund>
its rust though, so I could be missing something...