Logs: liberachat/#xmonad
| 2021-11-19 15:19:36 | <geekosaur> | is some earlier maybeManageHook matching instead? |
| 2021-11-19 15:19:47 | → | seschwar joins (~seschwar@user/seschwar) |
| 2021-11-19 15:20:06 | <geekosaur> | I mean, that's kinda what you intend with composeOne, but if you don't have things ordered right and something else matches, you may have a problem |
| 2021-11-19 15:21:22 | jakeStateless-Fa | uploaded an image: (46KiB) < https://libera.ems.host/_matrix/media/r0/download/jupiterbroadcasting.com/oZTtwrYSDeqCqgErZyqrwMWT/image.png > |
| 2021-11-19 15:21:48 | <jakeStateless-Fa> | Adding it to `composeAll` worked... (with the prime variant) |
| 2021-11-19 15:21:51 | <jakeStateless-Fa> | Very weird |
| 2021-11-19 15:22:27 | <jakeStateless-Fa> | There's a bit of jargon in that screenshot, but it's fairly straightforward, and looks for the most part, as it seems. |
| 2021-11-19 15:24:03 | <geekosaur> | yeh, didn't look to me like something else should have been matching, but the symptoms do |
| 2021-11-19 15:25:59 | geekosaur | is now thinking about finer grained managteHook debugging, but that would probably require custom versions of composeOne and composeAll |
| 2021-11-19 15:26:47 | <jakeStateless-Fa> | The weird part is, none of my windows (that shouldn't be) are being fullscreen-ed, nor lowered&ignored, nor centerfloat-ed. |
| 2021-11-19 15:26:56 | <jakeStateless-Fa> | So, it's behaving as intended, aside from that weird quirk |
| 2021-11-19 15:30:49 | <jakeStateless-Fa> | https://gitlab.com/mikenrafter/config - see my xmonad.hs file, is there anything weird with the `act` fn? |
| 2021-11-19 15:37:09 | <jakeStateless-Fa> | liskin: reminder - https://gitlab.com/mikenrafter/config/-/blob/master/.xmonad/treeRewrite.hs |
| 2021-11-19 15:40:40 | <geekosaur> | hm. as far as I see, act always succeeds from the standpoint of a MaybeManageHook |
| 2021-11-19 15:40:55 | <geekosaur> | so the first one will always run even if it does nothing, and the later ones won't |
| 2021-11-19 15:41:26 | <geekosaur> | ss/always run/always succeed/ |
| 2021-11-19 15:42:15 | <geekosaur> | you might see if moving the MaybeManageHook version of your hook succeeds as the very first item in the composeOne |
| 2021-11-19 15:46:23 | <jakeStateless-Fa> | It does. |
| 2021-11-19 15:53:08 | <geekosaur> | so the problem, if I'm reading it right, is that `never` fails from the standpoint of a ManageHook (returns False) but not from the standpoint of a MaybeManageHook (returns Just False) |
| 2021-11-19 15:53:23 | <geekosaur> | s/returns/produces/g |
| 2021-11-19 15:55:31 | <geekosaur> | I may be misunderstanding it though |
| 2021-11-19 15:56:00 | <jakeStateless-Fa> | I think that's the problem too... |
| 2021-11-19 15:56:21 | <geekosaur> | but I'm pretty sure `never` is related to why it's failing. it may instead be that `never` in the context of a MaybeManageHook causes a Just result instead of Nothing |
| 2021-11-19 15:58:16 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 2021-11-19 15:58:30 | <jakeStateless-Fa> | Yeah, removing that causes it to function. |
| 2021-11-19 15:58:54 | <jakeStateless-Fa> | I don't know why I ever added that... |
| 2021-11-19 16:01:01 | <jakeStateless-Fa> | Another problem: How do I make it ignore windows in my scratchpad workspace? |
| 2021-11-19 16:01:06 | <jakeStateless-Fa> | NSP* |
| 2021-11-19 16:01:47 | <jakeStateless-Fa> | Because, it always pulls to that ws, when it's targeting alacritty. |
| 2021-11-19 16:02:51 | → | qbt joins (~qbt@user/edun) |
| 2021-11-19 16:03:50 | <geekosaur> | I think you change the condition to something like (fmap Just (currentWs /=? "NSP" --> className) |
| 2021-11-19 16:03:56 | <geekosaur> | would have to doublecheck |
| 2021-11-19 16:04:35 | <geekosaur> | no, that won't fly |
| 2021-11-19 16:04:58 | × | qbt quits (~qbt@user/edun) (Client Quit) |
| 2021-11-19 16:05:48 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: restarting) |
| 2021-11-19 16:06:04 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 2021-11-19 16:06:45 | <geekosaur> | (currentWs /=? "NSP" -?> className) |
| 2021-11-19 16:06:57 | <geekosaur> | in place of (fmap Just className) |
| 2021-11-19 16:14:19 | <geekosaur> | although, hm, bet that doesn't work either because it looks at the ws you're on, not the one the window's on |
| 2021-11-19 16:14:33 | <geekosaur> | I don't know if there's a clean way to get the latter |
| 2021-11-19 16:14:42 | <jakeStateless-Fa> | Yeah... |
| 2021-11-19 16:14:43 | <jakeStateless-Fa> | It doesn't |
| 2021-11-19 16:15:01 | <jakeStateless-Fa> | We need to use similar functionality to how it's identifying what ws the window is on initially |
| 2021-11-19 16:17:37 | <geekosaur> | the problem is that doesn't even show up until later. sameByproduces a list of windows and doesn't even know what workspaces they're on. doShiftTo figures that out after the final window is picked |
| 2021-11-19 16:19:36 | <geekosaur> | and shiftTo (local to doShiftTo so we can't even use it) just tries to find the window on all workspaces |
| 2021-11-19 16:20:28 | <jakeStateless-Fa> | hm... |
| 2021-11-19 16:20:46 | <jakeStateless-Fa> | Perhaps we could tag windows that are on NSP? |
| 2021-11-19 16:20:56 | <jakeStateless-Fa> | Then filter against that in the window deciding process? |
| 2021-11-19 16:21:14 | <geekosaur> | at least once I've proposed that we put a property on windows indicating their workspace, for things like this |
| 2021-11-19 16:22:19 | <jakeStateless-Fa> | Do you know how I'd go about that? Even if others don't use it, I evidently wish to 🤔 |
| 2021-11-19 16:22:39 | <geekosaur> | isOn t = ask >>= \w -> pure (maybe False (W.findTag w t)) |
| 2021-11-19 16:22:47 | <geekosaur> | …maybe |
| 2021-11-19 16:23:02 | <geekosaur> | hm, no, that's a type error |
| 2021-11-19 16:23:08 | <jakeStateless-Fa> | Where'd I place that? |
| 2021-11-19 16:23:13 | <jakeStateless-Fa> | hmm |
| 2021-11-19 16:23:30 | <geekosaur> | isOn t = ask >>= \w -> pure (maybe False (const True) (W.findTag w t)) |
| 2021-11-19 16:24:06 | <geekosaur> | mm, but you need isNotOn :) |
| 2021-11-19 16:24:39 | <jakeStateless-Fa> | easy flip |
| 2021-11-19 16:24:40 | <geekosaur> | isNotOn t = ask >>= \w -> pure (maybe True (const False) (W.findTag w t)) |
| 2021-11-19 16:25:08 | <geekosaur> | (isNotOn "NSP" -?> className) |
| 2021-11-19 16:25:11 | → | qbt joins (~qbt@user/edun) |
| 2021-11-19 16:25:18 | <jakeStateless-Fa> | Would I use that in `shiftToSame (right_here)`? |
| 2021-11-19 16:25:22 | <jakeStateless-Fa> | ah |
| 2021-11-19 16:25:26 | <jakeStateless-Fa> | yeah |
| 2021-11-19 16:26:17 | <geekosaur> | cleaner would be to make it a proper query but then I'd have to loop through all workspaces looking for the window |
| 2021-11-19 16:26:33 | <geekosaur> | when here I already know which ws I don't want it to be on |
| 2021-11-19 16:26:47 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
| 2021-11-19 16:27:25 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 2021-11-19 16:27:49 | <geekosaur> | of course this whole idea blows up if you use copyWindow, but you're on your own if you do that anyway :) |
| 2021-11-19 16:30:15 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 2021-11-19 16:31:26 | → | tomjaguarpaw joins (~tom@li367-225.members.linode.com) |
| 2021-11-19 16:31:54 | <tomjaguarpaw> | I can make a Logger with logCmd, but if I try, say pure (pure "Hello") then nothing at all appears on my xmobar, not even the other loggers. Does anyone know why? |
| 2021-11-19 16:31:57 | <tomjaguarpaw> | https://www.stackage.org/haddock/lts-18.17/xmonad-contrib-0.16/XMonad-Util-Loggers.html#v:logCmd |
| 2021-11-19 16:35:27 | <jakeStateless-Fa> | <geekosaur> "of course this whole idea..." <- Yeah, I don't use that often. |
| 2021-11-19 16:36:13 | <geekosaur> | tomjaguarpaw, it wants a shell command. probably you now have a bunch of messages in your session log sayinjg "Hello: command not found" or similar |
| 2021-11-19 16:38:07 | <geekosaur> | actually I also have no idea what the second `pure` would be doing there |
| 2021-11-19 16:39:14 | <tomjaguarpaw> | Perhaps I explained badly |
| 2021-11-19 16:39:17 | <tomjaguarpaw> | I'll give an example |
| 2021-11-19 16:39:21 | <geekosaur> | it's probably causing the PP code to throw an exception |
| 2021-11-19 16:40:01 | <tomjaguarpaw> | If I have ppExtras = [loadAvg, battery, logCmd "echo Hello"] then everything works. If I have ppExtras = [ pure (pure "Hello") ] then nothing gets displayed on the xmobar |
| 2021-11-19 16:40:47 | <jakeStateless-Fa> | <geekosaur> "(isNotOn "NSP" -?> className)" <- `• Couldn't match expected type 'W.StackSet b0 l0 Window s0 sd0' with actual type '[Char]' • In the first argument of 'isNotOn', namely '"NSP"'` |
| 2021-11-19 16:41:34 | <geekosaur> | right, one of those `pure`s is coming out as Just, the other … may be trying to create a new X11 server context out of nothing |
| 2021-11-19 16:41:49 | <tomjaguarpaw> | Oh, interesting |
| 2021-11-19 16:42:02 | <geekosaur> | the server context comes in, you don't just roll one up with `pure` |
| 2021-11-19 16:42:17 | <jakeStateless-Fa> | You could |
| 2021-11-19 16:42:25 | <jakeStateless-Fa> | `pure Just "Hello"` |
| 2021-11-19 16:42:37 | <jakeStateless-Fa> | s/pure/pure $/ |
| 2021-11-19 16:43:01 | <geekosaur> | that's still trying to produce a server context out of nothing instead of using the one passed in |
| 2021-11-19 16:43:20 | <geekosaur> | again,, this almost certainly throws an exception you could probably find in the session log |
| 2021-11-19 16:43:30 | <jakeStateless-Fa> | I mean, really you should be doing that from within xmobar's config, but, what I stated above works... technically. |
| 2021-11-19 16:43:55 | <tomjaguarpaw> | Well, I think things like "user error (Error in function getWindowAttributes)" and "xmobar: eof at an early stage" |
| 2021-11-19 16:44:00 | <tomjaguarpaw> | but I've no idea if they're due to that |
| 2021-11-19 16:46:09 | <tomjaguarpaw> | Hmm, well now pure (pure "Hello") does work, so I'm completely baffled |
| 2021-11-19 16:46:12 | <geekosaur> | mm, Error in function getWindowAttributes looks like a bug that should be fixed in 0.17.0. the second one resembles an xmobar bug that has been fixed |
| 2021-11-19 16:47:26 | <geekosaur> | jakeStateless-Fa, sorry, I misread and it wants a StackSet there. hm |
| 2021-11-19 16:47:38 | <tomjaguarpaw> | Oh, this is silly. It's because it wasn't "Hello", it was "Hello\n". That ended up pushing everything else off the xmobar. |
| 2021-11-19 16:49:17 | <jakeStateless-Fa> | ... LOL |
| 2021-11-19 16:49:22 | <tomjaguarpaw> | How grim |
| 2021-11-19 16:49:38 | <tomjaguarpaw> | Well thanks for your help geekosaur and jakeStateless-Fa |
| 2021-11-19 16:50:02 | <jakeStateless-Fa> | 👍️ |
All times are in UTC.