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.