| 2022-10-17 00:34:42 +0200 | Phaseditto | (~Phaseditt@p200300f03f4e5400fba0b8c980f21ad3.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 01:30:21 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds) | 
| 2022-10-17 03:50:46 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () | 
| 2022-10-17 03:59:31 +0200 | ghormoon | (~ghormoon@ghorland.net) (Ping timeout: 248 seconds) | 
| 2022-10-17 04:04:56 +0200 | banc | (banc@gateway/vpn/airvpn/banc) (Ping timeout: 260 seconds) | 
| 2022-10-17 04:21:40 +0200 | td_ | (~td@83.135.9.59) (Ping timeout: 268 seconds) | 
| 2022-10-17 04:23:18 +0200 | td_ | (~td@83.135.9.13) | 
| 2022-10-17 04:24:10 +0200 | banc | (banc@gateway/vpn/airvpn/banc) | 
| 2022-10-17 04:42:53 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) | 
| 2022-10-17 04:45:28 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) | 
| 2022-10-17 04:45:49 +0200 | ghormoon | (~ghormoon@ghorland.net) | 
| 2022-10-17 04:53:55 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 248 seconds) | 
| 2022-10-17 05:52:10 +0200 | berberman | (~berberman@user/berberman) | 
| 2022-10-17 06:36:06 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) | 
| 2022-10-17 07:05:08 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) (Quit: Leaving) | 
| 2022-10-17 07:06:37 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) | 
| 2022-10-17 07:08:02 +0200 | vanvik1 | (~vanvik@188.113.111.129) | 
| 2022-10-17 07:08:12 +0200 | vanvik | (~vanvik@188.113.111.129) (Ping timeout: 264 seconds) | 
| 2022-10-17 07:08:12 +0200 | vanvik1 | vanvik | 
| 2022-10-17 07:10:06 +0200 | sagax | (~sagax_nb@user/sagax) | 
| 2022-10-17 07:13:03 +0200 | sagax | (~sagax_nb@user/sagax) (*.net *.split) | 
| 2022-10-17 07:13:03 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (*.net *.split) | 
| 2022-10-17 07:13:03 +0200 | Solid[m] | (~slot-matr@2001:470:69fc:105::1:a84) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | devhashtag[m] | (~devhashta@2001:470:69fc:105::2:85a2) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | Spiker01[m] | (~s98742598@2001:470:69fc:105::2:8415) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | PotatoGim_ | (sid99505@id-99505.lymington.irccloud.com) (*.net *.split) | 
| 2022-10-17 07:13:04 +0200 | brianbnt | (~brianbnt@user/brianbnt) (*.net *.split) | 
| 2022-10-17 07:13:51 +0200 | PotatoGim_ | (sid99505@id-99505.lymington.irccloud.com) | 
| 2022-10-17 07:15:36 +0200 | brianbnt | (~brianbnt@user/brianbnt) | 
| 2022-10-17 07:15:43 +0200 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) | 
| 2022-10-17 07:16:07 +0200 | Solid[m] | (~slot-matr@2001:470:69fc:105::1:a84) | 
| 2022-10-17 07:17:51 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) | 
| 2022-10-17 07:20:20 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) | 
| 2022-10-17 07:22:35 +0200 | devhashtag[m] | (~devhashta@2001:470:69fc:105::2:85a2) | 
| 2022-10-17 07:22:35 +0200 | Spiker01[m] | (~s98742598@2001:470:69fc:105::2:8415) | 
| 2022-10-17 07:24:26 +0200 | sagax | (~sagax_nb@user/sagax) | 
| 2022-10-17 07:26:12 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 264 seconds) | 
| 2022-10-17 07:41:48 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) (Quit: Leaving) | 
| 2022-10-17 07:42:43 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) | 
| 2022-10-17 07:42:58 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) | 
| 2022-10-17 08:06:52 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:35ee:8105:5f30:c2c7) | 
| 2022-10-17 08:09:23 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds) | 
| 2022-10-17 08:28:53 +0200 | cfricke | (~cfricke@user/cfricke) | 
| 2022-10-17 08:38:43 +0200 | berberman | (~berberman@user/berberman) | 
| 2022-10-17 09:09:48 +0200 | akamar | (~akamar@host-212-204-102-90.customer.m-online.net) (Remote host closed the connection) | 
| 2022-10-17 09:18:30 +0200 | sagax | (~sagax_nb@user/sagax) (Remote host closed the connection) | 
| 2022-10-17 09:18:50 +0200 | Ehllie | (~Thunderbi@217-67-208-66.itsa.net.pl) | 
| 2022-10-17 09:33:54 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:35ee:8105:5f30:c2c7) (Quit: Leaving) | 
| 2022-10-17 09:36:35 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 09:53:26 +0200 | <Phaseditto> | Does anyone know what i might be doing wrong when i try to build xmonad via cabal that i installed with GHCup when i get the Error message: cabal: Failed to build data-default-class-0.1.2.0 (which is required by exe:xmonad from xmonad-0.1.0.0) ? | 
| 2022-10-17 10:09:27 +0200 | <dminuoso> | Phaseditto: Yes, you are depending on an import present in a package that has not been declared in your build-depends | 
| 2022-10-17 10:09:36 +0200 | <dminuoso> | Phaseditto: In cabal, you may not implicitly use a transitive dependency. | 
| 2022-10-17 10:09:42 +0200 | <dminuoso> | Oh wait. | 
| 2022-10-17 10:09:47 +0200 | <dminuoso> | My squinting is poor. | 
| 2022-10-17 10:09:54 +0200 | <dminuoso> | Phaseditto: Can you share the entire build eror? | 
| 2022-10-17 10:10:00 +0200 | <Phaseditto> | sure | 
| 2022-10-17 10:10:31 +0200 | <Phaseditto> | Error: cabal: Failed to build data-default-class-0.1.2.0 (which is required by | 
| 2022-10-17 10:10:32 +0200 | <Phaseditto> | exe:test-xmonad from my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:10:32 +0200 | <Phaseditto> | Failed to build exe:hsc2hs from hsc2hs-0.68.8 (which is required by | 
| 2022-10-17 10:10:33 +0200 | <Phaseditto> | exe:test-xmonad from my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:10:33 +0200 | <Phaseditto> | Failed to build splitmix-0.1.0.4 (which is required by exe:test-xmonad from | 
| 2022-10-17 10:10:34 +0200 | <Phaseditto> | my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:10:34 +0200 | <Phaseditto> | Failed to build utf8-string-1.0.2 (which is required by exe:test-xmonad from | 
| 2022-10-17 10:10:35 +0200 | <Phaseditto> | my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:10:40 +0200 | <Phaseditto> | Problem is, that there is no log file as far as i can see | 
| 2022-10-17 10:10:56 +0200 | <dminuoso> | Is this when you run the `build` script? | 
| 2022-10-17 10:11:05 +0200 | <Phaseditto> | yup | 
| 2022-10-17 10:11:06 +0200 | <dminuoso> | Try running plain `cabal build` in the path | 
| 2022-10-17 10:11:12 +0200 | <dminuoso> | Im not sure how much -v0 silences :p | 
| 2022-10-17 10:11:35 +0200 | <Phaseditto> | oh that is WAY more verbose | 
| 2022-10-17 10:11:52 +0200 | <dminuoso> | Yeah, the build script runs cabal with `-v0` as to avoid xmonad prompting needlessly | 
| 2022-10-17 10:11:59 +0200 | <Phaseditto> | [1 of 5] Compiling Codec.Binary.UTF8.String ( Codec/Binary/UTF8/String.hs, dist/build/Codec/Binary/UTF8/String.o, dist/build/Codec/Binary/UTF8/String.dyn_o ) | 
| 2022-10-17 10:11:59 +0200 | <Phaseditto> | [2 of 5] Compiling Codec.Binary.UTF8.Generic ( Codec/Binary/UTF8/Generic.hs, dist/build/Codec/Binary/UTF8/Generic.o, dist/build/Codec/Binary/UTF8/Generic.dyn_o ) | 
| 2022-10-17 10:12:00 +0200 | <Phaseditto> | [3 of 5] Compiling Data.ByteString.Lazy.UTF8 ( Data/ByteString/Lazy/UTF8.hs, dist/build/Data/ByteString/Lazy/UTF8.o, dist/build/Data/ByteString/Lazy/UTF8.dyn_o ) | 
| 2022-10-17 10:12:00 +0200 | <Phaseditto> | [4 of 5] Compiling Data.ByteString.UTF8 ( Data/ByteString/UTF8.hs, dist/build/Data/ByteString/UTF8.o, dist/build/Data/ByteString/UTF8.dyn_o ) | 
| 2022-10-17 10:12:01 +0200 | <Phaseditto> | [5 of 5] Compiling Data.String.UTF8 ( Data/String/UTF8.hs, dist/build/Data/String/UTF8.o, dist/build/Data/String/UTF8.dyn_o ) | 
| 2022-10-17 10:12:02 +0200 | <Phaseditto> | collect2: error: ld returned 1 exit status | 
| 2022-10-17 10:12:02 +0200 | <Phaseditto> | `gcc' failed in phase `Linker'. (Exit code: 1) | 
| 2022-10-17 10:12:03 +0200 | <Phaseditto> | Error: cabal: Failed to build data-default-class-0.1.2.0 (which is required by | 
| 2022-10-17 10:12:03 +0200 | <Phaseditto> | exe:test-xmonad from my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:12:04 +0200 | <Phaseditto> | Failed to build exe:hsc2hs from hsc2hs-0.68.8 (which is required by | 
| 2022-10-17 10:12:04 +0200 | <Phaseditto> | exe:test-xmonad from my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:12:05 +0200 | <Phaseditto> | Failed to build splitmix-0.1.0.4 (which is required by exe:test-xmonad from | 
| 2022-10-17 10:12:05 +0200 | <Phaseditto> | my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:12:06 +0200 | <Phaseditto> | Failed to build utf8-string-1.0.2 (which is required by exe:test-xmonad from | 
| 2022-10-17 10:12:06 +0200 | <Phaseditto> | my-xmonad-0.1.0.0). See the build log above for details. | 
| 2022-10-17 10:12:13 +0200 | <dminuoso> | Use a paste website, or the network mechanisms will kick you off the network | 
| 2022-10-17 10:12:19 +0200 | <dminuoso> | See topic | 
| 2022-10-17 10:12:19 +0200 | <Phaseditto> | oh okay | 
| 2022-10-17 10:12:23 +0200 | <dminuoso> | Or not | 
| 2022-10-17 10:12:36 +0200 | <dminuoso> | https://paste.tomsmeding.com/ | 
| 2022-10-17 10:12:42 +0200 | <dminuoso> | Or gist at github, or whatever | 
| 2022-10-17 10:12:49 +0200 | <Phaseditto> | yeah | 
| 2022-10-17 10:13:01 +0200 | <dminuoso> | I dont quite like what Im seeing though. | 
| 2022-10-17 10:13:03 +0200 | <dminuoso> | Can you run cabal with -v2 | 
| 2022-10-17 10:13:12 +0200 | <dminuoso> | This will produce a ton of output, so be sure to use a paste website | 
| 2022-10-17 10:13:19 +0200 | <Phaseditto> | sure will do | 
| 2022-10-17 10:13:47 +0200 | <dminuoso> | Before we go further, are you on a musl system? | 
| 2022-10-17 10:13:58 +0200 | <Phaseditto> | nope | 
| 2022-10-17 10:14:11 +0200 | <Phaseditto> | https://paste.tomsmeding.com/cabgeQRU | 
| 2022-10-17 10:14:23 +0200 | <dminuoso> | Ah! | 
| 2022-10-17 10:14:26 +0200 | <dminuoso> | You need to install `gmp` | 
| 2022-10-17 10:14:40 +0200 | <dminuoso> | So I would consider this a ghcup bug, it should have told you so. | 
| 2022-10-17 10:14:47 +0200 | <Phaseditto> | devel? | 
| 2022-10-17 10:14:49 +0200 | <dminuoso> | But its hard to have diagnostics for every linux distribution out there | 
| 2022-10-17 10:14:58 +0200 | <dminuoso> | No, just plain should be sufficient | 
| 2022-10-17 10:15:04 +0200 | <dminuoso> | I think?> | 
| 2022-10-17 10:15:08 +0200 | <Phaseditto> | got gmp-6.2.1_1 installed | 
| 2022-10-17 10:15:53 +0200 | <dminuoso> | Try installing the  -devel package? | 
| 2022-10-17 10:15:59 +0200 | <Phaseditto> | sure | 
| 2022-10-17 10:16:42 +0200 | <dminuoso> | Ah yes, you need the development package. | 
| 2022-10-17 10:16:54 +0200 | <Phaseditto> | yeah it's building atm | 
| 2022-10-17 10:17:30 +0200 | <Phaseditto> | also i replaced the filler with my old xmonad.hs | 
| 2022-10-17 10:17:34 +0200 | <Phaseditto> | just to see how that pans out | 
| 2022-10-17 10:17:36 +0200 | <dminuoso> | Yeah that's perfecftly fine. | 
| 2022-10-17 10:18:09 +0200 | <Phaseditto> | This whole undertaking is also a precursor to getting waymonad running once it's mature enough | 
| 2022-10-17 10:18:30 +0200 | <dminuoso> | The waymonad that bas been dead for 3 years? | 
| 2022-10-17 10:18:37 +0200 | <Phaseditto> | the more you knowl... | 
| 2022-10-17 10:18:39 +0200 | <dminuoso> | 4 even. | 
| 2022-10-17 10:19:00 +0200 | <Phaseditto> | I just can't with sway for the life of it. The way it handles multi monitor is just ... n | 
| 2022-10-17 10:19:00 +0200 | <dminuoso> | It was really just a single person, and I suppose they didnt have the energy | 
| 2022-10-17 10:19:01 +0200 | <Phaseditto> | o | 
| 2022-10-17 10:19:50 +0200 | <Phaseditto> | yeah not even judging, it's just a shame. wlroots might have made this a whole lot easier | 
| 2022-10-17 10:20:08 +0200 | <dminuoso> | Honestly I think one of the biggest problems with wayland is that its all adhoc and not specified. | 
| 2022-10-17 10:20:23 +0200 | <dminuoso> | That makes writing software for it way more difficult. | 
| 2022-10-17 10:20:49 +0200 | <dminuoso> | While X has some severe deficiencies, clearly defined semantics and an extremely stable API are not amongst them. | 
| 2022-10-17 10:20:53 +0200 | <Phaseditto> | Yeah the fact that you need to reinvent the wheel for every new project is crippling | 
| 2022-10-17 10:21:51 +0200 | <dminuoso> | But truth be told, xmonad is what keeps me tied to X11. | 
| 2022-10-17 10:22:20 +0200 | <Phaseditto> | same | 
| 2022-10-17 10:22:26 +0200 | <Phaseditto> | i mean, WMs in general | 
| 2022-10-17 10:22:39 +0200 | <Phaseditto> | DWM is the only one i could bastardize to behave like xmonad | 
| 2022-10-17 10:25:08 +0200 | <dminuoso> | There's also i3 which you can customize quite arbitrarily as well | 
| 2022-10-17 10:25:11 +0200 | <dminuoso> | If you can stand the pain of C. | 
| 2022-10-17 10:25:41 +0200 | <Phaseditto> | The problem is that sway behaves like i3, and i haven't seen anyone being able to make the workspaces on multi monitors or at all behave like xmonad | 
| 2022-10-17 10:26:13 +0200 | <dminuoso> | It took me a while to get used to the default behavior of xmonad on multi mopnitor | 
| 2022-10-17 10:26:36 +0200 | <dminuoso> | But once I did, I began to embrace it - there's just so many right things with the way StackSet is used. | 
| 2022-10-17 10:27:23 +0200 | <Phaseditto> | I prefer to have one set of workspaces accessible to every monitor. I have a set of workspaces, designated to functionality, 1 for instance is Production. When i want to access audacity and i know i have it open, i access 1, does not matter which monitor, it just works | 
| 2022-10-17 10:27:42 +0200 | <dminuoso> | you can do that with xmonad too, and I used to use as well | 
| 2022-10-17 10:28:10 +0200 | <dminuoso> | Mostly the pinning can also be solved by just a small bit of discipline | 
| 2022-10-17 10:28:18 +0200 | <dminuoso> | My browser is always on 2, chat windows on 4 | 
| 2022-10-17 10:28:22 +0200 | <dminuoso> | development stuff is on 1 | 
| 2022-10-17 10:28:26 +0200 | <Phaseditto> | no this is the specific reason why i use xmonad to begin with :D | 
| 2022-10-17 10:28:38 +0200 | <dminuoso> | well by "it with xmonad" I meant the deafult. | 
| 2022-10-17 10:29:01 +0200 | <Phaseditto> | maybe i modified its behavior, don't remember | 
| 2022-10-17 10:29:30 +0200 | <Phaseditto> | Though it's weird that this is not the default behavior or at least a setting on most WMs | 
| 2022-10-17 10:29:38 +0200 | <Phaseditto> | in any case: https://paste.tomsmeding.com/Bqfms9oo | 
| 2022-10-17 10:29:39 +0200 | <Phaseditto> | Did this ... work? | 
| 2022-10-17 10:33:35 +0200 | <dminuoso> | Yes. | 
| 2022-10-17 10:33:45 +0200 | <Phaseditto> | amazing | 
| 2022-10-17 10:33:46 +0200 | <dminuoso> | What you saw is just a warning (as you can see in line 11 right next to the file + line) | 
| 2022-10-17 10:33:57 +0200 | <dminuoso> | Where it says `warning:` | 
| 2022-10-17 10:34:06 +0200 | <Phaseditto> | Yeah i would've guessed, i just expected more... resistance? | 
| 2022-10-17 10:34:27 +0200 | <dminuoso> | Glad to have surprised you. :) | 
| 2022-10-17 10:34:39 +0200 | <dminuoso> | A bit sad that it was that much of a hurdle, though | 
| 2022-10-17 10:34:54 +0200 | <dminuoso> | Feel free to file a bug report on ghcup to not tell the user about `gmp-devel` on void | 
| 2022-10-17 10:35:08 +0200 | <Phaseditto> | when i get around, sure :D | 
| 2022-10-17 10:35:09 +0200 | <Phaseditto> | So all i need is to make a corresponding .desktop file and link / paste the binary? | 
| 2022-10-17 10:35:17 +0200 | <dminuoso> | Nope | 
| 2022-10-17 10:35:33 +0200 | <dminuoso> | So the build script already symlinks the artifact to the directory itself, that should be sufficient | 
| 2022-10-17 10:35:46 +0200 | <dminuoso> | Just run `exec /path/to/your/xmonad//directory/xmonad` as your window manager now. | 
| 2022-10-17 10:35:56 +0200 | <dminuoso> | Ah without the double slash of course. | 
| 2022-10-17 10:36:01 +0200 | <Phaseditto> | does the rebuild go back to the build script in its own? | 
| 2022-10-17 10:36:42 +0200 | <dminuoso> | Yes, so the way xmonad works is, it looks in your ~/.config/xmonad/ for whether an executable called `build` exists. | 
| 2022-10-17 10:36:49 +0200 | <dminuoso> | And if it does, that is what it will use. | 
| 2022-10-17 10:37:04 +0200 | <Phaseditto> | it's not currently located there, should i move it there? | 
| 2022-10-17 10:37:09 +0200 | <dminuoso> | The directory, yes. | 
| 2022-10-17 10:37:13 +0200 | <dminuoso> | Alternatively ~/.xmonad works too | 
| 2022-10-17 10:37:38 +0200 | <Phaseditto> | so the whole build script and all in one of those corresponding directories and the rest is up to cabal? | 
| 2022-10-17 10:38:30 +0200 | <Phaseditto> | In that case i will take a small break and try that in a bit | 
| 2022-10-17 10:38:42 +0200 | <dminuoso> | I do not understand the question | 
| 2022-10-17 10:39:04 +0200 | <dminuoso> | Basically there's just two bits you need: | 
| 2022-10-17 10:40:13 +0200 | <dminuoso> | Ah the build script is incomplete by the way. | 
| 2022-10-17 10:40:31 +0200 | <dminuoso> | Adapt it, so it symlinks to $1 | 
| 2022-10-17 10:40:43 +0200 | <dminuoso> | First, ~/.xmonad/build or ~/.config/xmonad/build need to exist (for custom build scripts) | 
| 2022-10-17 10:40:54 +0200 | <Phaseditto> | got it | 
| 2022-10-17 10:41:11 +0200 | <dminuoso> | If a file there is found, it will be used to rebuild. The script will be passed the name of the resulting artifact, so `build` must place it at that path. | 
| 2022-10-17 10:41:28 +0200 | <dminuoso> | (Whether or not that directory contains anything else, is almost entirely irrelevant) | 
| 2022-10-17 10:41:30 +0200 | <dminuoso> | Second: | 
| 2022-10-17 10:41:50 +0200 | <dminuoso> | You might want the build script to keep an *additional* symlink at a known path | 
| 2022-10-17 10:42:07 +0200 | <Phaseditto> | hm okay | 
| 2022-10-17 10:42:19 +0200 | <dminuoso> | Such that your X start script can `exec` directly into the existing binary, rather than relying on xmonad -- because that would try and `build` first (causing a delay) | 
| 2022-10-17 10:42:39 +0200 | <dminuoso> | (In a custom build script, xmonad does not do any caching at the moment) | 
| 2022-10-17 10:42:41 +0200 | <Phaseditto> | okay | 
| 2022-10-17 10:43:30 +0200 | <Phaseditto> | i presume when i got the build script in ~/.xmonad/ or ~/.config/xmonad/ i need the corresponsing files around there aswell, such as the cabal file and xmonad.hs | 
| 2022-10-17 10:43:43 +0200 | <dminuoso> | That doesnt really matter | 
| 2022-10-17 10:43:49 +0200 | <dminuoso> | as long as the build script itself executes. | 
| 2022-10-17 10:44:01 +0200 | <dminuoso> | so you can shuffle things around, but then adapt the build script to locate the proper directory | 
| 2022-10-17 10:44:08 +0200 | <Phaseditto> | ah yeah | 
| 2022-10-17 10:44:11 +0200 | <Phaseditto> | that was what i meant | 
| 2022-10-17 10:44:15 +0200 | <dminuoso> | As soon as xmonad detects the build script, it really doesnt care about anything. it just calls that script | 
| 2022-10-17 10:44:43 +0200 | <dminuoso> | Its then the scripts responsibility to produce an xmonad executable at the given argument | 
| 2022-10-17 10:53:20 +0200 | <Phaseditto> | I will set everything up and test it out, that would be so cool if it would work | 
| 2022-10-17 10:59:48 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) | 
| 2022-10-17 11:05:55 +0200 | andrejsh[m] | (~andrejshm@2001:470:69fc:105::2:a171) | 
| 2022-10-17 11:06:33 +0200 | <Phaseditto> | should i compile xmobar myself aswell or just take the xmobar-0.42_1 from xbps? | 
| 2022-10-17 11:23:07 +0200 | <dminuoso> | Up to you, really. | 
| 2022-10-17 11:23:15 +0200 | <dminuoso> | I would just use `cabal install` for this. | 
| 2022-10-17 11:36:08 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 11:37:31 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving) | 
| 2022-10-17 11:42:57 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 11:51:31 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 11:54:11 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 11:55:19 +0200 | <Phaseditto> | almost done with it, though when i try to start it it immediately closes and the error log is non conclusive: | 
| 2022-10-17 11:55:20 +0200 | <Phaseditto> | $ /home/user/.xmonad/build /home/user/.xmonad/xmonad-x86_64-linux | 
| 2022-10-17 11:59:50 +0200 | <geekosaur> | if you're using cabal, drop 'exec 1>&2' near the top of the buildscript so cabal sends the error messages to the right place (sigh) | 
| 2022-10-17 12:00:00 +0200 | <geekosaur> | or run "xmonad --recompile" in a terminal | 
| 2022-10-17 12:01:34 +0200 | <Phaseditto> | it recompiles successfully | 
| 2022-10-17 12:02:47 +0200 | <geekosaur> | also you usually can't start xmonad directly because another window manager will already be running so it'll get an error about "access to private resource denied" | 
| 2022-10-17 12:03:25 +0200 | <geekosaur> | that or you are trying to run it from a text terminal and it'll fail to connect to an X server; it does not start the server itself | 
| 2022-10-17 12:03:52 +0200 | <geekosaur> | if you're at a virtual console, try: startx /path/to/xmonad | 
| 2022-10-17 12:04:23 +0200 | <geekosaur> | (you must specify the full path or it'll use the default window manager and pass "xmonad" as a parameter to it. startx is weird) | 
| 2022-10-17 12:05:45 +0200 | <Phaseditto> | my tests were done through configuration in lightdm | 
| 2022-10-17 12:05:58 +0200 | <Phaseditto> | just throws me back to the greeter | 
| 2022-10-17 12:07:48 +0200 | <geekosaur> | 😞 | 
| 2022-10-17 12:09:52 +0200 | <geekosaur> | is there anything in .xsession-errors? | 
| 2022-10-17 12:12:24 +0200 | <Phaseditto> | lemme check | 
| 2022-10-17 12:13:54 +0200 | <Phaseditto> | oh... | 
| 2022-10-17 12:14:13 +0200 | <Phaseditto> | "Couldn't exec xmonad: No such file or directory" | 
| 2022-10-17 12:14:39 +0200 | <geekosaur> | x11 via a greeter won't have the path your terminal does | 
| 2022-10-17 12:14:55 +0200 | <Phaseditto> | i made a .desktop file for it | 
| 2022-10-17 12:15:11 +0200 | <Phaseditto> | thought that would solve the problem | 
| 2022-10-17 12:15:46 +0200 | <Phaseditto> | should probably enter the whole path in the exec section of said file | 
| 2022-10-17 12:15:59 +0200 | <geekosaur> | you would still need a full pathname, or use a wrapper script that sets $PATH (I used a wrapper script that did "source ~/.profile" until I arranged for X11 to do so itself) | 
| 2022-10-17 12:16:28 +0200 | <Phaseditto> | so either i have the corresponding binary in /usr/bin or i put the whole path | 
| 2022-10-17 12:16:37 +0200 | <geekosaur> | yes | 
| 2022-10-17 12:16:45 +0200 | <Phaseditto> | alright, will try that in a bit | 
| 2022-10-17 12:19:15 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 12:26:36 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 12:26:44 +0200 | <Phaseditto> | Ladies and Gentlemen, it works | 
| 2022-10-17 12:26:57 +0200 | <Phaseditto> | currently on xmonad on void | 
| 2022-10-17 12:27:18 +0200 | <Phaseditto> | With my own config, xmobar and everything | 
| 2022-10-17 12:27:32 +0200 | <dminuoso> | Very nice :) | 
| 2022-10-17 12:27:40 +0200 | <dminuoso> | And with a custom v2-build ontop. | 
| 2022-10-17 12:28:29 +0200 | <Phaseditto> | Entirely separate from xbps but that's not a problem for me, might even prove as a somewhat portable setup | 
| 2022-10-17 12:28:53 +0200 | <dminuoso> | Yes, this is definitely more portable. | 
| 2022-10-17 12:29:12 +0200 | <dminuoso> | Outside of native dependencies, all haskell dependencies can be constrained or even pinned | 
| 2022-10-17 12:29:21 +0200 | <dminuoso> | (via tight bounds or lock file) | 
| 2022-10-17 12:29:34 +0200 | <Phaseditto> | Again, thank you and geekosaur for the help | 
| 2022-10-17 12:29:42 +0200 | <dminuoso> | You're welcome. | 
| 2022-10-17 12:30:46 +0200 | <Phaseditto> | When i am less sick and got more time i might write a little documentation for the Void crowd how to get xmonad running there. It initially kept me from switching to the distro since i had to opt for DWM to have a somewhat similar experience | 
| 2022-10-17 12:32:58 +0200 | <dminuoso> | Feel free to supply that documentation to our wiki at https://wiki.haskell.org/Xmonad | 
| 2022-10-17 12:33:38 +0200 | <Phaseditto> | When i get around to it, i will set a reminder for myself | 
| 2022-10-17 12:33:48 +0200 | <Phaseditto> | When i get around to it, until then i will set a reminder for myself | 
| 2022-10-17 12:34:06 +0200 | <Phaseditto> | Whoops, new-era messenger habit | 
| 2022-10-17 12:49:47 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 12:55:10 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) | 
| 2022-10-17 12:58:53 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 13:11:51 +0200 | Ehllie | (~Thunderbi@217-67-208-66.itsa.net.pl) (Ping timeout: 252 seconds) | 
| 2022-10-17 13:14:35 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 13:15:27 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 13:19:48 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Client Quit) | 
| 2022-10-17 13:36:29 +0200 | <Solid> | (please add it to the website instead of a desolate wiki) | 
| 2022-10-17 13:45:26 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) | 
| 2022-10-17 13:48:39 +0200 | <geekosaur> | they already left | 
| 2022-10-17 13:49:11 +0200 | <Solid> | oh | 
| 2022-10-17 14:05:32 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 268 seconds) | 
| 2022-10-17 14:12:46 +0200 | Ehllie | (~Thunderbi@217-67-208-66.itsa.net.pl) | 
| 2022-10-17 14:28:33 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds) | 
| 2022-10-17 14:43:20 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) | 
| 2022-10-17 14:43:57 +0200 | <Phaseditto> | Solid i was merely gone and i read through the logs. will do when i get around to do that | 
| 2022-10-17 14:44:27 +0200 | <Phaseditto> | Haven't installed an IRC client yet so this is just a guest session over my browser | 
| 2022-10-17 14:53:30 +0200 | <geekosaur> | you may be interested in matrix | 
| 2022-10-17 14:54:25 +0200 | <geekosaur> | see https://element.io (element is the most popular, but not the only, matrix client) | 
| 2022-10-17 14:55:20 +0200 | <geekosaur> | https://matrix.org has a list of other clients | 
| 2022-10-17 14:55:25 +0200 | <Phaseditto> | I have my own matrix / elment server but it's unfederated and i muslti sessions are not a thing yet | 
| 2022-10-17 14:55:37 +0200 | <geekosaur> | ah | 
| 2022-10-17 14:56:06 +0200 | Phaseditto | (~Phaseditt@p200300f03f0a9400773b3c68de96c9f8.dip0.t-ipconnect.de) (Quit: Client closed) | 
| 2022-10-17 15:05:57 +0200 | Phaseditto | (~r5on11c@p5ddf8ff3.dip0.t-ipconnect.de) | 
| 2022-10-17 15:06:29 +0200 | <Phaseditto> | Test, is this working? | 
| 2022-10-17 15:10:34 +0200 | <geekosaur> | yes | 
| 2022-10-17 15:11:19 +0200 | <Phaseditto> | Good, i set up irssi real quick so i don't have to do this over the browser | 
| 2022-10-17 15:11:56 +0200 | geekosaur | prefers hexchat | 
| 2022-10-17 15:12:01 +0200 | <geekosaur> | but whatever floats your boat | 
| 2022-10-17 15:12:19 +0200 | <Phaseditto> | i literally took the first thing the gentoo people answered in their Discord | 
| 2022-10-17 15:13:08 +0200 | <Phaseditto> | also i am a Terminal rat, so i like CLIs (i know they are more cumbersome overall ^^') | 
| 2022-10-17 15:13:43 +0200 | <geekosaur> | I hang out in a couple channels which use flags and such that don't render right in most terminals | 
| 2022-10-17 15:14:05 +0200 | <geekosaur> | and emoticons (borderline) etc. | 
| 2022-10-17 15:14:38 +0200 | <geekosaur> | mostly I use matrix from my phone because irc clients for android suck | 
| 2022-10-17 15:15:04 +0200 | <geekosaur> | but doing chanop stuff sucks even more from matrix so I use a real irc client on the desktop | 
| 2022-10-17 15:15:29 +0200 | <geekosaur> | (chanop here, #haskell* channels, ##soccer) | 
| 2022-10-17 15:15:42 +0200 | <Phaseditto> | Yeah i haven't used IRC in years but slowly i prefer it more over the alternatives again | 
| 2022-10-17 15:20:47 +0200 | <Phaseditto> | I have this odd behavior that, when i recompile xmonad and restart it i don't see any changes. The restart is happening, i can see the very short flicker but i only get the changes when i log out and in again | 
| 2022-10-17 15:27:13 +0200 | <geekosaur> | are you changing your layout hook? | 
| 2022-10-17 15:27:29 +0200 | <Phaseditto> | the build file is in ~/.xmonad/ . The only difference is that the xmonad folder is symlinked but that should not pose a problem, no? | 
| 2022-10-17 15:27:41 +0200 | <geekosaur> | it doesn't | 
| 2022-10-17 15:28:03 +0200 | <geekosaur> | if you change only your layout hook and the type doesn't change, it will be ignored until you mod-shift-space | 
| 2022-10-17 15:28:32 +0200 | <Phaseditto> | This time for instance i changed myFocusBorderColor to a different value | 
| 2022-10-17 15:28:35 +0200 | <geekosaur> | because it doesn't detect the change at runtime and there are things like changing the number of master windows that you might want to keep across restarts | 
| 2022-10-17 15:28:43 +0200 | <geekosaur> | oh, that should have worked | 
| 2022-10-17 15:28:47 +0200 | <Phaseditto> | thought so | 
| 2022-10-17 15:30:22 +0200 | <Phaseditto> | makes adjusting the look quite the hassle | 
| 2022-10-17 15:31:53 +0200 | <geekosaur> | hm. I use a build script and I can chang stuff at runtime fine without having to log out/in | 
| 2022-10-17 15:32:47 +0200 | <Phaseditto> | maybe i am missing something in my build script? | 
| 2022-10-17 15:33:10 +0200 | <geekosaur> | probably not or logging out and in wouldn't do it either | 
| 2022-10-17 15:33:36 +0200 | <Phaseditto> | makes sense but then i have no idea what's wrong | 
| 2022-10-17 15:36:06 +0200 | <geekosaur> | neither do I 😞 if the one works then the other should as well | 
| 2022-10-17 15:36:16 +0200 | <Phaseditto> | the rest is state handling | 
| 2022-10-17 15:36:35 +0200 | <Phaseditto> | i could remove the xmonad.state but that would probably just make it crash | 
| 2022-10-17 15:37:29 +0200 | <geekosaur> | they're actually the same code path, mod-q recompiles if necedssary and then re-exsecs xmonad. the only difference is the new one is passed a parameter pointing to a state file preserving the layout and ExtensibleState, neither of which is involved with border color | 
| 2022-10-17 15:40:38 +0200 | <Phaseditto> | The thing is that literally no changes go through. Key bindings aswell | 
| 2022-10-17 15:40:52 +0200 | <Phaseditto> | until i log | 
| 2022-10-17 15:41:13 +0200 | <geekosaur> | yes, that sounds like it's running the old version of your compiled config | 
| 2022-10-17 15:41:27 +0200 | <geekosaur> | can you pastebin your build script? | 
| 2022-10-17 15:41:30 +0200 | <geekosaur> | @where paste | 
| 2022-10-17 15:41:30 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com | 
| 2022-10-17 15:41:54 +0200 | <Phaseditto> | https://paste.tomsmeding.com/Mgcmm9bC | 
| 2022-10-17 15:42:16 +0200 | <Phaseditto> | literally as simple as can be | 
| 2022-10-17 15:44:20 +0200 | <geekosaur> | hm. actually I wonder if that works. you might check the session file for errors | 
| 2022-10-17 15:44:48 +0200 | <Phaseditto> | aite | 
| 2022-10-17 15:44:56 +0200 | <geekosaur> | it occurs to me that the file that's being written is the one that';s running and something might be throwing ETXTBSY as a result | 
| 2022-10-17 15:45:46 +0200 | <Phaseditto> | thanks for the hint i will check it out in a bit | 
| 2022-10-17 15:45:53 +0200 | <geekosaur> | I have mine copy instead of linking out of cabal's build area, and move the old one to a backup, so that can't happen | 
| 2022-10-17 15:46:16 +0200 | <Phaseditto> | ah yeah i might try that in a bit | 
| 2022-10-17 15:46:23 +0200 | <Phaseditto> | currently in a sudden VC | 
| 2022-10-17 15:58:57 +0200 | <geekosaur> | (if you're wondering how this would work on login, that recompile (forced because it can't know when to rebuild when you have a build script) is done by the main xmonad binary instead of by your compiled config like mod-q restarts) | 
| 2022-10-17 16:03:12 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) | 
| 2022-10-17 16:04:02 +0200 | cfricke | (~cfricke@user/cfricke) | 
| 2022-10-17 16:13:39 +0200 | amenonsen | (~amenonsen@pitta.toroid.org) (Remote host closed the connection) | 
| 2022-10-17 16:14:01 +0200 | amenonsen | (~amenonsen@pitta.toroid.org) | 
| 2022-10-17 16:20:08 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) | 
| 2022-10-17 16:34:55 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) | 
| 2022-10-17 16:56:41 +0200 | Ehllie | (~Thunderbi@217-67-208-66.itsa.net.pl) (Ping timeout: 260 seconds) | 
| 2022-10-17 17:19:05 +0200 | telser | (~quassel@user/telser) | 
| 2022-10-17 17:19:05 +0200 | telser | (~quassel@user/telser) (Client Quit) | 
| 2022-10-17 17:23:22 +0200 | <Phaseditto> | geekosaur can you paste your build script maybe? | 
| 2022-10-17 17:25:10 +0200 | <geekosaur> | I'm just using the example cabal build script. https://github.com/geekosaur/xmonad.hs/blob/skkukuk/build | 
| 2022-10-17 17:26:14 +0200 | <xmonadtrack> | xmonad-contrib Tony Zorman * v0.17.1-33-g4d7ae81f: X.U.Parser: Feature parity with ReadP (2 weeks ago, 2 files, 103+ 2-) https://github.com/xmonad/xmonad-contrib/commit/4d7ae81f7ad7 | 
| 2022-10-17 17:26:14 +0200 | <xmonadtrack> | xmonad-contrib Tony Zorman * v0.17.1-34-g0bef428f: X.U.Parser: Inline definitions (13 days ago, 1 file, 36+ 4-) https://github.com/xmonad/xmonad-contrib/commit/0bef428f8fe5 | 
| 2022-10-17 17:26:17 +0200 | <Phaseditto> | hold on, this script uses cabal install instead of cabal build, does that make any difference? | 
| 2022-10-17 17:26:20 +0200 | <xmonadtrack> | xmonad-contrib Tony Zorman * v0.17.1-35-g2b1a15c9: X.P.OrgMode: Remove pLast (2 weeks ago, 1 file, 2+ 7-) https://github.com/xmonad/xmonad-contrib/commit/2b1a15c9e57d | 
| 2022-10-17 17:26:27 +0200 | <xmonadtrack> | xmonad-contrib Tony Zorman {GitHub} * v0.17.1-41-g05c4c776: Merge pull request #759 from slotThe/parser/feature-parity (2 minutes ago, 0 files, 0+ 0-) https://github.com/xmonad/xmonad-contrib/commit/05c4c776af3a | 
| 2022-10-17 17:27:27 +0200 | <geekosaur> | you're using list-bin to grab the built config, the build script uses install to lift it out of dist-newstyle | 
| 2022-10-17 17:27:40 +0200 | <geekosaur> | mostly this is left over from cabal v1, at some point I may rewrite it | 
| 2022-10-17 17:31:03 +0200 | <geekosaur> | either way you would need to mv (not cp) the running config to a backup name before installing (however you do it) the new one | 
| 2022-10-17 17:31:34 +0200 | <Phaseditto> | why is that | 
| 2022-10-17 17:31:44 +0200 | <geekosaur> | but this is probably harder if you ln to the build artifact in dist_newstyle because you'd need to find and move it before running cabal | 
| 2022-10-17 17:31:55 +0200 | <geekosaur> | [17 13:44:56] <geekosaur> it occurs to me that the file that's being written is the one that';s running and something might be throwing ETXTBSY as a result | 
| 2022-10-17 17:32:28 +0200 | <geekosaur> | basically you can't overwrite a file that is currently running because the OS expects to be able to load pages from it on the fly | 
| 2022-10-17 17:32:35 +0200 | <Phaseditto> | ooooh yeah | 
| 2022-10-17 17:32:38 +0200 | <Phaseditto> | that makes sense | 
| 2022-10-17 17:32:53 +0200 | <Phaseditto> | hm | 
| 2022-10-17 17:34:38 +0200 | <geekosaur> | I'd say instead of ln -sf you cp, and before doing that mv the existing one out of the way | 
| 2022-10-17 17:34:54 +0200 | <Phaseditto> | i could give that a try, gimme a sec | 
| 2022-10-17 17:35:34 +0200 | <Phaseditto> | Hold on, remove the symlink or the actual file? | 
| 2022-10-17 17:36:07 +0200 | <geekosaur> | it won;t be a symlink any more, it would be a copy | 
| 2022-10-17 17:36:13 +0200 | <Phaseditto> | right | 
| 2022-10-17 17:36:22 +0200 | <geekosaur> | otherwise you're just pushing the problem down into dist_newstyle | 
| 2022-10-17 17:36:31 +0200 | <geekosaur> | and it'll be harder to do the backup step | 
| 2022-10-17 17:37:33 +0200 | <Phaseditto> | so instead of "ln -sf "$bin" "$1" i do rm "$1" and cp "$bin" "$1" | 
| 2022-10-17 17:38:14 +0200 | <geekosaur> | well, I'd do `mv "$1" "$1.bak"` but I think if you `rm` it it gets copied to swap | 
| 2022-10-17 17:38:21 +0200 | <geekosaur> | so it can keep paging from it | 
| 2022-10-17 17:38:50 +0200 | <Phaseditto> | i will try the rm version, see how that goes | 
| 2022-10-17 17:39:28 +0200 | <geekosaur> | (the OS can't know you're immediately going to exec the new file) | 
| 2022-10-17 17:39:56 +0200 | <geekosaur> | hm, actually neither can you, --recompile is separate from --restart) | 
| 2022-10-17 17:40:05 +0200 | <Phaseditto> | yup | 
| 2022-10-17 17:40:15 +0200 | <Phaseditto> | also it did't change | 
| 2022-10-17 17:40:26 +0200 | <Phaseditto> | i can try to mv but i think that also makes no difference | 
| 2022-10-17 17:43:42 +0200 | <geekosaur> | first one wouldn't work because it'd be moving the symlink which will do nothing useful | 
| 2022-10-17 17:43:52 +0200 | <geekosaur> | I mean,m the first restart after the change | 
| 2022-10-17 17:44:08 +0200 | <Phaseditto> | i tried the mv after i switched to cping | 
| 2022-10-17 17:44:12 +0200 | <Phaseditto> | didn't work either | 
| 2022-10-17 17:44:37 +0200 | <geekosaur> | hm. pastebin your current build script? | 
| 2022-10-17 17:44:41 +0200 | <Phaseditto> | sure, sec | 
| 2022-10-17 17:45:00 +0200 | <Phaseditto> | https://paste.tomsmeding.com/Juzs0JRr | 
| 2022-10-17 17:45:32 +0200 | <geekosaur> | that should work 😞 | 
| 2022-10-17 17:45:38 +0200 | <[Leary]> | Phaseditto: If you're using `launch` in your xmonad.hs, you might need to switch it for `xmonad`. If not, rather than the build script, I want to know what your logs show. | 
| 2022-10-17 17:45:49 +0200 | <Phaseditto> | lemme check | 
| 2022-10-17 17:46:22 +0200 | <Phaseditto> | nope, no launch | 
| 2022-10-17 17:48:12 +0200 | <Phaseditto> | XMonad is recompiling and replacing itself with another XMonad process because the current process is called "xmonad" but the compiled configuration should be called "xmonad-x86_64-linux" | 
| 2022-10-17 17:48:16 +0200 | <Phaseditto> | lul | 
| 2022-10-17 17:49:24 +0200 | <geekosaur> | yes, that's an unfortunate message that happens because the first compile is done by xmonad instead of your config, as I described earlier | 
| 2022-10-17 17:49:49 +0200 | <Phaseditto> | well it says that twice | 
| 2022-10-17 17:50:05 +0200 | <Phaseditto> | should i just copy it as "xmonad"? | 
| 2022-10-17 17:50:12 +0200 | <geekosaur> | no | 
| 2022-10-17 17:50:40 +0200 | <Phaseditto> | can i tell restart to use a specific file? | 
| 2022-10-17 17:51:18 +0200 | <geekosaur> | if you replace th keybinding, yes | 
| 2022-10-17 17:53:39 +0200 | <geekosaur> | https://hackage.haskell.org/package/xmonad-0.17.1/docs/XMonad-Operations.html#v:restart | 
| 2022-10-17 17:55:30 +0200 | <Phaseditto> | does it matter where i define the restart behavior in the HS file? | 
| 2022-10-17 17:56:36 +0200 | <geekosaur> | this would be a keybinding | 
| 2022-10-17 17:56:52 +0200 | <Phaseditto> | ah okay | 
| 2022-10-17 18:01:10 +0200 | <Phaseditto> | something like this: | 
| 2022-10-17 18:01:12 +0200 | <Phaseditto> | , ("M-q", restart "/home/r5on11c/.xmonad/xmonad-x86_64-linux" True) -- Restart xmonad | 
| 2022-10-17 18:01:59 +0200 | <geekosaur> | that will restart but not recompile | 
| 2022-10-17 18:02:35 +0200 | <Phaseditto> | yeah i know, i haven't done concatenated commands within a single keybind yet | 
| 2022-10-17 18:03:46 +0200 | <geekosaur> | use >> to chain commands | 
| 2022-10-17 18:03:58 +0200 | <Phaseditto> | gotcha | 
| 2022-10-17 18:04:39 +0200 | <geekosaur> | that said, `recompile` is something of a pain to use directly and you can't spawn `xmonad --recompile` because it will run in the background (and you want it to, you don't want xmonad to block while compiling) | 
| 2022-10-17 18:05:18 +0200 | <Phaseditto> | that's a shame.. | 
| 2022-10-17 18:06:05 +0200 | <Phaseditto> | i will restart xmonad manually with logging out and in so i at least have that at my disposal | 
| 2022-10-17 18:06:18 +0200 | Phaseditto | (~r5on11c@p5ddf8ff3.dip0.t-ipconnect.de) (Quit: Lost terminal) | 
| 2022-10-17 18:09:06 +0200 | Phaseditto | (~r5on11c@p5ddf8ff3.dip0.t-ipconnect.de) | 
| 2022-10-17 18:09:22 +0200 | <Phaseditto> | there we go | 
| 2022-10-17 18:10:56 +0200 | <Phaseditto> | the restart works accordingly, that makes things easier | 
| 2022-10-17 18:14:07 +0200 | <Phaseditto> | i set it back to symlinking and it still seems to work | 
| 2022-10-17 18:14:30 +0200 | <Phaseditto> | don't know which method is preferrable | 
| 2022-10-17 18:57:28 +0200 | <dminuoso> | geekosaur: How does xmonad know that compilation is done? | 
| 2022-10-17 18:58:28 +0200 | <geekosaur> | it doesn't. these days the restart sequence is `spawn "xmonad --recompile; xmonad --restart"` and the restart message comes in when it's done | 
| 2022-10-17 18:58:43 +0200 | <dminuoso> | So the manager is blocked while recompilation is going on? | 
| 2022-10-17 18:58:47 +0200 | <geekosaur> | no | 
| 2022-10-17 18:58:54 +0200 | <dminuoso> | Oh `spawn` sorry! | 
| 2022-10-17 18:58:59 +0200 | <geekosaur> | the whole thing is backgrounded | 
| 2022-10-17 18:59:32 +0200 | <dminuoso> | Ohh I see, so its actually the spawned thread that will, outside, call xmonad again, triggering the replacement | 
| 2022-10-17 18:59:39 +0200 | <geekosaur> | but the shell sequence isn't so *it* (but not xmonad) knows when compilation is done, and sends XMONAD_RESTART | 
| 2022-10-17 18:59:41 +0200 | <dminuoso> | or *process rather | 
| 2022-10-17 19:00:30 +0200 | <geekosaur> | (client message sent to the root window; xmonad listens for that and does the actual restart) | 
| 2022-10-17 19:00:57 +0200 | <dminuoso> | Okay, and `spawn` just double forks. | 
| 2022-10-17 19:01:01 +0200 | <geekosaur> | yes | 
| 2022-10-17 19:03:51 +0200 | <dminuoso> | So it seems to me, that one can also just bind a key to `spawn "/path/to/build; xmonad --restart"` too, | 
| 2022-10-17 19:04:15 +0200 | <geekosaur> | right, but it's te restart part that Phaseditto was trying to replace, not the compile part | 
| 2022-10-17 19:04:17 +0200 | <dminuoso> | Adapt the build script to forward stderr to the xmonad.errors directory | 
| 2022-10-17 19:04:25 +0200 | <dminuoso> | Fair | 
| 2022-10-17 19:05:10 +0200 | <geekosaur> | also build wants a parameter which is the binary to create | 
| 2022-10-17 19:07:10 +0200 | <dminuoso> | Yeah, figured that one out already :) | 
| 2022-10-17 19:07:18 +0200 | <dminuoso> | The interface is somewhat quirky | 
| 2022-10-17 19:07:37 +0200 | <dminuoso> | I mean the entire restart/startup/rebuild interface | 
| 2022-10-17 19:07:47 +0200 | <dminuoso> | Cant quite put my thumb on it, but it doesnt feel right | 
| 2022-10-17 19:07:51 +0200 | <geekosaur> | there's also fun stuff like cabal redirecting errors to stdout | 
| 2022-10-17 19:08:13 +0200 | <geekosaur> | it's not so much designed as grown from a much simpler setup | 
| 2022-10-17 19:08:41 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.7) | 
| 2022-10-17 19:09:02 +0200 | <dminuoso> | If only I was interested in hacking on my xmonad config again, I might be motivated to invest some work | 
| 2022-10-17 19:09:17 +0200 | <dminuoso> | But as the old saying goes: never change a running xmonad config. | 
| 2022-10-17 19:39:13 +0200 | <Phaseditto> | Currently spending my time making my xmobar resemble my DWM setup | 
| 2022-10-17 19:40:34 +0200 | <Phaseditto> | i can't pass the restart parameters when call the restart in the terminal, can i? | 
| 2022-10-17 19:40:58 +0200 | <Phaseditto> | If i could i could just make a recompile & restart script that handles the timing | 
| 2022-10-17 19:41:24 +0200 | <geekosaur> | calling `xmonad --restart` sends the restart parameters automatically | 
| 2022-10-17 19:41:37 +0200 | <geekosaur> | [17 16:58:28] <geekosaur> it doesn't. these days the restart sequence is `spawn "xmonad --recompile; xmonad --restart"` and the restart message comes in when it's done | 
| 2022-10-17 19:42:23 +0200 | <geekosaur> | (`xmonad --restart` just sends an `XMONAD_RESTART` message to the root window; xmonad handles that in its builtin event handler and does `restart (its own path) True` | 
| 2022-10-17 19:44:48 +0200 | <Phaseditto> | though i would need to set the restart path in the xmonad.hs then yes? | 
| 2022-10-17 19:45:03 +0200 | <Phaseditto> | since i have only done so for the keybinding, but not globally for xmonad itself | 
| 2022-10-17 19:46:20 +0200 | <geekosaur> | you could conceivably duplicate the `handle` code in your `handleEventHook` with your own path | 
| 2022-10-17 19:46:39 +0200 | <Phaseditto> | i mean elsewise it would do default behavior and i would end up with the same problem | 
| 2022-10-17 19:47:20 +0200 | <geekosaur> | https://github.com/xmonad/xmonad/blob/master/src/XMonad/Main.hs#L415-L419 | 
| 2022-10-17 19:48:00 +0200 | <geekosaur> | if you handle it in `handleEventHook` it'll override the built-in behavior | 
| 2022-10-17 19:49:19 +0200 | <Phaseditto> | gonna check that | 
| 2022-10-17 19:49:50 +0200 | <Phaseditto> | that configuration right there only tackles the restart event right? | 
| 2022-10-17 19:50:14 +0200 | <geekosaur> | yes | 
| 2022-10-17 19:50:36 +0200 | <geekosaur> | if you look around it you'll notice that it's just one out of a bunch of equations for `handle` | 
| 2022-10-17 19:51:29 +0200 | <Phaseditto> | yeah, which was what i suspected but my haskell syntax understanding is pretty rudamentary | 
| 2022-10-17 19:51:55 +0200 | <Phaseditto> | let me give that a spin | 
| 2022-10-17 19:52:42 +0200 | <geekosaur> | you can't quite use it as is, handleEventHook has different semantics from the built-in handler | 
| 2022-10-17 19:55:40 +0200 | <geekosaur> | https://paste.tomsmeding.com/T9NZv9yx | 
| 2022-10-17 19:56:20 +0200 | <Phaseditto> | was about to say, it don't work :D | 
| 2022-10-17 19:56:29 +0200 | <geekosaur> | technically "wrong" as the restart leg should return (All False) to indicate it's been handled… but if it's been handled then that should never be reached 🙂 | 
| 2022-10-17 19:57:15 +0200 | <Phaseditto> | is the inclusion of handle _ = return (All True) intentional? | 
| 2022-10-17 19:57:19 +0200 | <geekosaur> | yes | 
| 2022-10-17 19:57:50 +0200 | <geekosaur> | you aren't handling all possible events, you're taking one event type and handling it, and passing everything else on to the default handler | 
| 2022-10-17 19:58:18 +0200 | <Phaseditto> | roger | 
| 2022-10-17 19:58:37 +0200 | <geekosaur> | so the first one matches the ClientMessageEvent and the second one matches everything else and says "we didn't handle this, do the default handler" | 
| 2022-10-17 19:59:12 +0200 | <Phaseditto> | i suppose the when was suppposed to be a then | 
| 2022-10-17 19:59:18 +0200 | <geekosaur> | no | 
| 2022-10-17 19:59:26 +0200 | <geekosaur> | @i8ndex when | 
| 2022-10-17 19:59:26 +0200 | <lambdabot> | Control.Monad | 
| 2022-10-17 19:59:39 +0200 | <Phaseditto> | oh misread | 
| 2022-10-17 19:59:48 +0200 | <Phaseditto> | though it does not compile | 
| 2022-10-17 19:59:53 +0200 | <geekosaur> | when <condition> <monadic action> | 
| 2022-10-17 19:59:58 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) | 
| 2022-10-17 20:00:08 +0200 | <geekosaur> | and it performs a default (`return ()`) if the condition is false | 
| 2022-10-17 20:00:47 +0200 | <geekosaur> | so it's shorter than `if <condition> then <action> else return ()` which is what you'd have to write otherwise | 
| 2022-10-17 20:01:15 +0200 | <geekosaur> | (you do not want the `sendMessage` the builtin handler does, you want to pass it on to the default handler) | 
| 2022-10-17 20:01:17 +0200 | <Phaseditto> | https://paste.tomsmeding.com/mw0sUdTe | 
| 2022-10-17 20:01:55 +0200 | <geekosaur> | did you see the `@index` I did? you need to import Control.Monad to have `when` | 
| 2022-10-17 20:02:16 +0200 | <geekosaur> | (`whenX` does something a bit different and wrong here) | 
| 2022-10-17 20:02:17 +0200 | <Phaseditto> | oh sorry, not entirely there. Still sick, excuse my lack of attentiveness ^^' | 
| 2022-10-17 20:03:25 +0200 | <Phaseditto> | compiling succeeded | 
| 2022-10-17 20:04:33 +0200 | <Phaseditto> | still does not work | 
| 2022-10-17 20:04:56 +0200 | <Phaseditto> | Not a biggie, i might check on later why that is | 
| 2022-10-17 20:05:15 +0200 | <geekosaur> | hm | 
| 2022-10-17 20:37:17 +0200 | <Phaseditto> | different topic, does anyone here use pipewire, and  if yes, do you start it via the startup hook of xmonad? | 
| 2022-10-17 20:41:07 +0200 | <Phaseditto> | or in a different manner? | 
| 2022-10-17 20:41:36 +0200 | <geekosaur> | I run under MATE so that kind of thing is started by its session manager | 
| 2022-10-17 20:47:01 +0200 | <Phaseditto> | usually i just call pipewire via a corresponding script. I tried to call it in the startingHook via spawnOnce but that did not work | 
| 2022-10-17 20:48:12 +0200 | <geekosaur> | typically you need to invoke it in such a way that things can get at the environment variables it sents | 
| 2022-10-17 20:48:15 +0200 | <geekosaur> | *sets | 
| 2022-10-17 20:48:59 +0200 | <geekosaur> | which usually means either a startup script that starts a session, or one which returns envar settings and whose output needs to be `eval`ed in a shell | 
| 2022-10-17 20:50:28 +0200 | <geekosaur> | hm, first link I get for pipewire startup assumes systemd is used to plumb stuff together… | 
| 2022-10-17 20:50:38 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) | 
| 2022-10-17 20:52:27 +0200 | <geekosaur> | right, all the instructions I'm seeing assume it's a systemd user session. you will not be able to start it from xmonad if that's the case | 
| 2022-10-17 20:52:35 +0200 | <geekosaur> | you must configure systemd | 
| 2022-10-17 20:52:44 +0200 | <Phaseditto> | Void runs on runit | 
| 2022-10-17 20:52:55 +0200 | <Phaseditto> | in the documentation it just tells you to run it in the user-session | 
| 2022-10-17 20:53:14 +0200 | <Phaseditto> | Merely a matter of where do i sensibly start it from | 
| 2022-10-17 20:54:26 +0200 | <Phaseditto> | for instance dwm has a patch that executes a given script in a designated destionation once every startup / reboot, easy as pie. Just don't know where i would do such a thing in xmonad | 
| 2022-10-17 20:54:39 +0200 | <geekosaur> | https://forum.artixlinux.org/index.php/topic,2368.0.html | 
| 2022-10-17 20:55:19 +0200 | <geekosaur> | looks like spawns in the startupHook are expected to work | 
| 2022-10-17 20:55:42 +0200 | <geekosaur> | I have no idea how clients are supposed to find and rendezvous with the server in that case | 
| 2022-10-17 20:56:37 +0200 | <Phaseditto> | i mean i could also just use the dwm script from the startupHook | 
| 2022-10-17 20:56:54 +0200 | <Phaseditto> | it's just about the processes being started, that's it | 
| 2022-10-17 22:29:21 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 268 seconds) | 
| 2022-10-17 22:30:07 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:e9e7:bb14:f272:9a4b) | 
| 2022-10-17 22:30:24 +0200 | Ehllie | (~Thunderbi@79.184.245.117.ipv4.supernova.orange.pl) | 
| 2022-10-17 22:46:59 +0200 | Ehllie | (~Thunderbi@79.184.245.117.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds) | 
| 2022-10-17 23:01:16 +0200 | darkstardevx | (~darkstard@50.126.124.156) | 
| 2022-10-17 23:03:09 +0200 | darkstardevx | (~darkstard@50.126.124.156) (Remote host closed the connection) | 
| 2022-10-17 23:03:33 +0200 | darkstardevx | (~darkstard@50.126.124.156) | 
| 2022-10-17 23:10:34 +0200 | darkstardevx | (~darkstard@50.126.124.156) (Remote host closed the connection) | 
| 2022-10-17 23:10:57 +0200 | darkstardevx | (~darkstard@50.126.124.156) | 
| 2022-10-17 23:15:08 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) | 
| 2022-10-17 23:31:42 +0200 | abiss27 | (~abiss27@190.213.236.106) | 
| 2022-10-17 23:35:10 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:e9e7:bb14:f272:9a4b) (Remote host closed the connection) | 
| 2022-10-17 23:36:10 +0200 | Phaseditto | (~r5on11c@p5ddf8ff3.dip0.t-ipconnect.de) (Quit: Lost terminal) | 
| 2022-10-17 23:38:57 +0200 | stackdroid18 | (14094@user/stackdroid) | 
| 2022-10-17 23:56:41 +0200 | abiss27 | (~abiss27@190.213.236.106) (Ping timeout: 260 seconds) |