Home liberachat/#xmonad: Logs Calendar

Logs on 2024-07-02 (liberachat/#xmonad)

00:47:50 <haskellbridge> <iqubic (she/her)> geekosaur: Do you know why my XMonad Prompt might be working incorrectly? When I'm running a prompt, things seem to be working. When I hit Tab, I go to the next completion in the list, but when I hit Shift-Tab, I still go to the next completion in the list. https://dpaste.com/7FVUW8Y3K
00:51:47 <geekosaur> what version of xmonad-contrib? shift-tab was only added lateish last year, and possibly isn't in a release (I need to check)
00:52:34 <geekosaur> okay, it's in 0.18 but not 0.17
00:55:54 <haskellbridge> <iqubic (she/her)> I'm using 0.18, I think.
00:59:20 <haskellbridge> <iqubic (she/her)> Yeah, I'm running xmonad-contrib 0.18
01:01:34 <haskellbridge> <iqubic (she/her)> geekosaur: I'm running on 0.18, yeah.
01:02:40 <geekosaur> sorry, I was poking the source. it looks correct to me
01:03:51 <geekosaur> what happens if you explicitly define `prevCompletionKey` to `(shiftMask, xK_Tab)` in myXPConfig?
01:03:51 <haskellbridge> <iqubic (she/her)> Is there a way I can test to see if I'm on 0.18? Running "xmonad --version" gives "0.18"
01:04:21 <geekosaur> xmonad-contrib generally has to match xmonad, although there have been exceptions
01:04:26 <haskellbridge> <iqubic (she/her)> How can I do that?
01:05:07 <geekosaur> I don't know 😞 the ways I know are for when you're not running Nix
01:06:13 <haskellbridge> <iqubic (she/her)> No, What I'm asking is "how can I explicitly define "prevCompletionKey""?
01:25:59 <geekosaur> https://dpaste.com/5GSGMNPSE
01:34:40 <haskellbridge> <iqubic (she/her)> geekosaur: I just enabled prevCompletionKey, and it doesn't work for me. Both tab and shift-tab are moving to the next entry...
01:42:15 <geekosaur> Solid, you know anything about this? was 4c0d3ca tested?
01:42:31 <geekosaur> (https://github.com/xmonad/xmonad-contrib/commit/4c0d3cac8d4f11022ea6c0178fb721b1d328d7d5)
01:43:40 <geekosaur> either the key is being misrecognizeed (seems unlikely) or handleCompletion is doing the wrong thing
01:58:29 <haskellbridge> <iqubic (she/her)> Does the startupHook run when use "xmonad --restart"?
01:59:32 <geekosaur> yes
02:00:04 <geekosaur> if you want to not run all or part of it on restart, see XMonad.Util.SessionStart
02:00:36 <geekosaur> https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L193-L211
02:03:57 <haskellbridge> <iqubic (she/her)> Weird... I just ran "pkill polybar" and then "xmonad --restart" and Polybar was not restarted: https://dpaste.com/26Q937MBP
02:05:05 <haskellbridge> <iqubic (she/her)> "myTerminal Nothing = "alacritty""
02:07:13 <haskellbridge> <iqubic (she/her)> So, yeah, I'm a bit confused...
02:23:34 <geekosaur> might check the error log to see if polybar threw an error
02:23:48 <geekosaur> but… what does myHandleEvenHook look like?
02:23:59 <geekosaur> *myHandleEventHook
02:24:55 <haskellbridge> <iqubic (she/her)> myHandleEventHook :: Event -> X All
02:24:58 <haskellbridge> <iqubic (she/her)> myHandleEventHook = swallowEventHook (className =? "Alacritty") (return True)
02:25:26 <haskellbridge> <iqubic (she/her)> No polybar errors.
02:25:42 <geekosaur> on second thought, that shouldn't matter because if that were the problem then xmonad wouldn't work at all…
02:33:58 <haskellbridge> <iqubic (she/her)> How does "xmonad --restart" work?
02:35:37 <geekosaur> it sends an XMONAD_RESTART message to the root window, which is handled here https://github.com/xmonad/xmonad/blob/master/src/XMonad/Main.hs#L416-L420
02:36:33 <geekosaur> which results in xmonad serializing its state to a file and `executeFile`ing itself, passing the file to the new instance
02:37:05 <haskellbridge> <iqubic (she/her)> Where does xmonad look for the new binary for the new instance?
02:37:15 <geekosaur> (actually I think it doesn't pass it any more, the new xmonad just looks for `xmonad.state` in its state dir)
02:38:26 <geekosaur> on $PATH
02:38:58 <haskellbridge> <iqubic (she/her)> Yeah, but is there a list of directories that xmonad looks in?
02:39:12 <geekosaur> that would be $PATH
02:39:23 <geekosaur> no, there is no hardcoded list that augments the path
02:41:01 <haskellbridge> <iqubic (she/her)> I see. That makes sesne.
02:41:07 <geekosaur> the XMONAD_RESTART message handler does `restart "xmonad" True`, `"xmonad"` is passed to `executeFile`, which searches `$PATH`
02:41:20 <haskellbridge> <iqubic (she/her)> Yep. I see.
02:41:39 Γ— td_ quits (~td@i53870923.versanet.de) (Ping timeout: 264 seconds)
02:43:20 β†’ td_ joins (~td@i53870908.versanet.de)
02:43:35 Γ— terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
02:46:36 β†’ terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::)
03:24:42 <haskellbridge> <iqubic (she/her)> geekosaur: Turns out all the issues I was having with shift-tab doing weird things was due to somehow using an older version of xmonad-contrib despite using xmonad 0.18. I'm not sure how this version mismatch happened, but I blame nix.
03:25:20 <haskellbridge> <iqubic (she/her)> I have a much better way of configuring xmonad now that actually works well, and lets me specify whichever version of xmonad I need..
03:25:49 <haskellbridge> <iqubic (she/her)> Also, xmonad not restarting properly has been fixed too.
03:26:27 <geekosaur> that would be weird because the code I gave you would have thrown an error long the lines of "XPConfig has no element prevCompletionKey"
03:26:34 <geekosaur> s/element/field
03:27:14 <geekosaur> which is actually what I was checking for with that suggestion
03:27:47 <haskellbridge> <iqubic (she/her)> Yeah... It was compiling my config properly, but then proceeding to continue to use an older version of my config.
03:30:11 <geekosaur> hm. do you happen to have both ~/.xmonad and ~/.config/xmonad (or at least ~/.cache/xmonad) for some reason?
03:30:51 <haskellbridge> <iqubic (she/her)> I didn't, but now I do.
03:31:45 <geekosaur> you shouldn't have both, but supposedly if you have ~/.xmonad/xmonad.hs then everything should use ~/.xmonad
03:32:12 <geekosaur> I don't know if nix messes with this, which is possible with environment variables
03:32:18 <haskellbridge> <iqubic (she/her)> I do now have ~/.xmonad/xmonad.hs and things are using that.
03:32:42 <haskellbridge> <iqubic (she/her)> Nix did mess with that a bit, but I just told nix to stop messing with it so I could do this on my own.
03:34:07 <haskellbridge> <iqubic (she/her)> Should I be worried about this warning?
03:34:08 <haskellbridge> <iqubic (she/her)> XMonad will use ghc to recompile, because none of "/home/sophia/.xmonad/build", "/home/sophia/.xmonad/stack.yaml", "/home/sophia/.xmonad/flake.nix", "/home/sophia/.xmonad/default.nix" exist.
03:34:27 <haskellbridge> <iqubic (she/her)> That's what I'm getting from running "xmonad --recompile" right now.
03:35:59 <geekosaur> no, it's basically an informational diagnostic to help you verify that it's doing the right thing
03:37:23 <geekosaur> I'm not sure it's even necessary any more, that code's fairly solid at this point
03:42:48 <haskellbridge> <iqubic (she/her)> Do you need your xmonad.hs to declare itself a module? You aren't doing that...
03:44:04 <geekosaur> as usual for Haskell, it's implicitly `module Main where` because it doesn't have a module declaration
03:44:47 <haskellbridge> <iqubic (she/her)> I didn't actually know that.
03:45:03 <haskellbridge> <iqubic (she/her)> What's the state dir for xmoand?
03:45:51 <geekosaur> everything including state is in ~/.xmonad if your xmonad.hs is there, otherwise it's ~/.cache/xmonad
03:47:14 <haskellbridge> <iqubic (she/her)> Thanks. I've just told nix to stop explicitly managing xmonad for me, and now things seems to be working a lot better.
03:48:34 <geekosaur> if you set all of `XMONAD_DATA_DIR`, `XMONAD_CONFIG_DIR`, and `XMONAD_CACHE_DIR` are set in the environment then it'll be in `XMONAD_CACHE_DIR`
03:49:10 <geekosaur> along with your compiled config, xmonad.errors (output from compiling your config), and things like XMonad.Prompt saved history
03:50:06 <haskellbridge> <iqubic (she/her)> Good to know.
05:27:44 Γ— L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
06:07:11 Γ— Nixkernal quits (~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net) (Ping timeout: 264 seconds)
06:36:57 Γ— catman quits (~catman@user/catman) (Read error: Connection reset by peer)
07:13:35 β†’ cfricke joins (~cfricke@user/cfricke)
08:30:49 β†’ L29Ah joins (~L29Ah@wikipedia/L29Ah)
08:54:58 Γ— ft quits (~ft@p4fc2ab80.dip0.t-ipconnect.de) (Quit: leaving)
09:20:49 Γ— cfricke quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds)
09:43:36 β†’ ChubaDuba joins (~ChubaDuba@46.147.208.129)
09:50:15 Γ— ChubaDuba quits (~ChubaDuba@46.147.208.129) (Quit: Leaving)
11:36:54 β†’ cfricke joins (~cfricke@user/cfricke)
12:10:01 β†’ eColi888 joins (~eColi888@user/eColi888)
12:14:01 Γ— eColi888 quits (~eColi888@user/eColi888) (Quit: leaving)
14:48:00 β†’ catman joins (~catman@user/catman)
15:19:55 Γ— cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds)
16:02:03 Γ— lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
16:03:23 β†’ lambdabot joins (~lambdabot@haskell/bot/lambdabot)
17:51:41 β†’ ft joins (~ft@p4fc2ab80.dip0.t-ipconnect.de)

All times are in UTC on 2024-07-02.