2021/08/12

2021-08-12 00:12:41 +0200srk(~sorki@user/srk) (Ping timeout: 268 seconds)
2021-08-12 00:13:27 +0200srk(~sorki@user/srk)
2021-08-12 00:25:07 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-12 00:28:04 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-12 00:28:07 +0200srk_(~sorki@user/srk)
2021-08-12 00:28:43 +0200srk(~sorki@user/srk) (Ping timeout: 268 seconds)
2021-08-12 00:31:05 +0200srk_srk
2021-08-12 01:11:09 +0200seschwar(~seschwar@user/seschwar) (Quit: :wq)
2021-08-12 01:35:17 +0200 <electr0n> liskin: r/unixporn holding a contest for the best submissions.
2021-08-12 01:36:34 +0200 <electr0n> https://www.reddit.com/r/unixporn/comments/ounm70/august_ricing_competition_with_prizes/
2021-08-12 02:36:01 +0200ectospasm(~ectospasm@user/ectospasm) (Quit: WeeChat 3.2)
2021-08-12 02:39:04 +0200ectospasm(~ectospasm@user/ectospasm)
2021-08-12 03:42:32 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 03:42:32 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 03:42:35 +0200allbery_bgeekosaur
2021-08-12 04:05:09 +0200banc(banc@gateway/vpn/airvpn/banc) (Ping timeout: 268 seconds)
2021-08-12 04:18:07 +0200td_(~td@muedsl-82-207-238-098.citykom.de) (Ping timeout: 268 seconds)
2021-08-12 04:19:52 +0200td_(~td@94.134.91.94)
2021-08-12 04:22:22 +0200banc(banc@gateway/vpn/airvpn/banc)
2021-08-12 05:40:04 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 05:41:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-08-12 07:27:14 +0200 <unrooted> geekosaur: haha, I had sudo and wheel access
2021-08-12 07:28:12 +0200 <unrooted> liskin: as electr0n said, basically I want to make Haskell hell, I mean, Haskell paradise haha, so it would be xmonad+xmobar+termonad+yi-editor+aura
2021-08-12 07:39:58 +0200 <Solid> isn't yi long dead?
2021-08-12 07:47:15 +0200 <unrooted> I think the latest commit is frøm Nov 2020
2021-08-12 07:48:06 +0200 <unrooted> anyway, I'll do it just for the sake of the project
2021-08-12 07:48:41 +0200 <unrooted> I think that Yi itself is recommended to be used as a Library
2021-08-12 08:00:32 +0200 <Solid> mh seems like someone took it up, merged a few PRs and then abandoned it again
2021-08-12 08:01:59 +0200 <Solid> but fair enough concerning your reasons---how could I have ever imagined a unixporn post with an actually usable setup :P
2021-08-12 08:04:58 +0200 <unrooted> this
2021-08-12 08:30:57 +0200thunderrd(~thunderrd@183.182.111.78) (Ping timeout: 248 seconds)
2021-08-12 09:09:28 +0200 <grvxs[m]> I have 2 sets of keybinds stored in different constants how do i toggle between them on a specific keybind?
2021-08-12 09:12:54 +0200 <elonsroadster[m]> grvxs[m]: This is not a very nice solution, but the only thing I can think of to do is to essentially use a piece of extensible state to track which set of keybinds should be active, and then write a function to merge the actions at each keybind and add a small piece of wrapping code to choose which action should be performed by looking at the extensible state
2021-08-12 09:13:23 +0200 <Solid> eh before touching extensible state I'd rather just introduce an IORef
2021-08-12 09:13:30 +0200 <Solid> sounds like the simpler solution
2021-08-12 09:14:13 +0200 <grvxs[m]> this is how I handle it for now
2021-08-12 09:14:13 +0200 <grvxs[m]> https://github.com/grvxs/dots/blob/main/xmonad/.xmonad/xmonad.hs
2021-08-12 09:14:44 +0200 <grvxs[m]> i have a constant which is a string and based on it, it switches the layouts
2021-08-12 09:28:59 +0200 <elonsroadster[m]> doesnt that require recompilation every time though
2021-08-12 09:29:15 +0200 <elonsroadster[m]> <Solid> "eh before touching extensible..." <- sure IORef works as well
2021-08-12 09:30:38 +0200thunderrd(~thunderrd@183.182.111.78)
2021-08-12 09:32:14 +0200 <grvxs[m]> I don't know much about XMonad can you tell me how to achieve this?
2021-08-12 09:45:29 +0200 <elonsroadster[m]> grvxs[m]: I described it above
2021-08-12 09:46:14 +0200 <elonsroadster[m]> basically you need to write some function that "combines" X actions
2021-08-12 09:50:40 +0200elonsroadster[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/aa94db0a972d3d5334621d28f7a2bab31d3f… >
2021-08-12 09:50:50 +0200 <elonsroadster[m]> grvxs[m]: something like that ^
2021-08-12 09:55:00 +0200 <elonsroadster[m]> Then you need to write this function:
2021-08-12 09:55:00 +0200 <elonsroadster[m]> ```
2021-08-12 09:55:00 +0200 <elonsroadster[m]> combineKeyMaps ::
2021-08-12 09:55:00 +0200 <elonsroadster[m]> IORef String -> [(String, M.Map (KeyMask, KeySym) (X ()))] -> M.Map (KeyMask, KeySym) (X ())
2021-08-12 09:58:48 +0200wonko(~wjc@62.115.229.50)
2021-08-12 10:06:28 +0200 <elonsroadster[m]> grvxs[m]: you still there
2021-08-12 10:06:31 +0200 <elonsroadster[m]> I'm writing this thing foryou
2021-08-12 10:06:35 +0200 <grvxs[m]> yea
2021-08-12 10:06:50 +0200 <grvxs[m]> oh thanks lol, I was confused when you sent me that
2021-08-12 10:17:27 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 10:17:27 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 10:17:30 +0200allbery_bgeekosaur
2021-08-12 10:23:16 +0200 <elonsroadster[m]> lol okay
2021-08-12 10:23:19 +0200elonsroadster[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/6b5a2d24a4bd63a7cd4ceb9cf6f77646fe77… >
2021-08-12 10:23:24 +0200 <elonsroadster[m]> okay that should work
2021-08-12 10:23:39 +0200 <elonsroadster[m]> Maybe I should contribute this to Xmonad.contrib
2021-08-12 10:23:47 +0200 <elonsroadster[m]> grvxs[m]: do you understand how to use it?
2021-08-12 10:23:59 +0200 <grvxs[m]> lemme try
2021-08-12 10:24:13 +0200 <elonsroadster[m]> so you need to have some key that flips the value of the ioref
2021-08-12 10:24:14 +0200 <elonsroadster[m]> in each map
2021-08-12 10:25:44 +0200 <elonsroadster[m]> hmm you may need to change the type of KeyMask to ButtonMaks
2021-08-12 10:25:55 +0200 <elonsroadster[m]> im not sure what the difference between those 2 are
2021-08-12 10:28:17 +0200 <grvxs[m]> so `combineKeyMaps` takes a String and a keymap and then returns a keymap
2021-08-12 10:28:45 +0200 <grvxs[m]> how do I use it though?
2021-08-12 10:30:02 +0200 <elonsroadster[m]> no it takes a LIST of [(String, Keymap)] airs
2021-08-12 10:30:04 +0200 <elonsroadster[m]> pairs
2021-08-12 10:30:10 +0200 <elonsroadster[m]> and returns a single keymap
2021-08-12 10:30:14 +0200 <elonsroadster[m]> you also need an ioref
2021-08-12 10:30:31 +0200 <elonsroadster[m]> so like you have a two keymaps right?
2021-08-12 10:30:32 +0200 <elonsroadster[m]> so you would go like
2021-08-12 10:31:21 +0200 <elonsroadster[m]> ```
2021-08-12 10:31:21 +0200 <elonsroadster[m]> combineKeyMaps ref [("first keymap name", firstKeymap), ("second keymap name", secondKeymap)]
2021-08-12 10:31:37 +0200 <elonsroadster[m]> and you need to make the ref in your main function
2021-08-12 10:31:38 +0200 <elonsroadster[m]> like
2021-08-12 10:32:38 +0200 <elonsroadster[m]> ```
2021-08-12 10:32:38 +0200 <elonsroadster[m]> main = do
2021-08-12 10:32:38 +0200 <elonsroadster[m]> ref <- newIORef "first keymap name"
2021-08-12 10:35:48 +0200 <grvxs[m]> how do i make a keybind that toggles between these
2021-08-12 10:36:32 +0200 <elonsroadster[m]> ugh you're using easy keys
2021-08-12 10:36:40 +0200 <elonsroadster[m]> oh thats easy
2021-08-12 10:36:52 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/591884f9b383493a0e2ebbc54ee2a14b8cf6… >
2021-08-12 10:37:03 +0200 <grvxs[m]> i want to toggle between these
2021-08-12 10:37:09 +0200 <elonsroadster[m]> yeah so
2021-08-12 10:38:25 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/cbbe457395e5f117d0179813b2a92d6d4a09… >
2021-08-12 10:38:58 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/d4e68be204cd5877638f64e71eedbb0cad95… >
2021-08-12 10:39:43 +0200 <elonsroadster[m]> the toggle function would be
2021-08-12 10:39:43 +0200 <elonsroadster[m]> ```
2021-08-12 10:39:43 +0200 <elonsroadster[m]> useDvorak :: IORef String -> X ()
2021-08-12 10:39:43 +0200 <elonsroadster[m]> useDvorak ref = liftIO $ writeIORef ref "dvorak"
2021-08-12 10:39:55 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/a5db375f94cda88ff9cbe1088d416f99ca39… >
2021-08-12 10:40:31 +0200 <elonsroadster[m]> okay i mean why is that relevant
2021-08-12 10:40:33 +0200 <elonsroadster[m]> like
2021-08-12 10:40:44 +0200 <elonsroadster[m]> what you would do is just make 1 keymap that you want when qwerty is active
2021-08-12 10:40:49 +0200 <elonsroadster[m]> and 1 you want when dvorak is active
2021-08-12 10:40:59 +0200 <grvxs[m]> ok i'll combine them
2021-08-12 10:41:03 +0200 <elonsroadster[m]> ```
2021-08-12 10:41:03 +0200 <elonsroadster[m]> useQwerty :: IORef String -> X ()
2021-08-12 10:41:03 +0200 <elonsroadster[m]> useQwerty ref = liftIO $ writeIORef ref "qwerty"
2021-08-12 10:41:24 +0200 <grvxs[m]> > <@elonsroadster[m]:libera.chat> ```
2021-08-12 10:41:24 +0200 <grvxs[m]> > combineKeyMaps ref [("first keymap name", firstKeymap), ("second keymap name", secondKeymap)]
2021-08-12 10:41:24 +0200 <grvxs[m]> where and how do I use this
2021-08-12 10:41:26 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘<@’
2021-08-12 10:41:26 +0200 <lambdabot> error:
2021-08-12 10:41:26 +0200 <lambdabot> Variable not in scope: combineKeyMaps :: t0 -> [([Char], b0)] -> terror:
2021-08-12 10:41:26 +0200 <lambdabot> • Variable not in scope: ref
2021-08-12 10:41:42 +0200 <elonsroadster[m]> right i told you
2021-08-12 10:41:56 +0200 <elonsroadster[m]> ```
2021-08-12 10:41:56 +0200 <elonsroadster[m]> main = do
2021-08-12 10:41:56 +0200 <elonsroadster[m]> ref <- newIORef "first keymap name"
2021-08-12 10:42:03 +0200 <elonsroadster[m]> thats where you get ref from
2021-08-12 10:42:13 +0200 <elonsroadster[m]> * ```
2021-08-12 10:42:13 +0200 <elonsroadster[m]> main = do
2021-08-12 10:42:13 +0200 <elonsroadster[m]> ref <- newIORef "dvorak"
2021-08-12 10:42:13 +0200 <elonsroadster[m]> ```
2021-08-12 10:46:52 +0200 <elonsroadster[m]> here ill make a pr for you
2021-08-12 10:47:57 +0200 <grvxs[m]> thanks
2021-08-12 10:51:07 +0200 <elonsroadster[m]> https://github.com/grvxs/dots/pull/2
2021-08-12 10:51:15 +0200 <elonsroadster[m]> youll need to add a binding to toggle between them
2021-08-12 10:51:17 +0200 <elonsroadster[m]> also
2021-08-12 10:51:22 +0200 <elonsroadster[m]> lol I did not test this at all
2021-08-12 10:51:28 +0200 <elonsroadster[m]> but it compiles
2021-08-12 10:51:40 +0200 <grvxs[m]> lol it's ok
2021-08-12 10:52:29 +0200 <elonsroadster[m]> grvxs[m]: does it kind of make sense to you
2021-08-12 10:52:31 +0200 <elonsroadster[m]> what is going on?
2021-08-12 10:53:01 +0200 <grvxs[m]> yea kind of
2021-08-12 10:53:22 +0200 <elonsroadster[m]> do you know hwo to add the bindings for useQwerty?
2021-08-12 10:53:26 +0200 <elonsroadster[m]> its a little tricky
2021-08-12 10:53:35 +0200 <elonsroadster[m]> well no its not that bad
2021-08-12 10:53:42 +0200 <elonsroadster[m]> you have to do it in the function defaults
2021-08-12 10:53:44 +0200 <elonsroadster[m]> where you have the ref
2021-08-12 10:54:01 +0200 <grvxs[m]> not in EZConfig?
2021-08-12 10:54:05 +0200 <grvxs[m]> lol
2021-08-12 10:54:16 +0200 <elonsroadster[m]> no
2021-08-12 10:54:24 +0200 <elonsroadster[m]> you need access to the ref
2021-08-12 10:54:30 +0200 <elonsroadster[m]> god ezconfig is the dumbest thing ever
2021-08-12 10:55:03 +0200 <grvxs[m]> how do i set a keybind?
2021-08-12 10:55:47 +0200 <elonsroadster[m]> so okay im guessing you must have cargo culted like all of this right?
2021-08-12 10:55:56 +0200 <elonsroadster[m]> because you're setting keybinds all over the place
2021-08-12 10:56:32 +0200 <grvxs[m]> yea, I took someone else's config and changed it according to me
2021-08-12 10:56:57 +0200 <elonsroadster[m]> you can just add
2021-08-12 10:56:57 +0200 <grvxs[m]> i only know a little bit of haskell, like I used to solve project euler with it
2021-08-12 10:58:12 +0200 <elonsroadster[m]> ```
2021-08-12 10:58:12 +0200 <elonsroadster[m]> (myKeys ++ [("binding", useDvorak ref), ("binding", useQwerty ref)])
2021-08-12 10:58:22 +0200AndrewYu(~andrew@user/andrewyu)
2021-08-12 10:58:24 +0200 <elonsroadster[m]> you see where that is
2021-08-12 10:58:38 +0200 <elonsroadster[m]> and just replace binding with whatever you want using your stupid ezconfig
2021-08-12 10:59:14 +0200 <elonsroadster[m]> does that work?
2021-08-12 11:09:23 +0200 <Solid> can you perhaps stop with the insecurities regarding ezconfig? :)
2021-08-12 11:09:34 +0200 <grvxs[m]> i'm sorry xorg crashed rip
2021-08-12 11:09:49 +0200 <grvxs[m]> it's not necessary that i set it with ezconfig
2021-08-12 11:10:10 +0200 <elonsroadster[m]> Solid: Insecurities? Not sure where you're getting that from
2021-08-12 11:10:51 +0200 <elonsroadster[m]> grvxs[m]: nah im just kidding around, use whateve ryou like
2021-08-12 11:12:02 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/898255df28a3fbb19e79426896bbead29167… >
2021-08-12 11:12:12 +0200 <grvxs[m]> you mean something like this right?
2021-08-12 11:12:33 +0200 <grvxs[m]> last time xorg crashed because i did something like this lol
2021-08-12 11:13:19 +0200 <elonsroadster[m]> what no
2021-08-12 11:13:32 +0200 <elonsroadster[m]> oh well yes wait sorry that should work
2021-08-12 11:13:47 +0200 <grvxs[m]> cy ,rpt.e
2021-08-12 11:14:05 +0200 <grvxs[m]> it worked
2021-08-12 11:14:09 +0200 <grvxs[m]> thanks a lot guys
2021-08-12 11:14:15 +0200 <elonsroadster[m]> hah really
2021-08-12 11:14:21 +0200 <grvxs[m]> yea
2021-08-12 11:14:28 +0200 <elonsroadster[m]> gotta love haskell. Code works the first time so much more than with any other language
2021-08-12 11:15:10 +0200 <grvxs[m]> i'm not sure why xorg crashed last time lol
2021-08-12 11:15:16 +0200 <elonsroadster[m]> grvxs[m]: You should consider cleaning it up and submitting it xmonad-contrib
2021-08-12 11:15:29 +0200 <elonsroadster[m]> seems like something that might be generally useful to people
2021-08-12 11:15:41 +0200 <elonsroadster[m]> grvxs[m]: probably just unrelated
2021-08-12 11:15:47 +0200 <grvxs[m]> yea, i'll clean up this code. But you made this xD you could submit it
2021-08-12 11:15:55 +0200 <grvxs[m]> i have a lot to leanr about XMonad
2021-08-12 11:16:04 +0200 <grvxs[m]> * i have a lot to learn about XMonad
2021-08-12 11:16:47 +0200 <elonsroadster[m]> you should really switch away from using strings for this
2021-08-12 11:16:54 +0200 <elonsroadster[m]> would be way better to use an ADT
2021-08-12 11:17:01 +0200 <elonsroadster[m]> like:
2021-08-12 11:17:05 +0200 <grvxs[m]> i'm refactoring my whole config
2021-08-12 11:17:22 +0200 <grvxs[m]> make it as minimal and functional as possible
2021-08-12 11:17:27 +0200seschwar(~seschwar@user/seschwar)
2021-08-12 11:17:33 +0200 <elonsroadster[m]> data MyLayout = Qwerty | Dvorak
2021-08-12 11:17:51 +0200 <elonsroadster[m]> and then you wont have to handle the case where the string does not match one of the expected values
2021-08-12 11:18:10 +0200 <elonsroadster[m]> all you have to do is replace String with a type variable
2021-08-12 11:18:31 +0200 <grvxs[m]> yea
2021-08-12 11:18:59 +0200 <grvxs[m]> thanks a lot for your help
2021-08-12 11:19:20 +0200elonsroadster[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/9d9fb89d1ff8a7944005fb59957ad6ffa70e… >
2021-08-12 11:19:30 +0200 <elonsroadster[m]> grvxs[m]: yeah glad it worked for you
2021-08-12 11:26:02 +0200 <Solid> \o/
2021-08-12 11:47:17 +0200 <unrooted> god damn, how long can it take to install GHC
2021-08-12 11:51:47 +0200thunderrd(~thunderrd@183.182.111.78) (Ping timeout: 245 seconds)
2021-08-12 11:53:35 +0200a6a45081-2b83(~aditya@223.226.228.68)
2021-08-12 11:55:03 +0200 <liskin> 20 seconds in GitHub Actions :-)
2021-08-12 11:55:58 +0200 <unrooted> already like an hour Or even more on my laptop ;_;
2021-08-12 11:58:34 +0200 <liskin> what
2021-08-12 11:58:41 +0200 <liskin> are you compiling from source?
2021-08-12 11:58:59 +0200 <Solid> sounds like it
2021-08-12 12:02:15 +0200thunderrd(~thunderrd@183.182.111.78)
2021-08-12 12:03:04 +0200 <unrooted> I'm using the Installation guide from the xmonad Website, with usage of stack
2021-08-12 12:03:27 +0200 <unrooted> And it seems like it's Stück on 'Installing GHC...' for å while, can I make it use system's GHC?
2021-08-12 12:05:00 +0200 <Solid> you can add `system-ghc: true` to ~/.stack/config.yaml
2021-08-12 12:05:06 +0200 <Solid> there's probably also a command line flag for it
2021-08-12 12:05:17 +0200 <unrooted> thanks å lot
2021-08-12 12:05:34 +0200 <unrooted> also, a note for every Arch-based User in here, try Parallel Downloads, it's great
2021-08-12 13:01:22 +0200 <unrooted> can the fact that I'm doing this on USB stick be my issue?
2021-08-12 13:13:55 +0200 <liskin> if said stick is mounted "sync", then yes, indeed
2021-08-12 13:14:30 +0200 <liskin> if not and you have 10+ gigs of ram, then it's a bit weird, but understandable if something calls sync/fsync more often than it should
2021-08-12 13:14:47 +0200 <liskin> if you have less ram, then usb sticks can't be expected to be usable
2021-08-12 13:45:44 +0200a6a45081-2b83(~aditya@223.226.228.68) (Remote host closed the connection)
2021-08-12 13:51:06 +0200 <unrooted> 16gb of ram, but Yeah, sync might be an issue
2021-08-12 13:51:26 +0200 <unrooted> also I'm doing this on the mønster called Bedrock Linux 😅
2021-08-12 14:32:55 +0200unrooteduploaded an image: (87KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/wpKEJdENHcGYLaymmxWzzpyp/2021-08-12_1… >
2021-08-12 14:32:56 +0200 <unrooted> any ideas?
2021-08-12 14:37:17 +0200 <geekosaur> elonsroadster[m], https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Actions/KeyRemap.hs
2021-08-12 14:41:54 +0200 <unrooted> λ ~/ xmobar
2021-08-12 14:41:54 +0200 <unrooted> xmobar: SocketError {socketErrorMessage = "Network.Socket.connect: <socket: 12>: does not exist (No such file or directory)", socketErrorFatal = True, socketErrorAddress = Just (Address "unix:path=/run/user/1000/bus")}
2021-08-12 14:41:55 +0200 <unrooted> kek?
2021-08-12 15:29:40 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-12 16:01:34 +0200seschwar(~seschwar@user/seschwar) (Quit: :wq)
2021-08-12 16:02:11 +0200 <liskin> session dbus not running, apparently
2021-08-12 16:02:19 +0200 <liskin> this wouldn't happen on a proper linux distro
2021-08-12 16:08:34 +0200 <geekosaur> I didn't know xmobar used dbus
2021-08-12 16:09:41 +0200 <liskin> optionally
2021-08-12 16:14:41 +0200 <byorgey> liskin: just logged into IRC for first time in a while and noticed "#xmonad < liskin> I wonder how much longer shall we wait for byorgey, dmwit_ and sibi to reply". Reply to what?
2021-08-12 16:15:05 +0200 <liskin> byorgey: e-mails, we sent you a lot of e-mails :-)
2021-08-12 16:15:44 +0200 <byorgey> I don't recall getting any emails. Unless you mean emails sent to the xmonad mailing list, which I don't really read these days
2021-08-12 16:16:00 +0200 <geekosaur> these were sent directly
2021-08-12 16:16:23 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-12 16:16:43 +0200 <liskin> have we got the right address? I used byorgey@gmail.com as that's what I found in the git repo
2021-08-12 16:17:04 +0200byorgeygoes to look
2021-08-12 16:17:11 +0200 <byorgey> that's the right address
2021-08-12 16:18:29 +0200 <geekosaur> "xmonad: future, funding, etc."
2021-08-12 16:19:20 +0200 <byorgey> oh, I see now. Sorry, I honestly didn't notice those were sent directly to me rather than to the mailing list.
2021-08-12 16:19:39 +0200 <byorgey> Mailing list messages still show up in my inbox and I mostly archive them without reading, which I guess has created a sort of "crying wolf" effect
2021-08-12 16:23:25 +0200 <liskin> oh well, mailing list messages are prefixed by "[xmonad]" whereas this one was prefixed by "xmonad:", and my e-mail client does clearly distinguish e-mails sent to me, e-mails ccd to me and other e-mails, so I'm a bit out of ideas about what I could've done to prevent this :-/
2021-08-12 16:24:06 +0200 <liskin> I'm almost tempted to suggest that you turn off the reception of e-mails/notifications you don't intend to read anyway :-)
2021-08-12 16:24:09 +0200 <byorgey> no worries, not your fault.
2021-08-12 16:25:18 +0200 <byorgey> liskin: that's a good suggestion. I think the only reason I haven't is a vague sense of FOMO / maybe there will be something I can help out with. But clearly this was ineffective.
2021-08-12 16:26:12 +0200 <byorgey> and actually, I am pretty aggressive about unsubscribing/hiding things in general. xmonad is one of the few mailing lists that still comes to my inbox.
2021-08-12 16:26:24 +0200 <liskin> understandable
2021-08-12 16:27:03 +0200 <byorgey> Anyway, I am on board with the things that were suggested in that thread. I will write an email response as well.
2021-08-12 16:27:50 +0200 <liskin> but we do highlight you and/or cc you whenever we feel you might help, so tuning the noise down might be more effective indeed
2021-08-12 16:28:03 +0200 <liskin> okay, cool!
2021-08-12 16:29:09 +0200 <byorgey> aha, the original message and the one you resent from gmail both went into my spam, which also helps explain how I missed it. I did get some of the replies though.
2021-08-12 16:39:56 +0200seschwar(~seschwar@user/seschwar)
2021-08-12 16:41:50 +0200 <unrooted> <liskin> "session dbus not running..." <- liskin: but it has to be running because then I guess xmonad and lightdm won't work 🤔
2021-08-12 16:42:46 +0200wonko(~wjc@62.115.229.50)
2021-08-12 16:43:40 +0200 <geekosaur> xmonad doesn't care about dbus
2021-08-12 16:44:05 +0200 <geekosaur> and lightdm only cares to the extent that it can be configured to s\autostart dbus with a session
2021-08-12 17:03:30 +0200 <elonsroadster[m]> <geekosaur> "elonsroadster, https://github...." <- I looked at that and it's not at all the same as what was being asked for
2021-08-12 17:05:04 +0200 <elonsroadster[m]> geekosaur unless I'm totally missing something, that allows you to remap particular keys. What was being asked for was to have two different keymaps and to be able to toggle between them.
2021-08-12 17:06:34 +0200theproffesor(~theproffe@user/theproffesor) (Ping timeout: 240 seconds)
2021-08-12 17:06:48 +0200 <elonsroadster[m]> And when I say keymaps in this case what I mean is set of key bindings
2021-08-12 17:11:48 +0200 <geekosaur> the example is toggling between qwerty and dvorak
2021-08-12 17:21:21 +0200 <Solid> huh, that's a really neat module
2021-08-12 17:30:56 +0200By_JumperX4[m](~byjumperx@2001:470:69fc:105::a2e) ()
2021-08-12 17:34:30 +0200seschwar(~seschwar@user/seschwar) (Quit: :wq)
2021-08-12 17:35:16 +0200mc47(~mc47@xmonad/TheMC47) (Read error: Connection reset by peer)
2021-08-12 17:57:57 +0200 <unrooted> geekosaur: what to do then?
2021-08-12 17:59:40 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 272 seconds)
2021-08-12 18:02:56 +0200 <geekosaur> unrooted, you can look into how to have lightdm autostart dbus with the session, or you can have the xmonad session run under dbus-launch
2021-08-12 18:03:23 +0200 <unrooted> okie
2021-08-12 18:09:05 +0200seschwar(~seschwar@user/seschwar)
2021-08-12 18:29:54 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 18:29:54 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 18:29:57 +0200allbery_bgeekosaur
2021-08-12 19:23:53 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-12 19:23:54 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-12 19:29:51 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0)
2021-08-12 19:35:01 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-12 19:35:26 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-12 19:50:17 +0200wonko(~wjc@62.115.229.50)
2021-08-12 20:02:10 +0200 <elonsroadster[m]> <geekosaur> "the example is toggling between..." <- geekosaur I think you're still misunderstanding. He was not asking to toggle between qwerty and Dvorak, he was asking to activate a different set of key bindings that just so happened to have the names qwerty and Dvorak.
2021-08-12 20:02:47 +0200 <elonsroadster[m]> I.e. he wanted to have his xmonad keyboards be different when he was using each of the layouts
2021-08-12 20:09:34 +0200 <fizzie> But it was still exactly the same set of *actions* they wanted, I think, just on different keys. So what's the practical difference between remapping keys (for the purposes of key bindings only, which is what XMonad.Actions.KeyRemap does) vs. switching to a different set of bindings? As long as you need the same actions (just on different keys), you can accomplish that with either.
2021-08-12 20:17:01 +0200 <elonsroadster[m]> <fizzie> "But it was still exactly the..." <- A few points:
2021-08-12 20:17:01 +0200 <elonsroadster[m]> - I didn't look closely at the set of keybinds grvxs[m] was requesting, so I'm not sure whether or not this was true
2021-08-12 20:17:01 +0200 <elonsroadster[m]> - Even if it were true, it would have been much more work for him to translate exactly what he wanted into a format compatible with KeyRemap. He had two sets of keymaps defined as keybindings already, my code ended up just being plug and play
2021-08-12 20:17:01 +0200 <elonsroadster[m]> - Obviously biased, but the code I gave him was also simpler and easier to understand
2021-08-12 20:30:09 +0200 <fizzie> Well, depending. You can argue remapping would be a net simplification, because you don't need to keep maintaining two nominally independent sets of keybindings when really the intent you want to express is "this single set of bindings should stay on the same physical keys". Sure, the delta from their current config would have been larger.
2021-08-12 20:30:15 +0200 <fizzie> (I agree just swapping the bindings on the fly is *conceptually* simpler. And KeyRemap is kind of clunky.)
2021-08-12 20:31:41 +0200 <unrooted> okay I fixed that xmobar issue from before, thanks guys
2021-08-12 20:31:48 +0200unrooteduploaded an image: (352KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/GJyTtHTmMbagPZiFsoMlQEIr/unixpornProg… >
2021-08-12 20:32:02 +0200 <unrooted> I think I can share progress (screenshot from before fixing xmobar)
2021-08-12 20:32:24 +0200 <Solid> you may also argue that not having to understand the code is exactly what the top level docs of KeyRemap are for ;)
2021-08-12 20:32:42 +0200 <Solid> though I agree that what elonsroadster[m] wrote is probably more extensible overall
2021-08-12 20:33:07 +0200 <Solid> (and it would probably make a great module)
2021-08-12 20:37:53 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 248 seconds)
2021-08-12 20:44:24 +0200 <unrooted> god damn it, does it take always so long to use custom shell command in xmobar?
2021-08-12 20:45:17 +0200unrooteduploaded an image: (10KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/hEazivBKknwCGTZdgsgfxOxi/image.png >
2021-08-12 20:46:22 +0200 <unrooted> even using built-in weather module doesn't work 😩
2021-08-12 20:56:23 +0200 <geekosaur> that looks like it's not getting output
2021-08-12 20:59:41 +0200 <unrooted> fixed that using nix version of xmobar
2021-08-12 20:59:43 +0200unrooteduploaded an image: (8KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/fYuWGHuPzxNDCXDFuXjRGiIT/image.png >
2021-08-12 21:05:58 +0200nova(novasenco@user/nova)
2021-08-12 22:12:16 +0200berberman_(~berberman@user/berberman)
2021-08-12 22:13:47 +0200berberman(~berberman@user/berberman) (Ping timeout: 268 seconds)
2021-08-12 22:19:31 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/717fe81b2b6e3b02f68afdec6b20f43ded3d… >
2021-08-12 22:20:08 +0200grvxs[m]uploaded an image: (42KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/qHSjrPJNJWxEyhdLGdqJaFDc/image.png >
2021-08-12 22:27:23 +0200 <grvxs[m]> https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Actions/KeyRemap.hs
2021-08-12 22:27:23 +0200 <grvxs[m]> wait this does exactly what I want, it even has the same layout I use
2021-08-12 22:30:14 +0200 <elonsroadster[m]> grvxs[m]: Great! Use that if that feels more comfortable to you.
2021-08-12 22:30:32 +0200 <elonsroadster[m]> It's not clear to me that it allows toggling back and forth though, so I'm not sure how you would accomplsih that
2021-08-12 22:30:53 +0200 <grvxs[m]> yea, i was trying to find that lol
2021-08-12 22:31:56 +0200 <grvxs[m]> the current config works just fine but it has an issue (toggling workspaces don't work)
2021-08-12 22:31:56 +0200 <grvxs[m]> https://www.reddit.com/r/xmonad/comments/n5dop6/is_there_a_xmonad_equivalent_for_i3s_workspace/
2021-08-12 22:32:24 +0200 <elonsroadster[m]> I think you can use `setKeyRamp dvorakProgrammerKeyRemap`
2021-08-12 22:32:42 +0200 <elonsroadster[m]> grvxs[m]: wdym by toggling in this case?
2021-08-12 22:32:43 +0200 <grvxs[m]> I noticed it when I added the shiftWorkspaceBinds to the normal binds
2021-08-12 22:33:10 +0200 <elonsroadster[m]> I still dont quite understand what you mean by "toggling" in this case
2021-08-12 22:33:18 +0200 <elonsroadster[m]> I'm assuming that you can switch workspaces right?
2021-08-12 22:33:19 +0200 <grvxs[m]> if I am on workspace 1 and then I go to workspace 3, pressing the keymap for workspace 3 should take me back to 1
2021-08-12 22:33:37 +0200wonko(~wjc@62.115.229.50)
2021-08-12 22:33:56 +0200 <elonsroadster[m]> grvxs[m]: that's certainly not xmonad default behavior
2021-08-12 22:34:03 +0200 <grvxs[m]> yea it's not
2021-08-12 22:34:13 +0200 <grvxs[m]> I have that in my keybinds
2021-08-12 22:34:21 +0200 <elonsroadster[m]> so unless you added some config to do that it wont do that
2021-08-12 22:35:22 +0200 <grvxs[m]> It was working, but it didn't work when I added the 2 sets of layouts I had
2021-08-12 22:35:47 +0200 <grvxs[m]> lemme send the commit wait
2021-08-12 22:36:16 +0200 <grvxs[m]> https://github.com/grvxs/dots/commit/cea93ca819bf46570bc8e66b514507bbc5d3c45d
2021-08-12 22:37:34 +0200 <elonsroadster[m]> it should work in qwerty mode
2021-08-12 22:37:38 +0200 <elonsroadster[m]> but maybe not in dvorak mode
2021-08-12 22:37:47 +0200 <elonsroadster[m]> is that right?
2021-08-12 22:37:54 +0200 <grvxs[m]> it doesn't work in qwerty nor in dvorak
2021-08-12 22:38:19 +0200 <grvxs[m]> the concatenation of lists did something wrong ig
2021-08-12 22:39:15 +0200 <elonsroadster[m]> I actually don't understand why you'd want this binding at all though
2021-08-12 22:39:27 +0200 <grvxs[m]> btw both sets of keybinds work when they're not concatenated to the normal ones
2021-08-12 22:39:29 +0200 <elonsroadster[m]> why not just have a binding for cycle workspace that always takes you to the last workspace
2021-08-12 22:39:52 +0200 <grvxs[m]> yea, I have that
2021-08-12 22:39:52 +0200 <grvxs[m]> M-U
2021-08-12 22:40:05 +0200 <grvxs[m]> i got kinda used to the "toggling" workspaces when I used i3
2021-08-12 22:41:07 +0200 <elonsroadster[m]> wait you're saying that if you only bind the "switchable" keys
2021-08-12 22:41:21 +0200 <elonsroadster[m]> things work, but if you add in the rest of your normal keys it doesn't?
2021-08-12 22:41:51 +0200 <grvxs[m]> umm
2021-08-12 22:42:04 +0200 <grvxs[m]> <grvxs[m]> "https://github.com/grvxs/dots/co" <- after this commit it doesn't work
2021-08-12 22:42:45 +0200grvxs[m]uploaded an image: (71KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/swgspaGYbfPDXUzLdbPvkBFx/image.png >
2021-08-12 22:42:52 +0200 <elonsroadster[m]> wait are you sure they work, to me it seems like you got the order wrong
2021-08-12 22:43:08 +0200 <grvxs[m]> i got rid of the above and added them to the workspaceBinds function
2021-08-12 22:43:57 +0200 <grvxs[m]> they work before that commit
2021-08-12 22:44:10 +0200 <elonsroadster[m]> This part: `bindOn [("", windows $ W.greedyView n), (n, toggleWS)])` seems wrong to me
2021-08-12 22:44:19 +0200 <grvxs[m]> and I add this in the
2021-08-12 22:44:19 +0200 <grvxs[m]> ``` , keys = workspaceShiftBinds myLayout
2021-08-12 22:44:19 +0200 <grvxs[m]> ```
2021-08-12 22:44:20 +0200 <grvxs[m]> * and I add this in the
2021-08-12 22:44:21 +0200 <grvxs[m]> ```
2021-08-12 22:44:31 +0200 <grvxs[m]> * and I add this in the
2021-08-12 22:44:31 +0200 <grvxs[m]> ```
2021-08-12 22:44:31 +0200 <grvxs[m]> , keys = workspaceShiftBinds myLayout
2021-08-12 22:44:44 +0200 <elonsroadster[m]> ah nvm
2021-08-12 22:44:48 +0200 <grvxs[m]> * and I add this in the defaults
2021-08-12 22:44:48 +0200 <grvxs[m]> ```
2021-08-12 22:44:48 +0200 <grvxs[m]> , keys = workspaceShiftBinds myLayout
2021-08-12 22:47:18 +0200 <elonsroadster[m]> wait what isn't this part: `(f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]` going to clobber what came before?
2021-08-12 22:47:49 +0200 <elonsroadster[m]> specifically: `(W.greedyView, 0),`
2021-08-12 22:48:04 +0200 <elonsroadster[m]> so it makes perfect sense that it stopped working
2021-08-12 22:48:36 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/dfec83630afc3c5df81f3f6565342d213fd7… >
2021-08-12 22:48:59 +0200 <elonsroadster[m]> no listen to what im saying
2021-08-12 22:49:12 +0200 <elonsroadster[m]> this part `(W.greedyView, 0),`
2021-08-12 22:49:12 +0200 <grvxs[m]> ok
2021-08-12 22:49:15 +0200 <elonsroadster[m]> is clobbering the key definitions that came before it
2021-08-12 22:49:31 +0200 <elonsroadster[m]> you're re-binding the definitions you set earlier
2021-08-12 22:49:41 +0200 <elonsroadster[m]> I think you shuold just delete that part
2021-08-12 22:49:43 +0200 <elonsroadster[m]> or alternatively
2021-08-12 22:49:49 +0200 <elonsroadster[m]> if you wanted to combine everythinng
2021-08-12 22:50:14 +0200 <elonsroadster[m]> `W.greedyView` should be the `bindOn [("", windows $ W.greedyView n), (n, toggleWS)]` from above
2021-08-12 22:50:23 +0200 <elonsroadster[m]> and then you can just delete the whole thing above
2021-08-12 22:51:11 +0200 <elonsroadster[m]> also you're doing the same thing in the qwerty layout: `[(W.greedyView, 0), (W.shift, shiftMask)]`
2021-08-12 22:51:28 +0200 <elonsroadster[m]> this is binding both `mod + number` to greedyView
2021-08-12 22:51:43 +0200 <elonsroadster[m]> AND mod + shift + number
2021-08-12 22:52:03 +0200elonsroadster[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/778d8a26ce50b44adbaf451cb2d027095eef… >
2021-08-12 22:52:26 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-12 22:52:26 +0200 <grvxs[m]> ok it worked
2021-08-12 22:52:27 +0200 <grvxs[m]> thanks
2021-08-12 22:54:13 +0200 <grvxs[m]> One last question can I have only 1 keybind for example "M-S-l" which does the following for me
2021-08-12 22:54:13 +0200 <grvxs[m]> run a bash script(setxbmap) using spawn
2021-08-12 22:54:13 +0200 <grvxs[m]> if the layout is qwerty then switch to dvorak and vice versa
2021-08-12 22:54:23 +0200 <grvxs[m]> * One last question can I have only 1 keybind for example "M-S-l" which does the following for me
2021-08-12 22:54:23 +0200 <grvxs[m]> run a bash script(setxkbmap) using spawn
2021-08-12 22:54:23 +0200 <grvxs[m]> if the layout is qwerty then switch to dvorak and vice versa
2021-08-12 22:55:07 +0200 <grvxs[m]> I'm sorry if I'm annoying
2021-08-12 22:55:45 +0200 <elonsroadster[m]> grvxs[m]: yes i was actually going to suggest something like this
2021-08-12 22:56:03 +0200 <grvxs[m]> yea it seems more reasonable
2021-08-12 22:56:05 +0200 <elonsroadster[m]> I dont know too much about keyboard layouts
2021-08-12 22:56:18 +0200 <elonsroadster[m]> but is there a command you can run that will tell you what the current layout is?
2021-08-12 22:56:28 +0200 <grvxs[m]> yes there is
2021-08-12 22:56:36 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/71fecf2f27dcd0487e0e80caea94182385db… >
2021-08-12 22:56:41 +0200 <grvxs[m]> this script might be helpful
2021-08-12 22:56:55 +0200 <grvxs[m]> us is qwerty and dvp is programmer dvorak
2021-08-12 22:57:25 +0200 <elonsroadster[m]> right so then instead of using an IORef, what you could do is just run a shell command to decide which map to use
2021-08-12 22:57:58 +0200 <grvxs[m]> hmmm
2021-08-12 22:58:26 +0200 <grvxs[m]> `LAYOUT=$(setxkbmap -query | grep layout | awk '{print $2}')` this will give the current layout
2021-08-12 22:58:44 +0200 <elonsroadster[m]> so you'd replace this line: `currentLayout <- liftIO $ readIORef ref`
2021-08-12 23:01:10 +0200 <grvxs[m]> how do we get the output of a shell script to a variable?
2021-08-12 23:03:00 +0200 <elonsroadster[m]> `runProcessWithInput`
2021-08-12 23:03:04 +0200 <elonsroadster[m]> https://github.com/xmonad/xmonad-contrib/blob/d5522d69db9ae2a57b3a10056ea7e80aaddf123d/XMonad/Util…
2021-08-12 23:03:32 +0200 <elonsroadster[m]> the only thing I might worry about is that this could have an effect on how quickly your bindings run
2021-08-12 23:03:42 +0200 <elonsroadster[m]> but it probably would not be noticeable
2021-08-12 23:03:52 +0200 <grvxs[m]> wdym?
2021-08-12 23:03:53 +0200 <grvxs[m]> oh, delay?
2021-08-12 23:04:09 +0200 <grvxs[m]> yea it might not be noticable
2021-08-12 23:04:17 +0200 <elonsroadster[m]> yeah because it means it would be shelling out before running each command every time
2021-08-12 23:04:18 +0200 <elonsroadster[m]> yeah it probably will not be noticeable
2021-08-12 23:04:46 +0200 <elonsroadster[m]> but if it were, you could cache the result using some type of extensible state and then update it every so often or something
2021-08-12 23:05:13 +0200 <elonsroadster[m]> so yeah just use `runProcessWithInput`
2021-08-12 23:06:03 +0200grvxs[m] < https://libera.ems.host/_matrix/media/r0/download/libera.chat/056576783e34e438aae13a2ea5d1ab7540ce… >
2021-08-12 23:07:45 +0200 <elonsroadster[m]> great then no issue
2021-08-12 23:07:55 +0200 <elonsroadster[m]> do you know how to use runProcessWithInput properly?
2021-08-12 23:08:22 +0200 <grvxs[m]> no i think it works like System.Process (readProcess)
2021-08-12 23:08:43 +0200 <grvxs[m]> i saw it on stackoverflow but I don't know how to pipe
2021-08-12 23:12:48 +0200 <elonsroadster[m]> just read the doc here: https://github.com/xmonad/xmonad-contrib/blob/a03d58cf6a071f9bacb3543e70e94c0c5603434c/XMonad/Util…
2021-08-12 23:12:51 +0200 <elonsroadster[m]> its very straightforward
2021-08-12 23:13:54 +0200 <grvxs[m]> thanks I'll try this tomorrow 2:41 am oof
2021-08-12 23:14:04 +0200 <grvxs[m]> thanks for your help