2021/08/09

2021-08-09 06:58:51 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42) (*.net *.split)
2021-08-09 06:59:05 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42)
2021-08-09 07:02:37 +0200wolficefang[m](~wolficefa@2001:470:69fc:105::a3f1) (Ping timeout: 245 seconds)
2021-08-09 07:02:58 +0200Tisoxin(~ikosit@user/ikosit) (Ping timeout: 240 seconds)
2021-08-09 07:03:01 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42) (Ping timeout: 272 seconds)
2021-08-09 07:03:14 +0200contessa(~contessa@2001:470:69fc:105::a9f) (Ping timeout: 268 seconds)
2021-08-09 07:06:18 +0200fap[m](~fapmatrix@2001:470:69fc:105::cd11) (Ping timeout: 276 seconds)
2021-08-09 07:06:44 +0200gk[m](~annapriva@2001:470:69fc:105::1608) (Ping timeout: 272 seconds)
2021-08-09 07:17:21 +0200wolficefang[m](~wolficefa@2001:470:69fc:105::a3f1)
2021-08-09 07:18:14 +0200contessa(~contessa@2001:470:69fc:105::a9f)
2021-08-09 07:37:19 +0200gk[m](~annapriva@2001:470:69fc:105::1608)
2021-08-09 07:52:15 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42)
2021-08-09 08:17:19 +0200fap[m](~fapmatrix@2001:470:69fc:105::cd11)
2021-08-09 08:33:23 +0200Tisoxin(~ikosit@user/ikosit)
2021-08-09 14:28:17 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net)
2021-08-09 14:28:49 +0200 <nij-> Hello, I'm using kmonad0.4.1-2 https://aur.archlinux.org/packages/kmonad-bin
2021-08-09 14:29:08 +0200 <Tisoxin> hello again
2021-08-09 14:29:15 +0200 <nij-> While I run `kmonad ./tutorial.kbd -d`, where tutorial us taken from https://github.com/kmonad/kmonad/blob/master/keymap/tutorial.kbd
2021-08-09 14:29:54 +0200 <nij-> I got the error https://bpa.st/KFMA
2021-08-09 14:29:55 +0200 <Tisoxin> The tutorial uses features not yet available in a release (iirc)
2021-08-09 14:30:27 +0200 <Tisoxin> `cmq-seq-delay` is one of those features afaik
2021-08-09 14:32:24 +0200 <nij-> I see. I will comment out the unsupported features and try again.
2021-08-09 14:32:35 +0200 <Tisoxin> nij-: If you want to use those features anyway, you should build kmonad manually
2021-08-09 14:32:47 +0200 <Tisoxin> E.g. with stack
2021-08-09 14:33:06 +0200 <Tisoxin> https://github.com/kmonad/kmonad/blob/master/doc/installation.md#using-stack
2021-08-09 14:33:41 +0200 <nij-> Anyway to use cabel?
2021-08-09 14:33:53 +0200 <Tisoxin> i think cabal should work as well
2021-08-09 14:34:42 +0200 <Tisoxin> `cabal install all` should install kmonad (when you execute it from kmonad's git repository)
2021-08-09 14:35:12 +0200 <Tisoxin> It'll probably install it in ~/.local/bin
2021-08-09 14:35:28 +0200 <nij-> Lemme see. I remember cabal is less disk space consuming.
2021-08-09 14:35:44 +0200 <nij-> Haven't used the haskell build infrastructure for a while.
2021-08-09 14:36:55 +0200Tisoxinuses cabal as well
2021-08-09 14:39:05 +0200 <nij-> Could you remind the difference..? IIRC stack pull a copy into a project, while cabal (v2) symlink the libs needed for a project right?
2021-08-09 14:39:18 +0200 <Tisoxin> hm
2021-08-09 14:40:17 +0200 <Tisoxin> I actually know nothing about such a difference…
2021-08-09 14:40:29 +0200 <Tisoxin> Afaik, stack is a wrapper around cabal
2021-08-09 14:40:31 +0200 <Solid> the new cabal commands are about as sandboxed as stack is, so I doubt there's much of a space difference
2021-08-09 14:40:37 +0200 <Tisoxin> At least that's what i thought
2021-08-09 14:40:59 +0200 <Tisoxin> Solid: They use nix, aren't they?
2021-08-09 14:41:17 +0200 <nij-> I see. Most likely I have messed up with my memory. I will use cabal if I need the latest version. For now I just want to see kmonad to be effecitve xD
2021-08-09 14:41:36 +0200 <Solid> nij-: you can check out the release tag on github
2021-08-09 14:41:45 +0200 <Solid> that tutorial should then work with the version you have
2021-08-09 14:42:45 +0200 <Solid> ( https://github.com/kmonad/kmonad/blob/0.4.1/keymap/tutorial.kbd )
2021-08-09 14:43:17 +0200 <nij-> Ah ha good idea. Thanks Solid!
2021-08-09 14:45:05 +0200 <nij-> After modprobing uinput, I still get the following from `kmonad tutorial.kbd`
2021-08-09 14:45:15 +0200 <nij-> kmonad: /dev/uinput: openFd: permission denied (Permission denied)
2021-08-09 14:45:24 +0200 <nij-> Does that mean I should run kmonad as root?
2021-08-09 14:45:30 +0200 <Tisoxin> No
2021-08-09 14:45:44 +0200 <Tisoxin> are you in the uinput group?
2021-08-09 14:45:56 +0200 <Tisoxin> (you can run it with root)
2021-08-09 14:47:00 +0200 <Tisoxin> You have to be in the uinput and the input group to run kmonad without root
2021-08-09 14:47:54 +0200 <Tisoxin> (Which could be a security issue)
2021-08-09 14:48:31 +0200 <nij-> $ usermod -a -G uinput nij \\=> usermod: group 'uinput' does not exist
2021-08-09 14:48:49 +0200 <Tisoxin> You need to add a udev rule first
2021-08-09 14:49:47 +0200 <Tisoxin> # KMonad user access to /dev/uinput
2021-08-09 14:49:47 +0200 <Tisoxin> KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
2021-08-09 14:50:12 +0200 <nij-> Wait.. is this in the tutorial?
2021-08-09 14:50:22 +0200 <Tisoxin> hmm
2021-08-09 14:50:43 +0200 <nij-> Oh in the q&a found!
2021-08-09 14:51:02 +0200 <Tisoxin> The installation instructions could be bettter
2021-08-09 14:51:19 +0200 <Tisoxin> atm its only mentioned in the instructions for NixOS and Guix
2021-08-09 14:53:30 +0200 <Tisoxin> <Tisoxin> "(Which could be a security issue" <- Though every program you run on your normal user could just put an alias for sudo in your bashrc … so i guess, if a malicious program wants to use the input group it could just as well use it with root…
2021-08-09 14:55:03 +0200 <nij-> Not sure if I report it here.
2021-08-09 14:55:20 +0200 <nij-> Have followed FAQ: https://github.com/kmonad/kmonad/blob/master/doc/faq.md "Add a udev rule (in either /etc/dev/rules.d or /lib/udev/rules.d) ..."
2021-08-09 14:55:39 +0200 <nij-> I added a rule in /lib/udev/rules.d and modprobe.. the problem persists.
2021-08-09 14:55:52 +0200 <nij-> Now I'm going to try adding a rul in /etc/dev/rules.d
2021-08-09 14:56:07 +0200 <nij-> (but on my machine there's just /etc/udev/rules.d..)
2021-08-09 14:56:42 +0200 <nij-> Not sure what to do now \@_@/
2021-08-09 14:57:31 +0200 <Tisoxin> Those `modinfo uinput` throw an error?
2021-08-09 14:58:02 +0200 <Tisoxin> *Does
2021-08-09 14:58:58 +0200 <Tisoxin> Are you in the uinput/input groups? (check with the command `groups`)
2021-08-09 14:59:44 +0200 <nij-> OH I see not yet. But I have added myself to the group. Maybe I need to reboot.
2021-08-09 15:00:01 +0200 <Tisoxin> you probably only need to relog
2021-08-09 15:00:32 +0200 <nij-> Lemme do that! Thank you Tisoxin
2021-08-09 15:00:36 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Remote host closed the connection)
2021-08-09 15:00:37 +0200 <Tisoxin> np
2021-08-09 15:04:31 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net)
2021-08-09 15:05:05 +0200 <nij-> Rebooted actually, just to make sure.
2021-08-09 15:05:15 +0200 <Tisoxin> does it work?
2021-08-09 15:05:28 +0200 <nij-> Now the error is kmonad: /dev/input/by-path/platform-i8042-serio-0-event-kbd: openFd: permission denied (Permission denied)
2021-08-09 15:05:46 +0200 <nij-> But notice that I have changed the tutorial
2021-08-09 15:05:47 +0200 <Tisoxin> are you in the input group?
2021-08-09 15:05:56 +0200 <nij-> to => (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
2021-08-09 15:06:10 +0200 <nij-> Yes, `groups` comfirms that I'm in uinput.
2021-08-09 15:06:36 +0200 <Tisoxin> i should have made it clearer, but you need to be in both uinput and input
2021-08-09 15:06:44 +0200 <Tisoxin> uinput to read and input to write
2021-08-09 15:06:48 +0200 <nij-> I see! Lemme do that and reboot.
2021-08-09 15:07:03 +0200 <nij-> Oh actually FAQ says that "If the uinput group does not exist, check whether your system has an input group and try adding your user to that one instead. If this does not work, create a new group with:"
2021-08-09 15:07:10 +0200 <nij-> Lemme do it. thanks for your patience!
2021-08-09 15:07:43 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Remote host closed the connection)
2021-08-09 15:07:48 +0200 <Tisoxin> hm
2021-08-09 15:07:57 +0200 <Tisoxin> The faq is to unclear there
2021-08-09 15:08:15 +0200 <Solid> (contributions welcome)
2021-08-09 15:08:17 +0200 <Solid> :>
2021-08-09 15:08:20 +0200 <Tisoxin> At least i don't know of a distro that has the uinput group by default
2021-08-09 15:08:35 +0200 <Tisoxin> Solid: I can't be bothered right now :3
2021-08-09 15:08:40 +0200 <Solid> hah
2021-08-09 15:08:48 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net)
2021-08-09 15:08:59 +0200 <nij-> It werks! Now the party begins :)
2021-08-09 15:09:05 +0200 <Tisoxin> :]
2021-08-09 15:09:19 +0200 <Solid> maybe we can rope nij- into contributing then :D
2021-08-09 15:09:38 +0200 <nij-> By modding the FAQ?
2021-08-09 15:09:44 +0200 <nij-> I'm not good at all at haskell...
2021-08-09 15:09:57 +0200 <nij-> I am very curious about how kmonad does its magic though.
2021-08-09 15:09:57 +0200 <Solid> Don't have to know haskell to make a doc change :)
2021-08-09 15:10:18 +0200 <Tisoxin> hm
2021-08-09 15:10:24 +0200 <nij-> One thing to be sure
2021-08-09 15:10:36 +0200 <nij-> IN https://github.com/kmonad/kmonad/blob/master/doc/faq.md it mentions /etc/dev/rules.d
2021-08-09 15:10:44 +0200 <nij-> Does it mean /etc/udev/rules.d instead?
2021-08-09 15:10:57 +0200 <Tisoxin> I wonder if kmonad's interior is frp based
2021-08-09 15:11:11 +0200 <Tisoxin> It's too long, since the last time a took a look at the code
2021-08-09 15:11:36 +0200 <Solid> nij-: I would imagine so
2021-08-09 15:11:38 +0200 <Tisoxin> nij-: Probably
2021-08-09 15:11:50 +0200 <Tisoxin> At least i don't have a "/etc/dev" path
2021-08-09 15:15:09 +0200 <Tisoxin> Solid: Is the forall in `type AnyK a = forall m. MonadK m => m a` actually needed?
2021-08-09 15:16:46 +0200 <Solid> Tisoxin: what would you write instead?
2021-08-09 15:17:23 +0200 <Tisoxin> hm
2021-08-09 15:17:26 +0200 <Solid> Have to get the `m` from somewhere
2021-08-09 15:18:03 +0200 <Tisoxin> ok, that generates sense
2021-08-09 15:18:16 +0200 <Solid> (this is called an existential type and it's a pretty neat idea to encode stuff)
2021-08-09 15:23:12 +0200 <nij-> https://github.com/kmonad/kmonad/pull/329
2021-08-09 15:23:13 +0200 <nij-> Done
2021-08-09 15:23:19 +0200 <nij-> Thanks for all your help :)
2021-08-09 15:25:26 +0200 <Tisoxin> nij-: i like
2021-08-09 15:28:21 +0200 <nij-> Solid: last time I asked how possibly can kmonad be so portable - it even works on Windows!
2021-08-09 15:28:32 +0200 <nij-> IIRC your answer is that it hacks uinput directly..
2021-08-09 15:28:41 +0200 <nij-> But it seems that uinput is linux specific.
2021-08-09 15:28:56 +0200 <Tisoxin> it is
2021-08-09 15:29:14 +0200 <Tisoxin> It's just that the concept of keycode is very uniform across the platforms
2021-08-09 15:29:22 +0200 <Tisoxin> *keycodes
2021-08-09 15:33:06 +0200 <Solid> yeah the actual way to get the keycodes is a very small part of the whole process
2021-08-09 15:33:33 +0200 <Solid> after that it's more or less put into the same representation and only converted back to env-specific instructions once we're sending the keycode
2021-08-09 15:34:48 +0200 <nij-> Gotcha! So cool.
2021-08-09 15:35:43 +0200 <Solid> I wish we were more portable though (e.g. instead of windows I wish we'd support the BSDs :>)
2021-08-09 15:37:34 +0200 <nij-> So many standards.. :( :(
2021-08-09 15:38:20 +0200 <Solid> indeed
2021-08-09 15:38:47 +0200 <Solid> though it's probably not even all that difficult, I reckon most of the linux syscalls we use have equivalences on the bsds
2021-08-09 15:39:00 +0200 <Solid> just a matter of getting a bsd user interested enough in the project to contribute :)
2021-08-09 15:39:19 +0200 <nij-> :>
2021-08-09 15:39:33 +0200 <nij-> Now kmonads work for my tutor.kbd.
2021-08-09 15:39:49 +0200 <nij-> I see there's one block of defsrc, and many deflayers.
2021-08-09 15:40:03 +0200 <nij-> What should I do to "enable" a particular layer?
2021-08-09 15:40:25 +0200 <nij-> For example, there's a layer called symbols: `(deflayer symbols ..`
2021-08-09 15:41:12 +0200 <Solid> there are different buttons for that, like `layer-switch`, that take the layer name and toggle (or permanently switch) you to it
2021-08-09 15:41:39 +0200 <Solid> the `defsrc` is for kmonad to understand your keyboard layout, the first `deflayer` will be the layout you start with
2021-08-09 15:42:14 +0200 <Solid> think of this as a stack after that; you can put a new layer on top of the stack, at which point you'll have to pop it to go back down
2021-08-09 15:42:27 +0200 <nij-> OH! I see :)
2021-08-09 15:44:54 +0200 <nij-> Oh my god. Yes! Yes! :) It all clicks now. Thanks :D
2021-08-09 15:45:41 +0200 <nij-> I'm pretty closed to my journey to start learning APL. Excited!
2021-08-09 15:49:36 +0200 <nij-> So.. to find out what "rmet" is, I go to Keycode.hs, and find that it matches to "KeyRightMeta".
2021-08-09 15:49:55 +0200 <nij-> However, how do I find which physical key to press in order to fire "KeyRightMeta"?
2021-08-09 15:50:46 +0200 <Solid> `evtest` should show you which keycode the key you pressed corresponds to
2021-08-09 15:54:59 +0200 <nij-> Indeed <3 I can write up a tutorial for this too. Thanks so much :) :)
2021-08-09 15:55:17 +0200 <Solid> That'd be much appreciated
2021-08-09 15:55:26 +0200Solidshould really take a more active role in development
2021-08-09 15:56:23 +0200 <nij-> kmonad has been tremendous. I think it needs more recognition.
2021-08-09 15:56:45 +0200 <nij-> It was such a pain to configure key using xmodkbr or its friends. I'm glad.
2021-08-09 15:59:23 +0200 <Solid> indeed, the horror of xmodmap files also drove me to this project :)
2021-08-09 17:39:15 +0200Tisoxinwould also like to contribute actively
2021-08-09 17:39:46 +0200 <Tisoxin> I just don't have enough time atm :/
2021-08-09 17:40:13 +0200 <Tisoxin> and also I'm not an experienced Haskell programmer
2021-08-09 17:40:17 +0200 <Tisoxin> (Though that's not such a big problem)
2021-08-09 17:55:48 +0200 <nij-> Hm. But what else do we need from kmonad? I though mose features are there already?
2021-08-09 18:02:06 +0200 <Tisoxin> mose?
2021-08-09 18:02:09 +0200 <Tisoxin> well, there are a ton of features i'd like to see (especially changing the config syntax)
2021-08-09 18:02:23 +0200 <Tisoxin> a ton™
2021-08-09 18:08:07 +0200 <Tisoxin> e.g.:
2021-08-09 18:08:07 +0200 <Tisoxin> - satisfying unicode support
2021-08-09 18:08:07 +0200 <Tisoxin> - signals (i'd like to have a client application to the kmonad daemon, with which i can send signals to the deamon)
2021-08-09 18:08:07 +0200 <Tisoxin> - better config syntax (this includes also lots of buttons i'd like to have)
2021-08-09 18:08:15 +0200 <Tisoxin> I guess that's all of it
2021-08-09 18:09:06 +0200 <Tisoxin> It's a very small list, but every item is a huge task
2021-08-09 18:24:54 +0200 <nij-> signals - what's a client application?
2021-08-09 18:25:13 +0200 <nij-> better config syntax what's a button that's lacking now?
2021-08-09 18:27:22 +0200 <Tisoxin> nij-: Kmonad normally runs as a daemon ("server"), so i'd name an application that can talk to it "client"
2021-08-09 18:28:07 +0200 <Tisoxin> (a bit like dunstctl)
2021-08-09 18:28:17 +0200 <Tisoxin> nij-: E.g. once i wanted to apply a modifier to all buttons in a layer apart from a few
2021-08-09 18:30:55 +0200 <Tisoxin> nij-: I also dislike that the first layer definition is the base layer
2021-08-09 18:32:03 +0200 <Tisoxin> (Though that's just a minor detail)
2021-08-09 18:32:15 +0200 <Tisoxin> nij-: If you take a look at the issues, you'll also see that there are many buttons one could implement
2021-08-09 18:35:07 +0200 <nij-> I see. Is it easy to make a server in haskell?!
2021-08-09 18:35:24 +0200 <nij-> So people can change the state on the fly?
2021-08-09 18:35:30 +0200 <Tisoxin> https://github.com/kmonad/kmonad/issues/237
2021-08-09 18:36:04 +0200 <nij-> By the way.. I'm trying to add esc and f1 into defsrc, but I don't know which symbol it corresponds.
2021-08-09 18:36:13 +0200 <Tisoxin> nij-: depends on what you mean with server
2021-08-09 18:36:54 +0200 <Tisoxin> It's pretty easy to create a web server
2021-08-09 18:37:02 +0200 <nij-> Tisoxin: I'd imagine it's like a ghci, which the user can alter on live.
2021-08-09 18:37:18 +0200 <Tisoxin> Also it's not that hard to create a ffi interface
2021-08-09 18:37:28 +0200 <Tisoxin> Though it seems like there is no package for cross-platform interprocess communication (for haskell)
2021-08-09 18:37:33 +0200 <Tisoxin> nij-: should be just esc/f1
2021-08-09 18:38:09 +0200 <Tisoxin> nij-: that's not really what i meant
2021-08-09 18:38:22 +0200 <nij-> But it's not in the list - https://github.com/kmonad/kmonad/blob/master/src/KMonad/Keyboard/Keycode.hs#L353
2021-08-09 18:38:41 +0200 <Tisoxin> More like a "kmonadctl send $SIGNAL"
2021-08-09 18:38:44 +0200 <Tisoxin> Where $SIGNAL could be a keycode or sth
2021-08-09 18:39:13 +0200 <nij-> Ah I see.
2021-08-09 18:39:44 +0200 <Tisoxin> nij-: those names seem to be aliases instead of the normal names
2021-08-09 18:40:29 +0200 <nij-> ? For example, in `(KeyCompose, ["comp", "cmps", "cmp"])` I know that I can refer to KeyCompose with the symbol `cmp`.
2021-08-09 18:40:40 +0200 <nij-> But for KeyEsc, what should I do?
2021-08-09 18:41:17 +0200 <Solid> every key gets an automatic alias without the `Key` at the start and with a lower-case first letter
2021-08-09 18:41:41 +0200 <Solid> e.g. `KeyName` automatically gets the alias `name`
2021-08-09 18:41:45 +0200 <Tisoxin> nij-: For the other keys, kmonad apparently just takes the constructor (like `KeyEsc`) and drops the first three letters and makes the name lowercase
2021-08-09 18:41:56 +0200 <Solid> the other aliases are simply additional
2021-08-09 18:42:22 +0200 <Solid> r.e. what we'd like to change: I think the way we handle keycodes needs to be fundamentally reworked
2021-08-09 18:42:45 +0200 <Solid> right now we only see what real button was pressed, but don't know what this corresponds to in the currently selected layer
2021-08-09 18:43:02 +0200 <Solid> this makes it basically impossible to do things like chaining sticky keys (which is a feature that people would like to see)
2021-08-09 18:43:37 +0200 <Solid> further, instead of having crazy button names like tap-hold-next-release it would be much more ergonomic to have a small set of primitives that can be composed in creative ways
2021-08-09 18:44:45 +0200 <Solid> but first things first, we need to finish the ongoing keycode refactor
2021-08-09 18:44:55 +0200 <Solid> touching any of that stuff right now would not be wise
2021-08-09 18:50:59 +0200 <nij-> I see.
2021-08-09 18:51:12 +0200 <nij-> The potential seems profound :O
2021-08-09 18:51:25 +0200 <Solid> indeed :)
2021-08-09 18:51:44 +0200 <Solid> it helps that kmonad itself it quite a clean codebase, so I don't think any of these would be impossible (although probably not trivial either)
2021-08-09 18:51:55 +0200 <Solid> s/it quite/is quite/
2021-08-09 18:55:59 +0200 <nij-> I wish I know more haskell :D
2021-08-09 18:56:36 +0200 <Solid> ah it's not like I know a lot myself :>
2021-08-09 18:59:25 +0200 <Tisoxin> Solid: …
2021-08-09 18:59:54 +0200 <Tisoxin> You're the 8th contributor to xmonad and the 4th contributor to xmonad-contrib…
2021-08-09 18:59:57 +0200 <Tisoxin> (Though I don't know how github calculates those stats)
2021-08-09 19:00:18 +0200 <Tisoxin> So you must know a bit more than just a bit ≈ a lot
2021-08-09 19:00:26 +0200 <Tisoxin>
2021-08-09 19:00:45 +0200 <Solid> I would imagine number of commits or something
2021-08-09 19:01:02 +0200 <nij-> loo
2021-08-09 19:01:04 +0200 <Solid> and holy shit really?
2021-08-09 19:01:09 +0200 <nij-> LöL
2021-08-09 19:01:15 +0200 <Tisoxin> <Solid> "it helps that kmonad itself it..." <- Unicode is impossible
2021-08-09 19:01:52 +0200 <Solid> huh, apparently you're right, 4th most commits to xmonad-contrib
2021-08-09 19:01:56 +0200 <Tisoxin> :(
2021-08-09 19:01:59 +0200 <Solid> well, that still doesn't mean I know what I'm doing :D
2021-08-09 19:02:22 +0200 <Tisoxin> well, nearly impossible (at least on linux)
2021-08-09 19:02:37 +0200 <Tisoxin> you can do unicode with things like compose (sucks) or input methods (sucks as well)
2021-08-09 19:02:38 +0200 <Solid> unicode is impossible because there simply are no keycodes for it
2021-08-09 19:02:45 +0200 <Tisoxin> compose is the current implementation for linux
2021-08-09 19:02:48 +0200 <Solid> that's not really something we can do anything about
2021-08-09 19:02:56 +0200 <Tisoxin> lol
2021-08-09 19:03:14 +0200 <Tisoxin> nij-: öäu
2021-08-09 19:03:28 +0200 <Tisoxin>
2021-08-09 19:03:29 +0200 <Tisoxin> :]
2021-08-09 19:03:42 +0200 <nij-> I'm configuring kmonad for apl.. surprised that it hasn't been done before.
2021-08-09 19:03:45 +0200 <Tisoxin> Solid: we can upstream unicode keycodes™
2021-08-09 19:03:50 +0200 <Solid> hah
2021-08-09 19:03:57 +0200 <Tisoxin> .o(like anybody cares)
2021-08-09 19:08:03 +0200Tisoxinhas already lots of apl symbols on his keyboard
2021-08-09 19:10:46 +0200 <nij-> https://bpa.st/SEQA
2021-08-09 19:10:57 +0200 <nij-> I've finished the "un-shifted" layer.
2021-08-09 19:11:27 +0200 <nij-> What's a better practice for the shifted apl layer, than defining another layer gnu-apl-shited?
2021-08-09 19:11:31 +0200 <nij-> shifted.. sorry
2021-08-09 19:15:29 +0200 <nij-> Oh no. My config actually doesn't work. For example, kmonad doesn't seem to be happy that I put "◊" in a layer! :(
2021-08-09 19:18:03 +0200contrapunctus(a75f5b1571@2a00:c70:1:178:170:40:189:1) ()
2021-08-09 19:20:27 +0200 <Solid> mh perhaps not
2021-08-09 19:20:47 +0200 <Solid> the compose key sequences we support are in KMonad.Keyboard.ComposeSeq
2021-08-09 19:20:55 +0200 <Solid> if there is one for that symbol and it's just missing feel free to add it
2021-08-09 19:23:03 +0200contrapunctus(a75f5b1571@2a00:c70:1:178:170:40:189:1)
2021-08-09 19:36:11 +0200 <nij-> Should I make a PR?
2021-08-09 19:37:49 +0200 <nij-> So to mimic "("o c" , '©' , "copyright")", what should I put in the first and the third slot for '◊'?
2021-08-09 19:38:27 +0200 <Tisoxin> nij-: You can also just make an alias for a compose sequence
2021-08-09 19:38:32 +0200 <Tisoxin> nij-: If "<>" is supported by the default compose behaviour, i'd add it
2021-08-09 19:39:24 +0200 <Tisoxin> nij-: That's what i described early…
2021-08-09 19:39:29 +0200 <Tisoxin> compose sucks
2021-08-09 19:39:37 +0200 <Tisoxin> (but it's the only way to have unicode on linux)
2021-08-09 19:40:17 +0200 <Tisoxin> nij-: ◊ doesn't seem to be supported by default
2021-08-09 19:40:26 +0200 <Tisoxin> (supported by compose)
2021-08-09 19:40:41 +0200 <Tisoxin> at least not with the compose file i have
2021-08-09 19:40:52 +0200 <Tisoxin> (which could be pretty aged)
2021-08-09 19:42:36 +0200 <nij-> Yeah.. I don't relaly understand.
2021-08-09 19:42:48 +0200 <nij-> What's the easiest way for me to type ◊ now?
2021-08-09 19:42:55 +0200 <nij-> I don't mind making a PR -
2021-08-09 19:43:41 +0200 <nij-> And also.. "⋄" is supported while "◊" is not.
2021-08-09 19:43:46 +0200 <nij-> This makes it trickier :(
2021-08-09 19:43:56 +0200 <Tisoxin> https://wiki.archlinux.org/title/Xorg/Keyboard_configuration#Configuring_compose_key
2021-08-09 19:45:00 +0200 <Tisoxin> nij-: put sth like `<Multi_key> <u> <u> <2> <5> <c> <a> <space> : "◊"` int .XCompose
2021-08-09 19:45:19 +0200 <Tisoxin> *into
2021-08-09 19:46:05 +0200 <Tisoxin> then you can create an alias `@◊ #($MULTI_KEY u u 2 5 c a spc)`
2021-08-09 19:46:17 +0200 <Tisoxin> ↑ multi-key is your compose key
2021-08-09 19:47:14 +0200 <Tisoxin> (probably ralt)
2021-08-09 19:48:58 +0200 <Tisoxin> hm
2021-08-09 19:49:17 +0200 <Tisoxin> With a fancy (bloated) input method (like ibus) you can also use sth like `#(C-S-u 2 5 c a)`
2021-08-09 19:49:23 +0200 <Tisoxin> * `#(C-S-u 2 5 c a spc)`
2021-08-09 19:51:57 +0200 <Tisoxin> nij-: There's a section on the compose key in the tutorial
2021-08-09 19:58:11 +0200 <nij-> Ah, for that I need the latest version :(
2021-08-09 20:13:34 +0200 <Tisoxin> i don't think so
2021-08-09 20:13:44 +0200 <Tisoxin> there's no special syntax
2021-08-09 20:30:21 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Remote host closed the connection)
2021-08-09 21:33:14 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net)
2021-08-09 21:33:32 +0200 <nij-> Tisoxin: Thanks! Finally learned how to use .XCompose..
2021-08-09 21:33:46 +0200 <nij-> Most of the key works now. However, some of them still don't. :(
2021-08-09 21:35:03 +0200 <nij-> For example, in my .XCompose (https://bpa.st/JXXA), the first two don't work, while the rest works \@@/..
2021-08-09 21:46:11 +0200 <Tisoxin> nij-: the second works for me…
2021-08-09 21:46:57 +0200 <nij-> That is very weird @@..
2021-08-09 21:47:16 +0200 <Tisoxin> hm, i think <`> denots not the keysymbol "`"
2021-08-09 21:47:36 +0200 <Tisoxin> but rather the dead key or sth
2021-08-09 21:48:23 +0200 <Tisoxin> replace the "`" with "grave", then it should work
2021-08-09 21:48:48 +0200 <Tisoxin> (it seems "`" is not a keysymbol)
2021-08-09 21:48:48 +0200 <nij-> How about 4.. @@?
2021-08-09 21:49:07 +0200 <Tisoxin> works for me :>
2021-08-09 21:49:24 +0200 <Tisoxin> did you restart your application to test it?
2021-08-09 21:49:38 +0200 <nij-> Yep! Restarted many times.
2021-08-09 21:49:46 +0200 <Tisoxin> hm
2021-08-09 21:50:02 +0200 <Tisoxin> you didn't use your numpad, did you?
2021-08-09 21:51:00 +0200 <nij-> Nope. I'm on a laptop without a numpad. "4" is what I pressed on the number row.
2021-08-09 21:51:35 +0200 <Tisoxin> pls send your whole compose file
2021-08-09 21:52:27 +0200 <Tisoxin> also execute `xev -event keyboard`; press 4 and show me the relevant output
2021-08-09 21:52:40 +0200 <Tisoxin> *tap 4
2021-08-09 21:54:05 +0200 <nij-> output: https://bpa.st/6CIA XCompose: https://bpa.st/Y4YQ
2021-08-09 21:55:35 +0200 <Tisoxin> hm
2021-08-09 21:55:37 +0200 <Tisoxin> weird
2021-08-09 21:56:36 +0200 <nij-> kmonad config: https://bpa.st/EGTA
2021-08-09 21:56:42 +0200 <Tisoxin> very weird
2021-08-09 21:56:59 +0200 <Tisoxin> nij-: it works for me
2021-08-09 21:57:07 +0200 <Tisoxin> Can you use the compose sequence manually?
2021-08-09 21:57:14 +0200 <Tisoxin> (without kmonad)
2021-08-09 21:58:01 +0200 <nij-> Yes, did that too.
2021-08-09 21:58:08 +0200 <nij-> So it's not kmonad's problem :S
2021-08-09 22:00:16 +0200 <Tisoxin> ˘\◊.◊/˘
2021-08-09 22:01:42 +0200 <Tisoxin> Do you use an input method (like ibus)?
2021-08-09 22:01:54 +0200 <nij-> Yes I do!
2021-08-09 22:02:07 +0200 <Tisoxin> ibus?
2021-08-09 22:02:09 +0200 <nij-> Good point. Lemme start a session without it.
2021-08-09 22:02:15 +0200 <nij-> Yes, ibus. I use it for CJK characters.
2021-08-09 22:02:41 +0200 <Tisoxin> that's one thing you could do, or you could start ibus in debug mode
2021-08-09 22:02:58 +0200 <Tisoxin> i remember finding an error in my config with that
2021-08-09 22:03:42 +0200 <Tisoxin> though i'm not sure, if the trick was to start ibus in some sort of debug mode, or if every application getting started just prints those errors (at least the ones based on gtk)
2021-08-09 22:04:45 +0200 <nij-> I'll try :) Thanks for the idea!
2021-08-09 23:49:18 +0200nij-(~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Using Circe, the loveliest of all IRC clients)