Home liberachat/#xmonad: Logs Calendar

Logs on 2024-08-15 (liberachat/#xmonad)

00:18:46 <Leary> user42: I think maintaining on-top status means we can't /truly/ ignore it. You'd likely need to write an extension that doesn't actually ignore the window, but just skips focus over it. The best way to do that would be post-<https://github.com/xmonad/xmonad/pull/433>, but I guess you could still do it now.
00:20:26 <Leary> That said, you might just want to make it a strut? If it's small, you can put it on the edge of the screen and reserve that space for it.
00:23:11 <geekosaur> I think a handleEventHook could do it but you would need to stash the window ID in XS and possibly select for structureNotifyMask
00:24:55 <geekosaur> hm, no, structureNotifyMask is the wrong one and I don't think there's a right one for z-position. you'd have to unconditionally raiseWindow
00:31:38 <Leary> Oh, yeah, just ignore me. XS + raiseWindow in (current) logHook sounds like it would suffice. I actually think 433 would break that.
00:46:00 <geekosaur> I was suggesting handleEventHook, because if it's not managed (and therefore doesn't take focus) then logHook won't fire
00:46:11 <geekosaur> with or without 433
00:51:22 <user42> geekosaur: Thank you for your replay.  So I should keep the `doIgnore` and then do a `raiseWindow` in an handleEventHook, is that correct?
00:51:52 <user42> On which events would I need to do the raiseWindow?
00:54:20 <user42> I haven't looked at it yet, but from what I understand from your reply I would also need to save the window ID in some custom state, presumably because I will not have access to it in the `handleEventHook`.
00:54:52 <user42> At which point would I need to save the window ID?  In the `manageHook` when I do the `doIgnore`?
01:01:13 <geekosaur> all events, since the X server doesn't send any event related to z-order (indicating that the window would need to be raised)
01:04:16 <geekosaur> it'd be the manageHook, yes. (className =? "Workrave" --> doIgnore <+> (ask >>= liftX (XS.put . KeepRaised) >> idHook)) or some such, given a type with a constructor KeepRaised (see https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Util-ExtensibleState.html)
01:05:24 <Leary> logHook will fire after any window z-reordering; isn't that enough?
01:05:43 <geekosaur> then the handleEventHook would extract ev_window from the event, compare it to the one in KeepRaised (which you receive with XS.get), and withDisplay (\d -> raiseWindow d w)
01:05:56 <geekosaur> only if it's managed
01:06:26 <Leary> It doesn't need to be managed, so long as the window that would overlap it is.
01:06:50 <geekosaur> right, that _may_ be enough
01:07:29 <geekosaur> hm, right, you don't need to check ev_window either since we can't receive events for that window
01:08:42 <geekosaur> just unconditionally https://paste.tomsmeding.com/U6qazUdJ, in handleEventHook or logHook
01:22:20 dysthesis joins (~dysthesis@user/dysthesis)
01:23:42 <user42> geekosaur: Thanks a lot, I'll give this a try.
02:22:19 × td_ quits (~td@i53870918.versanet.de) (Ping timeout: 260 seconds)
02:23:49 td_ joins (~td@i53870931.versanet.de)
03:12:27 × user42 quits (~user42@49.228.56.230) (Quit: Client closed)
03:21:05 user42 joins (~user42@49.228.56.230)
03:22:39 × user42 quits (~user42@49.228.56.230) (Client Quit)
05:49:56 × dysthesis quits (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds)
05:56:50 dysthesis joins (~dysthesis@user/dysthesis)
05:58:31 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
06:01:28 × dysthesis quits (~dysthesis@user/dysthesis) (Remote host closed the connection)
06:08:30 user42 joins (~user42@49.228.56.230)
06:46:52 × user42 quits (~user42@49.228.56.230) (Quit: Client closed)
06:55:23 × ft quits (~ft@p4fc2aa15.dip0.t-ipconnect.de) (Quit: leaving)
07:30:30 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
08:12:46 Digitteknohippie joins (~user@user/digit)
08:13:22 × Digit quits (~user@user/digit) (Ping timeout: 252 seconds)
08:19:48 Digitteknohippie is now known as Digit
08:41:42 kalj joins (~kalj@h-158-174-207-174.NA.cust.bahnhof.se)
10:08:30 × kalj quits (~kalj@h-158-174-207-174.NA.cust.bahnhof.se) (Quit: Client closed)
10:58:34 cfricke joins (~cfricke@user/cfricke)
11:05:35 wlhn joins (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi)
15:50:57 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 252 seconds)
16:12:56 cfricke joins (~cfricke@user/cfricke)
16:17:07 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
17:10:37 L29Ah joins (~L29Ah@wikipedia/L29Ah)
17:15:14 ChubaDuba joins (~ChubaDuba@176.212.42.92)
18:08:38 ft joins (~ft@p4fc2aa15.dip0.t-ipconnect.de)
18:52:26 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
18:54:18 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
20:12:43 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
20:30:03 alethkit is now known as kitaleth
20:57:53 × ChubaDuba quits (~ChubaDuba@176.212.42.92) (Read error: Connection reset by peer)
21:22:16 × Solitary quits (~Solitary@user/solitary) (Read error: Connection reset by peer)
21:24:58 × wlhn quits (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi) (Remote host closed the connection)
21:25:15 wlhn joins (~wlhn@dl6-5j8gfh1n484fp87pt-3.rev.dnainternet.fi)
21:25:21 Solitary joins (~Solitary@user/solitary)
21:37:58 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
22:17:26 L29Ah joins (~L29Ah@wikipedia/L29Ah)

All times are in UTC on 2024-08-15.