2021/07/22

2021-07-22 01:07:33 +0200Solid(~slot@xmonad/slotThe) (Quit: Connection reset by pear)
2021-07-22 01:07:52 +0200Solid(~slot@xmonad/slotThe)
2021-07-22 05:27:40 +0200 <contrapunctus> I've started writing a kmonad configuration. It seems very powerful and I'm excitedly looking forward to all the things it can do. However, the tutorial is rather difficult for a newcomer to use to get started...the Diataxis Framework (https://diataxis.fr) would call it an "explanation" (another useful kind of documentation, but serving a different purpose than a tutorial).
2021-07-22 05:30:29 +0200 <contrapunctus> So I'm thinking of what might go into a tutorial. It has to have clear goals at every step, and it does not have to do things the "best" way, or explain/mention all alternatives - it just has to be fun and be enough to get someone started. It's also "learning by doing", rather than "learning by understanding". (The example configurations helped in this regard, but a more focused tutorial would be pre
2021-07-22 05:30:29 +0200 <contrapunctus> ferable.)
2021-07-22 06:15:49 +0200wolficefang[m](~wolficefa@2001:470:69fc:105::a3f1)
2021-07-22 06:16:10 +0200 <wolficefang[m]> Hello?
2021-07-22 06:16:33 +0200 <contrapunctus> wolficefang[m]: hello
2021-07-22 06:19:18 +0200 <wolficefang[m]> Oh cool this works.
2021-07-22 06:19:19 +0200 <wolficefang[m]> uhh I just wanted to make sure this is the actual kmonad IRC (since I can't see chat history, only user join/leave logs in Element.)
2021-07-22 06:19:19 +0200 <wolficefang[m]> I didn't really have a question or anything.
2021-07-22 06:29:04 +0200 <contrapunctus> Cool 🙂️ I just discovered kmonad yesterday 😅️
2021-07-22 06:40:50 +0200 <contrapunctus> Hm...the docs say "A tap-macro can take an optional :delay keyword (in ms)", but when I do a dry-run with this configuration, I get "parse error", "unexpected ':'" - http://ix.io/3tF4
2021-07-22 07:03:26 +0200niemand(~niemand@p54a9c03a.dip0.t-ipconnect.de)
2021-07-22 07:04:16 +0200niemand(~niemand@p54a9c03a.dip0.t-ipconnect.de) (Client Quit)
2021-07-22 07:04:34 +0200niemand(~niemand@p54a9c03a.dip0.t-ipconnect.de)
2021-07-22 07:08:35 +0200niemand(~niemand@p54a9c03a.dip0.t-ipconnect.de) (Client Quit)
2021-07-22 09:51:58 +0200 <Solid> contrapunctus: I'd agree that a proper "step-by-step" tutorial would be a nice addition
2021-07-22 09:52:25 +0200 <Solid> but I'm sort of burned out from writing so much documentation for xmonad, so any help is welcome :)
2021-07-22 09:52:58 +0200 <Solid> the :delay keyword is not in any released version yet, so if you've installed kmonad via your system's package manager you probably won't have it yet
2021-07-22 10:44:42 +0200 <contrapunctus> Solid: glad to hear you like the idea. I might try writing one, or foundations of one anyway 🙂️
2021-07-22 10:54:59 +0200 <contrapunctus> Hm...I don't understand how to specify what I'm trying to get. According to the examples, `(defalias parens (tap-macro \( P5 \) P5 Left) left-shift (tap-hold-next @parens LeftShift))` ought to work, but I get `unexpected '@'` `expecting button` 🤔️
2021-07-22 10:58:46 +0200 <Solid> ah, that's a pretty bad error message
2021-07-22 10:58:51 +0200 <Solid> but you need a timeout for tap-hold-next
2021-07-22 11:07:21 +0200 <contrapunctus> Solid: ah, thanks! Finally no more errors ^^
2021-07-22 12:34:15 +0200 <contrapunctus> Urgh, I can't get past the uinput permission errors. My user is member of both input and uinput, but FWIW `groups` only displays this when I run it as root (`groups <user>`). I've followed all the steps in the FAQ :\
2021-07-22 12:46:05 +0200 <Tisoxin> contrapunctus: Did you reboot?
2021-07-22 12:47:27 +0200 <Tisoxin> and apart from that…root is member of input & uinput but not your account?
2021-07-22 13:22:07 +0200 <contrapunctus> Tisoxin: tried rebooting too, no luck.
2021-07-22 13:28:41 +0200 <Tisoxin> <Tisoxin "and apart from that…root is memb"> ?
2021-07-22 13:30:33 +0200 <contrapunctus> Ah, finally got it to run. My udev rules file had the wrong extension.
2021-07-22 13:30:45 +0200 <Tisoxin> ok
2021-07-22 13:51:02 +0200 <contrapunctus> I've managed to get Space to act as Ctrl, very cool! 😀
2021-07-22 13:53:55 +0200 <contrapunctus> I'm trying to get Shift to send `()<left>` when tapped; I bound `(tap-next (tap-macro \( P20 \) P20 Left) LeftShift)` to the Shift keys, but it presses Left indefinitely until I tap something else. 🤔
2021-07-22 13:57:37 +0200 <Solid> something doesn't get released huh
2021-07-22 13:57:45 +0200 <Solid> I guess a hack would be Left P5 or something
2021-07-22 14:03:06 +0200 <contrapunctus> Solid: thanks, that worked 🙂
2021-07-22 14:07:59 +0200 <contrapunctus> Now for the other mystery...when I invoke `kmonad file.kbd`, it emits a ton of whitespace 🤔 it wasn't this way in earlier iterations of my config, which looks like this right now - http://ix.io/3tGx
2021-07-22 15:16:08 +0200Solid_(~slot@xmonad/slotThe)
2021-07-22 15:18:46 +0200Solid(~slot@xmonad/slotThe) (Ping timeout: 255 seconds)
2021-07-22 15:18:55 +0200Guest4(~Guest4@49.36.233.220)
2021-07-22 15:19:06 +0200 <Guest4> hello
2021-07-22 15:19:21 +0200Solid_Solid
2021-07-22 15:19:39 +0200 <Solid> hi
2021-07-22 15:19:46 +0200 <Guest4> hey
2021-07-22 15:20:44 +0200 <Guest4> can kmonad be used to switch layouts frequently?
2021-07-22 15:20:54 +0200 <Guest4> like switch to qwerty when gaming
2021-07-22 15:26:08 +0200 <Solid> sure, that's not a problem
2021-07-22 15:27:16 +0200 <Guest4> oh nice
2021-07-22 15:28:24 +0200 <Solid> there is a layer-switch function that just switches to a layer
2021-07-22 15:29:00 +0200 <Solid> you can combine this with cmd-button to also execute some (probably necessary) setxkbmap commands in case you want to switch languages as well
2021-07-22 15:29:23 +0200 <Guest4> hmm gotta look into it
2021-07-22 15:30:01 +0200 <Solid> e.g. something like `(around (cmd-button "setxkbmap de") (layer-switch qwertz))` would switch to a defined `qwertz` layer and tell X that you want german language support
2021-07-22 15:31:11 +0200 <Guest4> interesting
2021-07-22 15:32:19 +0200 <Guest4> where to put the config file in linux?
2021-07-22 15:32:49 +0200 <Tisoxin> Guest4: Do you use an ergonomic layout?
2021-07-22 15:33:10 +0200 <Tisoxin> The kmonad config file?
2021-07-22 15:33:17 +0200 <Guest4> yeah the kmonad config file
2021-07-22 15:33:23 +0200 <Guest4> whats an ergonomic layout?
2021-07-22 15:33:26 +0200 <Tisoxin> afaik there is no specific location
2021-07-22 15:33:40 +0200 <Tisoxin> you just pass the config file from the command line
2021-07-22 15:33:41 +0200 <Solid> Guest4: you give kmonad the path to the config file as a positional argument, so place it wherever you want
2021-07-22 15:33:50 +0200 <Guest4> ohk
2021-07-22 15:34:56 +0200 <Tisoxin> Guest4: Well, why would you want to switch layouts for gaming, if you don't use an additional ergonomic one ? That's the only reason i know
2021-07-22 15:35:15 +0200 <Tisoxin> ergonomic layouts are layouts, which are optimized for typing
2021-07-22 15:35:31 +0200 <Guest4> oh i thought you meant ergonomic keyboard
2021-07-22 15:35:37 +0200 <Tisoxin> (qwerty is optimized for typewriters)
2021-07-22 15:35:38 +0200 <Guest4> yeah i do use colemak dh
2021-07-22 15:35:40 +0200 <Guest4> but im a begginer
2021-07-22 15:35:50 +0200 <Tisoxin> ah, ok
2021-07-22 15:36:06 +0200 <Tisoxin> How long do you type colemak?
2021-07-22 15:36:10 +0200 <Solid> Tisoxin: another reason may be that they use home-row modifiers; I can imagine things like that being a bit awkward when accidentally pressed when gaming
2021-07-22 15:36:25 +0200 <Guest4> its my day 5 on colemak dh
2021-07-22 15:36:27 +0200 <Guest4> im on 40wpm
2021-07-22 15:36:33 +0200 <Tisoxin> yes, but they wanted to switch layouts, not layers
2021-07-22 15:36:35 +0200 <Tisoxin> nice
2021-07-22 15:36:42 +0200 <Guest4> thanks :)
2021-07-22 15:36:45 +0200 <Solid> ah, good point
2021-07-22 15:36:55 +0200 <Tisoxin> i use the ergonomic layout bone
2021-07-22 15:37:17 +0200 <Guest4> so i guess i could use vim with layers functionality?
2021-07-22 15:37:56 +0200 <Tisoxin> depends on what you want to implement
2021-07-22 15:38:03 +0200 <Tisoxin> https://neo-layout.org/Layouts/bone/
2021-07-22 15:39:50 +0200 <Guest4> exec /path/to/kmonad /path/to/config.kbd || exit 1
2021-07-22 15:39:55 +0200 <Tisoxin> Guest4: You might not be interested (since you've already begun learning colemak) but there are actually better layouts than colemak (although colemak is pretty sane), e.g. workman, 3l, etc.
2021-07-22 15:40:02 +0200 <Guest4> in this is path to kmonad the kmonad.service file?
2021-07-22 15:40:33 +0200 <Tisoxin> https://github.com/jackrosenthal/threelayout
2021-07-22 15:40:37 +0200 <Guest4> Tisoxin hmm i willl look into it
2021-07-22 15:41:02 +0200 <Tisoxin> https://colemakmods.github.io/ergonomic-mods/angle.html
2021-07-22 15:41:13 +0200 <Tisoxin> https://workmanlayout.org/
2021-07-22 15:41:29 +0200 <Tisoxin> ok, enough link spamming :]
2021-07-22 15:44:48 +0200Guest4(~Guest4@49.36.233.220) (Quit: Client closed)
2021-07-22 15:48:06 +0200 <Tisoxin> !help
2021-07-22 15:48:45 +0200 <Tisoxin> @help
2021-07-22 15:48:45 +0200 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-07-22 15:48:52 +0200 <Tisoxin> @list
2021-07-22 15:48:52 +0200 <lambdabot> What module? Try @listmodules for some ideas.
2021-07-22 15:48:59 +0200 <Tisoxin> @listmodules
2021-07-22 15:48:59 +0200 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
2021-07-22 15:48:59 +0200 <lambdabot> seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where
2021-07-22 15:49:36 +0200 <Tisoxin> @type (<*>) (<*>) (<*>)
2021-07-22 15:49:37 +0200 <lambdabot> error:
2021-07-22 15:49:37 +0200 <lambdabot> • Occurs check: cannot construct the infinite type:
2021-07-22 15:49:37 +0200 <lambdabot> f ~ (->) (f (f b))
2021-07-22 15:49:50 +0200 <Tisoxin> arg
2021-07-22 15:50:58 +0200 <Tisoxin> @type (.) (<$>) (.)
2021-07-22 15:50:59 +0200 <lambdabot> Functor f => (b -> c) -> f (a -> b) -> f (a -> c)
2021-07-22 15:51:42 +0200 <Solid> Tisoxin: if they're learning colemak-dh then they've already found something "better" than the ones you listed :>
2021-07-22 15:52:37 +0200 <Tisoxin> uh
2021-07-22 15:52:41 +0200 <Tisoxin> i missed the dh
2021-07-22 15:54:03 +0200 <Tisoxin> :/
2021-07-22 15:54:38 +0200 <Tisoxin> Solid: Maybe 3l is interesting for them
2021-07-22 15:54:45 +0200 <Tisoxin> Since it has additional layers
2021-07-22 15:55:16 +0200 <Solid> it looks pretty cool
2021-07-22 15:55:32 +0200 <Solid> but probably the worst thing to do when you've been learning a layout for 5 days is to switch to a new weird one :D
2021-07-22 15:55:49 +0200 <Tisoxin> :]
2021-07-22 15:55:58 +0200 <Tisoxin> there are worse things
2021-07-22 15:56:08 +0200 <Tisoxin> e.g. switching after a few weeks (like i did)
2021-07-22 15:56:35 +0200 <Tisoxin> Solid: Which layout are you using?
2021-07-22 15:56:51 +0200 <Tisoxin> afaik it's pretty common for german programmers to use qwerty
2021-07-22 15:57:38 +0200 <Solid> I mean, it's pretty common for programmers (and, really, people) to use qwerty in general :)
2021-07-22 15:57:44 +0200 <Solid> I also use colemak-dh right now
2021-07-22 15:58:19 +0200 <Solid> my wrist problems disappeared and I'm reasonably fast, so probably not worth trying out more layouts
2021-07-22 15:58:48 +0200 <Tisoxin> yes
2021-07-22 16:01:16 +0200 <Tisoxin> Maybe I'll switch one day to a layout, thats suits english better
2021-07-22 16:02:00 +0200 <Tisoxin> and the 5th and 6th layer of my current layout are pretty useless as well
2021-07-22 16:02:03 +0200 <Tisoxin> I'd change them
2021-07-22 16:37:38 +0200ThisGuyFucks(~ThisGuyFu@49.36.233.220)
2021-07-22 16:45:40 +0200ThisGuyFucks(~ThisGuyFu@49.36.233.220) (Quit: Client closed)
2021-07-22 17:18:37 +0200 <contrapunctus> Oh, so for some reason when I type `kmonad myconfig.kbd` and hit Enter at the terminal, Enter is "stuck" and triggered indefinitely until I press something else 🤔️
2021-07-22 18:23:39 +0200 <Tisoxin> contrapunctus: I have the same „problem“
2021-07-22 18:24:38 +0200 <Tisoxin> I'm not sure why it's happening, maybe kmonad just discards the first keyrelease, since there is no associated keypress for it
2021-07-22 18:25:06 +0200 <Tisoxin> and then a program higher up the stuck just repeats the keypress
2021-07-22 18:25:13 +0200 <Tisoxin> *stack not stuck
2021-07-22 18:30:51 +0200 <Tisoxin> E.g. Xorg
2021-07-22 18:35:56 +0200 <Solid> if the keyboard is captured before the release event is send to the system, then we can't send a release event because the keyboard that kmonad created is not the same as the original
2021-07-22 18:36:18 +0200 <Solid> and linux is smart enough to figure out that the release event comes from two different devices
2021-07-22 18:37:00 +0200 <Solid> the fix is to do something like `sleep 1 && kmonad ...`
2021-07-22 18:37:35 +0200 <Solid> $HEAD should do this automatically
2021-07-22 18:37:57 +0200 <Tisoxin> HEAD?
2021-07-22 18:38:02 +0200 <Solid> the git version
2021-07-22 18:38:22 +0200 <Tisoxin> ah
2021-07-22 18:38:41 +0200 <Tisoxin> all the times its started?
2021-07-22 18:39:33 +0200 <Tisoxin> Or is there a check wether it got interactively invoked or not?
2021-07-22 18:40:47 +0200 <Solid> afaik it's there all the time
2021-07-22 18:41:17 +0200 <Solid> (300ms by default or something)
2021-07-22 18:41:19 +0200 <Solid> but it's configurable via the config file at least
2021-07-22 18:41:30 +0200 <Tisoxin> ok
2021-07-22 18:41:42 +0200 <Solid> ah and with a CL argument as well
2021-07-22 18:41:48 +0200 <Solid> -w or --start-delay
2021-07-22 18:42:03 +0200 <Tisoxin> yes its 300ms
2021-07-22 21:23:59 +0200 <contrapunctus> I wrote a gemlog post about kmonad. gemini://tilde.team/~contrapunctus/gemlog/keyboard-machinations-kmonad.gmi
2021-07-22 21:24:39 +0200 <contrapunctus> (If you don't have a Gemini client, see https://tilde.team/~contrapunctus )
2021-07-22 21:25:40 +0200 <Tisoxin> Do you know System Crafters?
2021-07-22 21:27:10 +0200 <Tisoxin> apart from that: lol, now i know two musicians, that enjoy programming
2021-07-22 21:28:38 +0200 <contrapunctus> Tisoxin: Never heard of System Crafters...what about them? :)
2021-07-22 21:29:17 +0200 <Tisoxin> It's an youtube channel, mainly about emacs, but he made a video about gemini as well
2021-07-22 21:29:37 +0200 <Tisoxin> That's why wondered, whether you were inspired by him to use Gemini
2021-07-22 21:31:54 +0200 <Tisoxin> „small-yet-active community“
2021-07-22 21:31:57 +0200 <Tisoxin> :]
2021-07-22 21:32:40 +0200 <Tisoxin> It's more or less just Solid and me, the other guys are either inactive or on discord
2021-07-22 21:37:16 +0200 <Tisoxin> nice blog post
2021-07-22 21:39:09 +0200 <contrapunctus> thanks :) really glad to have found this tool and for the help in getting it up. The possibilities are really exciting.
2021-07-22 21:39:48 +0200 <Tisoxin> yes (though it the config language could be better)
2021-07-22 21:39:51 +0200 <Solid> The plan still is to bridge to discord (sigh) at some point
2021-07-22 21:39:57 +0200 <Solid> which may make this place more lively
2021-07-22 21:40:04 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7)
2021-07-22 21:40:10 +0200 <SomeRandomDude> hello
2021-07-22 21:40:14 +0200 <Tisoxin> hi
2021-07-22 21:40:23 +0200 <SomeRandomDude> can somebody help me with installation?
2021-07-22 21:40:38 +0200 <SomeRandomDude> i install the kmonad-bin packaged
2021-07-22 21:40:45 +0200 <SomeRandomDude> what do i do now?
2021-07-22 21:40:46 +0200 <Tisoxin> i guess
2021-07-22 21:40:47 +0200 <Tisoxin> i can
2021-07-22 21:41:13 +0200 <Tisoxin> Which OS are you using?
2021-07-22 21:41:16 +0200 <SomeRandomDude> arch
2021-07-22 21:41:36 +0200 <SomeRandomDude> i have a kmonad config for colemak dh
2021-07-22 21:42:05 +0200 <SomeRandomDude> i dont know where to place the kmonad scripts
2021-07-22 21:42:17 +0200 <Tisoxin> Well then you should be able to use kmonad with `kmonad $CONFIGFILE`
2021-07-22 21:42:49 +0200 <SomeRandomDude> without running the services?
2021-07-22 21:43:06 +0200 <SomeRandomDude> like theres the run file and the kmonad.service file given
2021-07-22 21:43:16 +0200 <Tisoxin> Solid: I'm still sceptical, if bridging wouldn't just kill this community
2021-07-22 21:43:28 +0200 <Tisoxin> hm
2021-07-22 21:44:04 +0200 <Tisoxin> If you use the systemd service, the location of the file should be described in the installation explanation™
2021-07-22 21:45:18 +0200 <SomeRandomDude> yeah the run file in asked to be in /etc/sv/kmonad
2021-07-22 21:45:24 +0200 <SomeRandomDude> but what about the .service file
2021-07-22 21:46:29 +0200 <Tisoxin> I guess just your standard systemd directory
2021-07-22 21:46:37 +0200 <Tisoxin> But i use NixOS, so i can't help you any further
2021-07-22 21:47:03 +0200 <Tisoxin> https://wiki.archlinux.org/title/Systemd#Writing_unit_files
2021-07-22 21:47:24 +0200 <Solid> SomeRandomDude: the run file is in case you use the runit init system
2021-07-22 21:47:31 +0200 <Solid> you don't need it with systemd
2021-07-22 21:47:48 +0200 <SomeRandomDude> ohh
2021-07-22 21:48:00 +0200 <Tisoxin> You probably should place the service file in the directory `/usr/lib/systemd/system/`
2021-07-22 21:48:16 +0200 <SomeRandomDude> oh
2021-07-22 21:49:54 +0200 <Solid> Tisoxin: "kill" in what sense?
2021-07-22 21:50:10 +0200 <SomeRandomDude> also about this
2021-07-22 21:50:11 +0200 <SomeRandomDude> Make sure the uinput device file has the right permissions: Add a udev rule (in either /etc/dev/rules.d or /lib/udev/rules.d) with the following content:
2021-07-22 21:50:12 +0200 <SomeRandomDude> KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinp
2021-07-22 21:50:21 +0200 <SomeRandomDude> do i just make a random file name or is there a syntax
2021-07-22 21:51:02 +0200 <Solid> afaik there has to be a .rules suffix
2021-07-22 21:51:12 +0200 <Solid> but other than that you should be able to name it anything you want
2021-07-22 21:51:21 +0200 <SomeRandomDude> oh thanks
2021-07-22 21:52:03 +0200 <Tisoxin> Solid: Like maybe, „come on the discord, we already talked about this here and there“
2021-07-22 21:52:08 +0200 <Tisoxin> But I donno
2021-07-22 21:52:13 +0200 <Solid> ah I see
2021-07-22 21:52:32 +0200 <Tisoxin> Maybe It's just that i hate discord and i'm much to subjective on this matter
2021-07-22 21:52:37 +0200 <Tisoxin> ¯\_(ツ)_/¯
2021-07-22 21:52:49 +0200 <Solid> can't have enough hate for discord really :P
2021-07-22 21:57:50 +0200 <SomeRandomDude> do i make a new rules file?
2021-07-22 21:57:59 +0200 <SomeRandomDude> i dont wanna fuck things up
2021-07-22 21:58:03 +0200 <SomeRandomDude> :/
2021-07-22 21:58:26 +0200 <Tisoxin> (obligatoric NixOS Advertise)
2021-07-22 21:58:33 +0200 <Tisoxin> :p
2021-07-22 21:58:38 +0200 <Solid> both options are fine
2021-07-22 21:58:50 +0200 <Solid> if you already have a rules file that all input rules reside in just add it there
2021-07-22 21:58:57 +0200 <Solid> if not then making a new file works as well
2021-07-22 21:59:25 +0200 <SomeRandomDude> well there are lots of rules file in the /lib/udev/rules.d dir
2021-07-22 21:59:34 +0200 <SomeRandomDude> but idk whats the right one
2021-07-22 21:59:52 +0200 <SomeRandomDude> maybe the udev-defaults
2021-07-22 21:59:54 +0200 <Tisoxin> then just add a new one
2021-07-22 22:01:05 +0200 <SomeRandomDude> ok i added the file im gonna restart
2021-07-22 22:01:10 +0200 <SomeRandomDude> i will come back in 2 mins
2021-07-22 22:01:13 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7) (Quit: Client closed)
2021-07-22 22:02:49 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7)
2021-07-22 22:02:56 +0200 <SomeRandomDude> hmm
2021-07-22 22:03:09 +0200 <SomeRandomDude> its still showing permission denies
2021-07-22 22:03:34 +0200 <Tisoxin> have added your user to the uinput and input group?
2021-07-22 22:03:39 +0200 <SomeRandomDude> yeah
2021-07-22 22:03:53 +0200 <SomeRandomDude> d
2021-07-22 22:04:29 +0200 <SomeRandomDude> kmonad /dev/input/by-path/kdfjkd-kbd openFd permission denied
2021-07-22 22:09:22 +0200 <Tisoxin> SomeRandomDude: Maybe try starting kmonad with verbose logging
2021-07-22 22:09:28 +0200 <Tisoxin> (on the command line)
2021-07-22 22:12:46 +0200 <SomeRandomDude> how to do that?
2021-07-22 22:13:10 +0200 <SomeRandomDude> what value to pass in -l flag
2021-07-22 22:13:40 +0200 <Tisoxin> i'm not sure, i don't actually have kmonad installed…
2021-07-22 22:13:43 +0200Tisoxinruns
2021-07-22 22:14:04 +0200 <Tisoxin> hm
2021-07-22 22:14:12 +0200 <Tisoxin> use debug
2021-07-22 22:15:46 +0200 <SomeRandomDude> Opening KeySink
2021-07-22 22:15:46 +0200 <SomeRandomDude> Registering Uinput device
2021-07-22 22:15:47 +0200 <SomeRandomDude> Opening KeySource
2021-07-22 22:15:47 +0200 <SomeRandomDude> Closing KeySink
2021-07-22 22:15:48 +0200 <SomeRandomDude> Unregistering Uinput device
2021-07-22 22:15:48 +0200 <SomeRandomDude> Closing Uinput device file
2021-07-22 22:15:49 +0200 <SomeRandomDude> kmonad: /dev/input/by-path/platform-i8042-serio-0-event-kbd: openFd: permission denied (Permission denied)
2021-07-22 22:16:10 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7) (Quit: Client closed)
2021-07-22 22:16:45 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7)
2021-07-22 22:17:59 +0200 <SomeRandomDude> so i tried running kmonad.service file through systemd
2021-07-22 22:18:07 +0200 <SomeRandomDude> it still does not work :(
2021-07-22 22:18:29 +0200 <Tisoxin> do you get the same output, if you run it with your user?
2021-07-22 22:18:34 +0200 <Tisoxin> *when
2021-07-22 22:19:10 +0200 <Tisoxin> apart from that, are you sure you are in the uinput and input group?
2021-07-22 22:19:24 +0200 <Tisoxin> (check with the `group` command, without sudo)
2021-07-22 22:19:42 +0200 <Tisoxin> (not the `group` but the `groups` command)
2021-07-22 22:20:39 +0200 <SomeRandomDude> i have only added myself to uinput group
2021-07-22 22:20:50 +0200 <SomeRandomDude> is the input group required too?
2021-07-22 22:20:59 +0200 <Tisoxin> yes
2021-07-22 22:21:10 +0200 <SomeRandomDude> ohk i will make it
2021-07-22 22:22:06 +0200 <Tisoxin> i guess the installation documentation is insufficient
2021-07-22 22:22:12 +0200 <Tisoxin> sigh
2021-07-22 22:22:47 +0200 <SomeRandomDude> yeah
2021-07-22 22:22:52 +0200 <SomeRandomDude> its still showing the same thing
2021-07-22 22:22:56 +0200 <SomeRandomDude> permission denied
2021-07-22 22:23:04 +0200 <Tisoxin> did you reboot?
2021-07-22 22:23:07 +0200 <Tisoxin> i think you need to
2021-07-22 22:23:13 +0200 <Tisoxin> though i'm not sure
2021-07-22 22:23:25 +0200 <Tisoxin> does `groups` show uinput as well as input?
2021-07-22 22:23:43 +0200 <SomeRandomDude> groups shows only uinput
2021-07-22 22:23:52 +0200 <Tisoxin> then you need to reboot
2021-07-22 22:23:59 +0200 <Tisoxin> or relog
2021-07-22 22:24:03 +0200 <SomeRandomDude> ok i will be back
2021-07-22 22:24:08 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7) (Quit: Client closed)
2021-07-22 22:27:06 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7)
2021-07-22 22:27:11 +0200 <SomeRandomDude> Hey Im Back
2021-07-22 22:27:19 +0200 <SomeRandomDude> It works now
2021-07-22 22:27:26 +0200 <Tisoxin> nice
2021-07-22 22:27:31 +0200 <SomeRandomDude> thanks for helping
2021-07-22 22:27:39 +0200 <SomeRandomDude> :)
2021-07-22 22:27:45 +0200 <Tisoxin> np
2021-07-22 22:29:44 +0200Tisoxinsighs in Haskell Confusion
2021-07-22 22:31:12 +0200 <Solid> this does not really seem haskell related
2021-07-22 22:31:29 +0200 <Solid> (and if the install instructions are wrong please pr a fix :))
2021-07-22 22:31:31 +0200 <Tisoxin> yes
2021-07-22 22:32:00 +0200 <Tisoxin> I think the problem is, that there is, that the systmd file is not actually documented
2021-07-22 22:32:17 +0200 <Solid> ah I see
2021-07-22 22:32:23 +0200 <Tisoxin> My haskell confusion is also not rooted in their problem
2021-07-22 22:33:00 +0200 <Tisoxin> i'm currently reading the typeclassopedia
2021-07-22 22:33:23 +0200 <Tisoxin> „((.) ($ f) (flip ($)))“
2021-07-22 22:34:19 +0200 <Solid> lol
2021-07-22 22:35:51 +0200 <Tisoxin> the flip ($) is the worst
2021-07-22 22:36:13 +0200 <Tisoxin> though alone it's still comprehensible
2021-07-22 22:36:19 +0200 <Tisoxin> but in combination with (.)…
2021-07-22 22:40:50 +0200 <Solid> x)
2021-07-22 22:40:56 +0200 <Solid> (&) reads a bit nicer than flip ($)
2021-07-22 22:41:15 +0200 <Solid> @pointful ((.) ($ f) (flip ($)))
2021-07-22 22:41:15 +0200 <lambdabot> f
2021-07-22 22:41:21 +0200SomeRandomDude(~SomeRando@2405:201:5c04:f137:3452:dd96:e675:9a7) (Quit: Client closed)
2021-07-22 22:41:23 +0200 <Tisoxin> one could also write ↑
2021-07-22 22:41:24 +0200 <Solid> oh that's prety neat
2021-07-22 22:41:28 +0200 <Tisoxin> :D
2021-07-22 22:42:15 +0200 <Tisoxin> I tried to prove „pure f <*> x = pure (flip ($)) <*> x <*> pure f“
2021-07-22 22:43:01 +0200 <Tisoxin> * `pure f <*> x = pure (flip ($)) <*> x <*> pure f`
2021-07-22 22:44:51 +0200 <Solid> looks true
2021-07-22 22:45:05 +0200 <Tisoxin> it is
2021-07-22 22:45:56 +0200 <Tisoxin> Why did i even use those Applicative laws
2021-07-22 22:45:58 +0200 <Tisoxin> ._.
2021-07-22 22:46:14 +0200 <Tisoxin> If i look at it, its pretty obviously true
2021-07-22 22:46:27 +0200 <Solid> :D
2021-07-22 22:46:54 +0200 <Tisoxin> well, the more you learn…
2021-07-22 22:47:00 +0200 <Solid> It may also be easier to look at `pure ($) <*> pure f <*> x` instead of wrapping your head around flip
2021-07-22 22:47:22 +0200 <Solid> well actually
2021-07-22 22:47:26 +0200 <Tisoxin> yes, but that was the exercise…
2021-07-22 22:47:37 +0200 <Tisoxin> * not the exercise
2021-07-22 22:47:46 +0200 <Solid> let's just do `($) <$> pure f <*> x` to really make it clear
2021-07-22 22:48:40 +0200 <Tisoxin> or `f <$> x` :>
2021-07-22 22:48:44 +0200 <Solid> :D
2021-07-22 22:49:21 +0200 <Tisoxin> sometimes, haskell is great at doing easy things complicated
2021-07-22 22:50:26 +0200 <Tisoxin> though that particular example wasn't exactly haskells fault
2021-07-22 22:51:19 +0200 <Tisoxin> But that's just the trade-off from having high abstractions i suppose
2021-07-22 22:52:33 +0200 <Solid> I mean if you ever see someone trying to define f as ((.) ($ f) (flip ($))) then please slap that person :D
2021-07-22 22:53:16 +0200 <Solid> but yeah these are just exercises to familiarise you with the laws for these functors
2021-07-22 22:53:32 +0200 <Solid> don't worry, you'll forget them in a few days :P
2021-07-22 22:53:46 +0200 <Tisoxin> :]
2021-07-22 22:53:57 +0200 <Tisoxin> <Solid "I mean if you ever see someone t"> i will, i will
2021-07-22 22:55:07 +0200Tisoxinwill use somewhere in his next haskell project ((.) ($ f) (flip ($))) instead of f :>
2021-07-22 22:55:30 +0200 <Solid> x)
2021-07-22 23:08:28 +0200 <Tisoxin> <Tisoxin "sometimes, haskell is great at d"> on a second thought, that's not really true
2021-07-22 23:08:42 +0200 <Tisoxin> since the complicated bits are also the abstract ones
2021-07-22 23:10:14 +0200 <Tisoxin> and abstraction is often intuitive but most of the time hard to understand completely