2020-12-15 00:22:32 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) (Ping timeout: 260 seconds) |
2020-12-15 00:26:36 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds) |
2020-12-15 00:47:00 +0100 | notis | (~notis@185.51.134.230) (Ping timeout: 256 seconds) |
2020-12-15 00:47:58 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) |
2020-12-15 01:06:53 +0100 | EnchanterTim | Hash |
2020-12-15 01:28:52 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) |
2020-12-15 01:28:54 +0100 | <Liskni_si> | Solid: here's a tip for your next cleanup: http://hackage.haskell.org/package/extensible-exceptions-0.1.1.4/docs/Control-Exception-Extensible… |
2020-12-15 01:29:10 +0100 | <Liskni_si> | it's used all over the place |
2020-12-15 01:32:19 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) (Client Quit) |
2020-12-15 01:46:14 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 260 seconds) |
2020-12-15 04:01:47 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) |
2020-12-15 04:19:45 +0100 | theDon | (~td@muedsl-82-207-238-224.citykom.de) (Read error: Connection reset by peer) |
2020-12-15 04:23:47 +0100 | theDon | (~td@94.134.91.212) |
2020-12-15 04:52:15 +0100 | tux1 | (~tux@116.251.216.46) |
2020-12-15 04:58:19 +0100 | <tux1> | how to build xmonad-contrib from source? simply cabal install? |
2020-12-15 05:03:37 +0100 | <tux1> | is it normal warnings to appear in xmonad contrib build> |
2020-12-15 05:03:39 +0100 | <tux1> | ? |
2020-12-15 05:04:08 +0100 | tux1 | (~tux@116.251.216.46) (Quit: WeeChat 2.9) |
2020-12-15 05:29:27 +0100 | ChubaDuba | (~ChubaDuba@37.112.227.86) |
2020-12-15 05:51:38 +0100 | MasseR | (~MasseR@51.15.143.128) (Quit: Ping timeout (120 seconds)) |
2020-12-15 05:52:01 +0100 | MasseR | (~MasseR@51.15.143.128) |
2020-12-15 06:19:25 +0100 | materiyolo | (~materiyol@112.204.171.225) |
2020-12-15 06:54:25 +0100 | <psibi[m]> | Yeah, it's normal. Although there is work being done to fix that. |
2020-12-15 06:55:14 +0100 | <psibi[m]> | Eg: https://github.com/xmonad/xmonad-contrib/pull/432 |
2020-12-15 06:55:14 +0100 | <psibi[m]> | And I see that the person who asked the question has left the room. :-) |
2020-12-15 07:00:12 +0100 | ChubaDuba | (~ChubaDuba@37.112.227.86) (Quit: WeeChat 1.6) |
2020-12-15 07:01:46 +0100 | palo1 | (~weechat@c-base/crew/palo) |
2020-12-15 07:05:02 +0100 | palo | (~weechat@c-base/crew/palo) (Ping timeout: 260 seconds) |
2020-12-15 07:05:02 +0100 | palo1 | palo |
2020-12-15 07:59:58 +0100 | palo1 | (~weechat@c-base/crew/palo) |
2020-12-15 08:00:22 +0100 | <Solid> | Liskni_si: I was afraid I'd turn into "the cleanup person" ;) |
2020-12-15 08:03:22 +0100 | palo | (~weechat@c-base/crew/palo) (Ping timeout: 260 seconds) |
2020-12-15 08:03:22 +0100 | palo1 | palo |
2020-12-15 08:14:26 +0100 | <Solid> | ?tell mc47 do you want to coordinate your efforts on #433 with #408 somehow? I also have xmobar killing in my dotfiles ( http://ix.io/2I7F ) in case you need more inspriration |
2020-12-15 08:14:27 +0100 | <lambdabot> | Consider it noted. |
2020-12-15 08:16:06 +0100 | materiyolo | (~materiyol@112.204.171.225) (Quit: WeeChat 2.9) |
2020-12-15 08:17:32 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-15 08:21:19 +0100 | sfrique | (~sfrique@189.122.177.88) (Ping timeout: 256 seconds) |
2020-12-15 08:23:21 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-15 08:26:16 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) |
2020-12-15 08:50:52 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2020-12-15 08:51:05 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-15 09:04:48 +0100 | notis | (~notis@185.51.134.230) |
2020-12-15 09:32:30 +0100 | mc47 | (~yecinem@89.246.239.190) |
2020-12-15 09:35:17 +0100 | <mc47> | Solid thanks for the tip! |
2020-12-15 09:35:34 +0100 | <mc47> | I thought about this more, and I had another idea that could work without even relying on persisting PIDs |
2020-12-15 09:37:00 +0100 | Hash | THC |
2020-12-15 09:37:53 +0100 | <mc47> | We could set a custom property when launching xmobar/dzen, and add a clean-up function that goes fetches all these windows with the custom property, fetches the _NET_WM_PID and kill that |
2020-12-15 09:40:41 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) |
2020-12-15 09:40:54 +0100 | davemq | (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-15 09:42:06 +0100 | davemq | (~davemq@2600:1700:b1c0:2580::4d8) |
2020-12-15 09:48:41 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-12-15 09:57:33 +0100 | <Solid> | do we need to set a custom property? |
2020-12-15 09:58:12 +0100 | <Solid> | we could probably search through all windows with _NET_WM_WINDOW_TYPE_DOCK |
2020-12-15 09:58:21 +0100 | <Solid> | and then match PIDs |
2020-12-15 10:01:30 +0100 | <mc47> | I thought if we set a property, we won't actually care if it's xmobar or dzen or anything else |
2020-12-15 10:01:44 +0100 | <mc47> | as long as it's a GUI and it has _NET_WM_PID, this will work on it |
2020-12-15 10:03:56 +0100 | <mc47> | the startup hook would then look somethnig like "cleanUp >> spawnOrRestart "xmobar" >> spawnOrRestart "another-thing-that-has-net-wm-pid" >> spawnOrRestart "dzen" " |
2020-12-15 10:16:27 +0100 | <Solid> | well if we check for _NET_WM_WINDOW_TYPE_DOCK we don't really care what status bar it is, just that it's indeed some sort of dock |
2020-12-15 10:16:52 +0100 | <Solid> | there's apparently even a 'Query' for it in X.H.ManageDocks.checkDoc |
2020-12-15 10:17:47 +0100 | <Solid> | we can probably just queryTree the root window on all screen and then filter that list of windows according to checkDoc (I think) |
2020-12-15 10:19:20 +0100 | THC | High |
2020-12-15 10:23:33 +0100 | <mc47> | I think that would also work, but we'd be limited to docks - which seems not to be a problem, since the problem we're currently having is with docks |
2020-12-15 10:28:44 +0100 | <Solid> | yes since this will be part of `statusBarProp` and the `docks` function that it calls internally to make space for the doc etc. also uses checkDoc and hence only cares about these windows I think that in this case we shouldn't care about just any window that sets _NET_WM_PID |
2020-12-15 10:36:32 +0100 | <mc47> | I see. Thanks Solid! I have a good idea on how it should look like, I'll get on it soon |
2020-12-15 10:39:26 +0100 | al3x27 | (~plovs@85.254.75.80) |
2020-12-15 10:47:26 +0100 | <Solid> | sounds good! |
2020-12-15 10:52:05 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) |
2020-12-15 10:58:11 +0100 | <joznia> | /exit |
2020-12-15 10:58:13 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) (Quit: leaving) |
2020-12-15 11:11:17 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) |
2020-12-15 11:12:24 +0100 | <joznia> | i've got a weird problem with my colors. when the master is focused and there is >=2 windows in the stack, they appear just fine, but if there is only window in the stack, it's just a darker version of the focused color. how can i change this? |
2020-12-15 11:16:20 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) (Quit: Lost terminal) |
2020-12-15 11:17:27 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) |
2020-12-15 11:29:24 +0100 | joznia | (~reno@162-206-187-245.lightspeed.renonv.sbcglobal.net) (Quit: Lost terminal) |
2020-12-15 11:38:11 +0100 | tomsmeding | (~tomsmedin@tomsmeding.com) ("WeeChat 2.9") |
2020-12-15 13:25:14 +0100 | davemq | (~davemq@2600:1700:b1c0:2580::4d8) (Ping timeout: 264 seconds) |
2020-12-15 13:26:00 +0100 | davemq | (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) |
2020-12-15 13:44:17 +0100 | geekosaur | (ac3a8b12@172.58.139.18) |
2020-12-15 14:47:09 +0100 | sgibber2018 | (~arch-gibb@208.85.237.137) (Ping timeout: 256 seconds) |
2020-12-15 14:59:13 +0100 | <Liskni_si> | mc47, Solid: I keep thinking about this xmobar restarting and I kind of wish we could use the user systemd for this or something :-) |
2020-12-15 14:59:45 +0100 | <Liskni_si> | if only it was capable of managing multiple sessions |
2020-12-15 14:59:54 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2020-12-15 14:59:57 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-15 15:00:38 +0100 | <Solid> | Liskni_si: That sounds even less portable than using pidfds :D |
2020-12-15 15:00:59 +0100 | <Liskni_si> | s/we/I/ then :-) |
2020-12-15 15:01:35 +0100 | <Liskni_si> | I tried to migrate my .xsession to user systemd yesterday, and it almost works, but I keep hitting a roadblock with support for multiple sessions |
2020-12-15 15:02:04 +0100 | <Liskni_si> | but it would be so easy to just delegate restarting of crashed comptons and alttabs to systemd and forget about it |
2020-12-15 15:02:52 +0100 | <mc47> | I'm even more clueless when it comes to systemd than when it comes to X11 |
2020-12-15 15:04:55 +0100 | <mc47> | BTW Solid I'm gonna rebase my branch on top of yours when I'll submit the PR, so when everything is reviewed we should merge yours first |
2020-12-15 15:05:09 +0100 | <Liskni_si> | well I'm just fantasizing |
2020-12-15 15:05:54 +0100 | Solid | uses runit so wants to stay as far away from systemd as possible |
2020-12-15 15:05:55 +0100 | <Solid> | :> |
2020-12-15 15:06:24 +0100 | <Liskni_si> | I love all the tools that systemd gives me: all the logging, status, process trees, etc. |
2020-12-15 15:06:53 +0100 | <Liskni_si> | and I'd love to have something like that for these little things that my xmonad invokes per-session |
2020-12-15 15:07:14 +0100 | <Solid> | mc47: sounds good; ping me when you have it up and I'll convert mine from a draft to a normal pr |
2020-12-15 15:07:24 +0100 | <Liskni_si> | doesn't need to be systemd, it's that I'd be losing all the tools and the associated muscle memory |
2020-12-15 15:13:11 +0100 | <mc47> | I have no idea why I feel intimidated by systemd.. Whenever I see it I'm like "oh please have mercy" |
2020-12-15 15:13:48 +0100 | <mc47> | Solid sure, it might take till the weekend though |
2020-12-15 15:14:10 +0100 | <Solid> | oh do take your time; no rush in xmonad land :) |
2020-12-15 15:14:15 +0100 | <Liskni_si> | possibly because one needs to learn a lot of stuff before it starts to make sense |
2020-12-15 15:17:31 +0100 | <Liskni_si> | for people like me who already know the concepts and all the troubles, systemd is a welcome abstraction, but it sure can be intimidating |
2020-12-15 15:17:38 +0100 | <Liskni_si> | just like any part of the modern desktop :-) |
2020-12-15 15:18:36 +0100 | <mc47> | It is intimidating, I remember it took me so much time to make xmonad work with KDE and understand what's going on |
2020-12-15 15:18:42 +0100 | kmicu | mumbles something about modern desktop defining rules in js and pulling in Rust to compile Spidermonkey. |
2020-12-15 15:20:09 +0100 | tugrik | (~username@war.funkyjesus.org) (Quit: WeeChat 2.9) |
2020-12-15 15:22:14 +0100 | <geekosaur> | dunno, I keeep hearing about systemd viruses and wondering if we'd been better off with sysvinit |
2020-12-15 15:27:55 +0100 | <mc47> | Liskni_si I'm looking at your dotfiles, in particular the killPid function; do you think we should implement something similar, or is it enough to just traverse the PIDs and send sigTERM? |
2020-12-15 15:30:36 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-15 15:30:55 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-edxiwdvttjunrmar) |
2020-12-15 15:34:47 +0100 | <Solid> | I'm not sure what race_ even does if xmonad is not compiled with -threaded |
2020-12-15 15:34:53 +0100 | <Solid> | which afaik it's not by default |
2020-12-15 15:39:10 +0100 | geekosaur | (ac3a8b12@172.58.139.18) (Remote host closed the connection) |
2020-12-15 15:40:52 +0100 | <Liskni_si> | I had to make it more complex because my xmonad would get stuck in endless wait sometimes |
2020-12-15 15:41:26 +0100 | sfrique | (~sfrique@189.122.177.88) |
2020-12-15 15:41:58 +0100 | <mc47> | ah alright |
2020-12-15 15:45:13 +0100 | tugrik | (~username@war.funkyjesus.org) |
2020-12-15 15:46:30 +0100 | <Solid> | it may be worth sending a sigKILL if the sigTERM wasn't successful |
2020-12-15 15:47:23 +0100 | <Solid> | `signalProcess` should throw an IOError if something goes wrong on the sigTERM |
2020-12-15 15:48:14 +0100 | <Liskni_si> | it's not going to give you an error if xmobar decides to ignore the sigterm |
2020-12-15 15:48:23 +0100 | <Solid> | oh I see |
2020-12-15 15:51:47 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-12-15 15:52:25 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-15 16:33:24 +0100 | seschwar | (~seschwar@unaffiliated/seschwar) |
2020-12-15 16:33:47 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds) |
2020-12-15 16:43:42 +0100 | lally | (sid388228@gateway/web/irccloud.com/x-udblkappiwdfbwqx) (Ping timeout: 260 seconds) |
2020-12-15 16:46:18 +0100 | lally | (sid388228@gateway/web/irccloud.com/x-qptpvlldxpkwwzmr) |
2020-12-15 16:56:05 +0100 | <Solid> | just wondering; why do we use Data.Map instead of Data.Map.Strict |
2020-12-15 16:56:37 +0100 | <Solid> | basically all of the uses I've come across would be better modelled by a strict map |
2020-12-15 16:57:52 +0100 | <Liskni_si> | no idea |
2020-12-15 16:58:24 +0100 | <Liskni_si> | we also use String instead of ByteString or Text :-/ |
2020-12-15 16:59:01 +0100 | <Solid> | well, we can put that down to historical baggage :P |
2020-12-15 16:59:25 +0100 | <Solid> | actually, maybe the strict/lazy map split didn't exist either back in the day |
2020-12-15 17:04:13 +0100 | <al3x27> | is there an example how to use loghook (which i now use for xmobar) to log to sndErr? |
2020-12-15 17:04:47 +0100 | <al3x27> | stdErr |
2020-12-15 18:01:55 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-15 18:06:15 +0100 | <geekosaur> | fwiw Data.Map.Strict also did not exist in the early days of xmonad |
2020-12-15 18:07:04 +0100 | <geekosaur> | may have to watch out for compatibility breaks if we change it at this point, though |
2020-12-15 18:20:42 +0100 | <geekosaur> | al3x27, possibly somewhere in DynamicLog to show DynamicLogString or w/e |
2020-12-15 18:21:18 +0100 | <geekosaur> | generally logging to stderr means you'r debugging and I at least tried to hide that in debug modules rather than make users futz with stdErr directly |
2020-12-15 18:22:57 +0100 | <al3x27> | geekosaur: i'm a new xmonad user, and still can't always follow what all the haskell does, so having some way of seeing values etc might help to muddle thru |
2020-12-15 18:23:05 +0100 | <al3x27> | thanks, btw |
2020-12-15 18:23:58 +0100 | <geekosaur> | the basic mechanism is: io $ hPutStrLn stdErr "whatever" |
2020-12-15 18:24:43 +0100 | <geekosaur> | (where `io` is just an alias / shorthand for `liftIO`) |
2020-12-15 18:25:05 +0100 | <geekosaur> | you may also find the Debug.Trace module of interest |
2020-12-15 18:29:16 +0100 | <al3x27> | geekosaur: i can work with that, thanks! |
2020-12-15 18:31:14 +0100 | jamik | (~james@d75-159-1-216.abhsia.telus.net) |
2020-12-15 18:37:34 +0100 | <jamik> | Hey guys, why is xmonad intent on creating a ~/.xmonad directory when I have a $XDG_CONFIG_HOME/xmonad directory? Also I'm having trouble recompiling (https://dpaste.com/BAMJBV5VU). I tried using ghci to run `:set -package xmonad` to no avail. I know it's likely something basic but I'm not too familiar with ghc. |
2020-12-15 18:40:39 +0100 | <geekosaur> | is $XDG_CONFIG_HOME set when xmonad starts? also, how did you install xmonad? |
2020-12-15 18:41:01 +0100 | <geekosaur> | if you used stack or cabal v2+ then you need a build script |
2020-12-15 18:42:15 +0100 | <geekosaur> | although "hidden package" sounds like it's there but disabled, possibly in the global package scope from a system package manager. this may again require a build script |
2020-12-15 18:43:04 +0100 | <Solid> | if it's hidden you can try `ghc-pkg expose xmonad` |
2020-12-15 18:44:10 +0100 | <geekosaur> | if it's in global scope that will require sudo… or preferably some other solution |
2020-12-15 18:44:40 +0100 | <jamik> | Ah yes I forgot to mention I have installed xmonad with its ebuild in the main Gentoo portage tree, though it shows up in the output of ghc-pkg list. Yes $XDG_CONFIG_HOME is set and when I rm -r ~/.xmonad before recompiling it will look in the correct place initially (e.g. "$XDG_CONFIG_HOME/xmonad/build does not exist, using ghc) but it will then create ~/.xmonad anyway. |
2020-12-15 18:45:00 +0100 | <geekosaur> | I'm unclear but get the impression the global package scope defaults hidden in recent ghc, to try to avoid it messing with builds |
2020-12-15 18:45:34 +0100 | <geekosaur> | hm. some extension perhaps still uses it? are there any possibly hidden files in ~/.xmonad afterward? |
2020-12-15 18:46:22 +0100 | <jamik> | Solid: I ran ghc-pkg expose xmonad previously but I it didn't seem to change anything |
2020-12-15 18:46:24 +0100 | <geekosaur> | every so often we find an extension which does that and which didn't get updated, and if ~/.xmonad exists it gets used so we don't break existing configs |
2020-12-15 18:46:42 +0100 | <jamik> | Yeah it dumps the xmonad.errors file there |
2020-12-15 18:46:53 +0100 | <jamik> | but no hidden files |
2020-12-15 18:49:18 +0100 | <jamik> | I'm fine with using ~/.xmonad for now but I'd like to get the recompilation working, I don't understand why xmonad is considered hidden after running ghc-pkg expose on it |
2020-12-15 18:49:58 +0100 | <geekosaur> | well, I just partially answered one unrelated question, trying to check if were doing that wrong for some reason (still checking) |
2020-12-15 18:51:40 +0100 | <jamik> | Thank you for your help, it's been bothering me.. |
2020-12-15 18:53:58 +0100 | <geekosaur> | I can't see why we would be since the file is created on any rebuild, so putting it in the wrong place should have been fairly obvous |
2020-12-15 18:55:50 +0100 | <al3x27> | jamik: as far as XDG_CONFIG_HOME is concerned, xmonad doesn't care, but you can 'force' xmonad to do the right thing using XMONAD_CONFIG_DIR etc (see http://ix.io/2IbD for a variation) |
2020-12-15 18:56:41 +0100 | <Solid> | al3x27: xmonad does care about XDG_{CONFIG,DATA,CACHE}_HOME |
2020-12-15 18:57:18 +0100 | <Solid> | it just prefers the XMONAD_ env variables or ~/.xmonad, if any of these exist |
2020-12-15 18:57:37 +0100 | <jamik> | Yeah I read the order of consideration is $XMONAD_CONFIG_DIR > $XDG_CONFIG_HOME/xmonad > ~/.xmonad |
2020-12-15 18:57:44 +0100 | <geekosaur> | except in this case it seems to be creating ~/.xmonad afterward |
2020-12-15 18:58:10 +0100 | <geekosaur> | I just confirmed it's doing the right thing, not forcing it into ~/.xmonad unless for some reason $XMONAD_DATA_DIR is set |
2020-12-15 18:58:21 +0100 | <geekosaur> | wit xmonad.errors, that is |
2020-12-15 18:59:38 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-edxiwdvttjunrmar) (Quit: Connection closed for inactivity) |
2020-12-15 19:00:08 +0100 | <jamik> | so it always writes errors to ~/.xmonad, even if it tries to recompile using $XDG_CONFIG_HOME/xmonad? That would be the behaviour I'm getting |
2020-12-15 19:00:52 +0100 | <geekosaur> | no, it should be using wherever xmonad-$arch-$os is found (or written) which should be based on where xmonad.hs is found |
2020-12-15 19:01:44 +0100 | <geekosaur> | last time something like this came up we found an extension writing a data file to ~/.xmonad directly instead of using the functions to find the appropriate directory, but you say that's not happening here |
2020-12-15 19:02:27 +0100 | <jamik> | Yeah I'm just trying to test recompiling the default config |
2020-12-15 19:04:39 +0100 | <jamik> | I have not yet run xmonad successfully on this machine, I just ran find / xmonad-x86_64-linux and it didn't find anything |
2020-12-15 19:04:54 +0100 | <Solid> | this is seriously weird; it sets all the dirs at the start of the recompilation, so if ~/.xmonad doesn't exist when you start the recompile nothing should be created |
2020-12-15 19:05:30 +0100 | <Solid> | jamik: just to make sure, you do have XDG_DATA_HOME set? |
2020-12-15 19:06:03 +0100 | <Solid> | or, if not, ~/.local/share exists |
2020-12-15 19:06:05 +0100 | <jamik> | No I don't have $XDG_DATA_HOME set, I have $XDG_CONFIG_HOME set |
2020-12-15 19:06:09 +0100 | <geekosaur> | hm, actually this looks to me like, if the comments are right, you have to have precreated $XDG_DATA_DIR/xmonad or it will create ~/.xmonad |
2020-12-15 19:06:26 +0100 | <geekosaur> | not just $XDG_CONFIG_DIR/xmonad |
2020-12-15 19:06:53 +0100 | <Solid> | oh right, it's ~/.local/share/xmonad that has to exist |
2020-12-15 19:06:58 +0100 | <jamik> | Ahh |
2020-12-15 19:07:07 +0100 | <jamik> | okay I'll create that |
2020-12-15 19:07:42 +0100 | <geekosaur> | I wonder if there is a way to fix this that doesn't screw over anyone with an existing config but some other files in XDG locations |
2020-12-15 19:08:06 +0100 | <jamik> | okay so that problem is solved, thanks guys! Now the package (XMonad) is still hidden and compilation is still unsuccessful |
2020-12-15 19:08:19 +0100 | <geekosaur> | suppose ideally we'd check for where xmonad.hs is found and set the rest based on that instead of checking separately for each one |
2020-12-15 19:09:07 +0100 | <jamik> | I didn't even realize xmonad was trying to use the data dir |
2020-12-15 19:09:20 +0100 | <jamik> | I just assumed it would throw everything in the config dir |
2020-12-15 19:09:29 +0100 | <Solid> | how would you do the data-dir/cfg-dir split in that case? |
2020-12-15 19:10:44 +0100 | <jamik> | Me? I wouldn't, I was simply ignorant of how xmonad works. The other WMs I use don't have such a split |
2020-12-15 19:10:53 +0100 | <geekosaur> | we used to not do that. and arguably we're still doing it wrong because the compiled config is cache, not data (it can be regenerated by recompiling) |
2020-12-15 19:10:56 +0100 | <Solid> | nono, sorry, I was talking to geekosaur |
2020-12-15 19:11:07 +0100 | <Solid> | jamik: in that case you should also create $XDG_CACHE_DIR/xmonad, as some extensions use that |
2020-12-15 19:11:12 +0100 | <geekosaur> | but we've kinda halfassed the whole XDG thing |
2020-12-15 19:12:22 +0100 | <Solid> | CACHE_HOME* |
2020-12-15 19:12:31 +0100 | <Solid> | too many xdg variables |
2020-12-15 19:12:55 +0100 | <geekosaur> | this at least needs to be documented better that you need to precreate those, or we need to swap the defaults if we find xmonad.hs in an XDG location |
2020-12-15 19:13:43 +0100 | <jamik> | Yeah good idea Solid, I'll create that now |
2020-12-15 19:17:12 +0100 | <Solid> | geekosaur: What would a good default behaviour look like? Check for the XMONAD_ variables and if they are not set; look for xmonad.hs in $XDG_CONFIG_HOME/xmonad and throw everything in there? |
2020-12-15 19:17:14 +0100 | <jamik> | Isn't it sufficient to use any set XDG variables when they are set, otherwise use the default locations (e.g. in my case putting xmonad.errors in .local/share instead of ~/.xmonad, because $XDG_CONFIG_HOME/xmonad was found but $XDG_DATA_DIR was unset) |
2020-12-15 19:17:48 +0100 | <jamik> | $XDG_DATA_HOME*** |
2020-12-15 19:18:24 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2020-12-15 19:18:28 +0100 | tux1 | (~tux@116.251.216.46) |
2020-12-15 19:20:27 +0100 | <Solid> | jamik: the problem is that it tries putting them in ~/.local/share/xmonad |
2020-12-15 19:21:10 +0100 | <Solid> | so it checks for XDG_WHATEVER_{HOME,DIR} and if that doesn't exist of course uses a standard path, but always appends the xmonad dir to that |
2020-12-15 19:21:33 +0100 | <Solid> | at this point I feel like the split overcomplicates things and using the config dir is probably sufficient |
2020-12-15 19:22:04 +0100 | <Solid> | but I'm not sure how backwards compatible such a change would be |
2020-12-15 19:22:40 +0100 | <jamik> | I see. Well I can't comment on the pros/cons of the split because I haven't wrote any plugins for xmonad, but I'm inclined to agree with you |
2020-12-15 19:30:16 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-15 19:31:53 +0100 | <geekosaur> | at one point we did just that, but it violates XDG to put it all in the same place like that. I'm not sure when the current setup showed up though |
2020-12-15 19:34:34 +0100 | <Solid> | mh I see |
2020-12-15 19:34:44 +0100 | <Solid> | so probably no hope of ever seeing this changed? :/ |
2020-12-15 19:35:43 +0100 | <geekosaur> | probably not, which is why I recommended the other way which would fix it without breaking things for others |
2020-12-15 19:36:28 +0100 | <geekosaur> | in fact it occurs to me that we should just determine all these dirs up front and stuff them in XConf (not XConfig), then change the function calls that use them to just look them up instead of doing a search each time |
2020-12-15 19:37:23 +0100 | <geekosaur> | which both makes it easier to set the defaults based on where we found xmonad.hs, and should speed up anything else using them (not that that should be a major performance issue unless some extension is being really stupid) |
2020-12-15 19:37:42 +0100 | <jamik> | up front meaning upon xmonad startup? Sounds sensible to me |
2020-12-15 19:37:46 +0100 | <geekosaur> | yes |
2020-12-15 19:41:18 +0100 | tux1 | (~tux@116.251.216.46) (Quit: WeeChat 2.9) |
2020-12-15 19:59:41 +0100 | <Solid> | geekosaur: just to be clear I'm understanding you correctly: 1. see if xmonad.hs is in $XMONAD_CONFIG_DIR > ~/.xmonad > $XDG_CONFIG_HOME 2. according to the selection in 1., use XMONAD_ env variables > use xdg_ > use ~/.xmonad 3. put these three dirs into XConf, so `recompile` can simply read them from there instead of determining them every time |
2020-12-15 20:00:26 +0100 | <geekosaur> | yes. and other consumers, e.g. Prompt's history file |
2020-12-15 20:01:03 +0100 | <geekosaur> | and there's at least one layout that reads stuff from a file when a workspace is made current (not TopicSpaces but something similar) |
2020-12-15 20:01:22 +0100 | <Solid> | ah yeah, change all of these as well of course |
2020-12-15 20:01:36 +0100 | <Solid> | okay I'll create an issue in xmonad/xmonad to have that there |
2020-12-15 20:02:23 +0100 | <geekosaur> | you'l see all those functions are together and do pretty much the same thing with different default dirs, and do it whenever called instead of remembering the result |
2020-12-15 20:03:36 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-15 20:04:39 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2020-12-15 20:07:48 +0100 | <Solid> | yeah, that part of the code always struck me as a bit weird |
2020-12-15 20:10:45 +0100 | <geekosaur> | hm, actually stuffing thta into XConf won't work for the biggest use case: recompiling xmonad, which is before XConf exists. sigh |
2020-12-15 20:11:09 +0100 | <geekosaur> | at least, the possible-recomp on startup |
2020-12-15 20:12:36 +0100 | <geekosaur> | can't even compute them early and use them late because there's an exec() hopefully in between |
2020-12-15 20:13:21 +0100 | <geekosaur> | so we end up computing them twice ayway. but we'd at lest avoid them getting different answers, as with the case that set this whole thing off |
2020-12-15 20:15:02 +0100 | <Solid> | ah yeah you're right |
2020-12-15 20:15:47 +0100 | <Solid> | I think computing them twice is not big deal, it's not computationally intensive after all |
2020-12-15 20:15:53 +0100 | <Solid> | *not a |
2020-12-15 20:16:05 +0100 | <Solid> | still probably the best solution that maintains backwards compatability |
2020-12-15 20:22:20 +0100 | <Solid> | okay I've created an issue |
2020-12-15 20:26:34 +0100 | <geekosaur> | blugg |
2020-12-15 20:28:09 +0100 | <geekosaur> | I guess we could just have recompile always recompute them, but that's most of the use they get so it kinda makes caching the result mostly pointless. |
2020-12-15 20:28:58 +0100 | <geekosaur> | but then that brings back the original problem that we want to determine defaults based on where we found xmonad.hs, not which dirs exist, so we want to compute all of them at once when we have all that information together |
2020-12-15 20:30:36 +0100 | notis | (~notis@185.51.134.230) (Ping timeout: 256 seconds) |
2020-12-15 20:31:43 +0100 | <Solid> | I mean we could compute them once in `xmonad` and then awkwardly thread them through to `buildLaunch` and these kinds of functions |
2020-12-15 20:31:57 +0100 | <Solid> | but that's a pretty "meh" solution |
2020-12-15 20:32:25 +0100 | <geekosaur> | you also have to thread them across an executeFile sometimes (usually, if there's a compiled config or one can be built) |
2020-12-15 20:32:59 +0100 | <geekosaur> | which i why "compute twice" and why the first one doesn't have the XConf until it has failed to find or build a compiled config |
2020-12-15 20:46:46 +0100 | <Solid> | ah I think I understand what you mean now |
2020-12-15 20:47:10 +0100 | <Solid> | this seems reasonably straightforward still (said he, before having attempted to write any code) |
2020-12-15 20:53:21 +0100 | <geekosaur> | it's straightforward,, just annoying |
2020-12-15 21:08:17 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 258 seconds) |
2020-12-15 21:23:50 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) |
2020-12-15 21:43:37 +0100 | High | PsillyCybin |
2020-12-15 21:47:25 +0100 | notis | (~notis@185.51.134.229) |
2020-12-15 22:07:56 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-15 22:53:39 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) (Remote host closed the connection) |
2020-12-15 22:54:15 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2020-12-15 22:57:22 +0100 | hexo- | (~hexo@83.167.228.130) (Quit: ZNC - http://znc.in) |
2020-12-15 22:57:49 +0100 | MasseR | (~MasseR@51.15.143.128) (Ping timeout: 264 seconds) |
2020-12-15 22:59:03 +0100 | Liskni_si | (~liskin@ackle.nomi.cz) (Ping timeout: 260 seconds) |
2020-12-15 22:59:57 +0100 | hexo- | (~hexo@83.167.228.130) |
2020-12-15 23:00:00 +0100 | Liskni_si | (~liskin@ackle.nomi.cz) |
2020-12-15 23:00:13 +0100 | MasseR | (~MasseR@51.15.143.128) |
2020-12-15 23:03:50 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) (Ping timeout: 272 seconds) |
2020-12-15 23:14:22 +0100 | mc47 | (~yecinem@89.246.239.190) (Remote host closed the connection) |
2020-12-15 23:22:14 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) |
2020-12-15 23:22:19 +0100 | ashbreeze | (~mark@184-157-32-85.dyn.centurytel.net) |
2020-12-15 23:23:13 +0100 | ashbreeze | (~mark@184-157-32-85.dyn.centurytel.net) (Client Quit) |
2020-12-15 23:23:16 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) (Client Quit) |
2020-12-15 23:23:46 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) |
2020-12-15 23:32:59 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Quit: thc202) |
2020-12-15 23:48:15 +0100 | seschwar | (~seschwar@unaffiliated/seschwar) (Quit: :wq) |
2020-12-15 23:48:36 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) (Remote host closed the connection) |
2020-12-15 23:49:56 +0100 | _ashbreeze_ | (~mark@184-157-32-85.dyn.centurytel.net) |